Commit Graph

115 Commits

Author SHA1 Message Date
Kingkor Roy Tirtho
5ad151932a feat: initial integration of shadcn-ui 2024-12-21 09:22:30 +06:00
Kingkor Roy Tirtho
8ca2115ef0
feat: track caching and cached track export support (#2117)
* feat: add caching support with track metadata

* feat(settings): add cache music toggle

* fix(mobile): cache dir not open-able

* feat(local folder): add cache export/clear actions and size of the folder

* chore: ios deps upgrades

* chore: upgrade lint flutter version

* chore: lint secrets causing error

* cd: invalid value for env var
2024-12-08 20:03:01 +06:00
Kingkor Roy Tirtho
9f2d423cfe
feat: add invidious audio source and fix auto skipping tracks (#2005)
* feat: add invidious audio source with automatic track switch even on server playback endpoint

* fix: switching to different source on playback endpoint error not working

* chore: update invidious version

* feat: invidious instances customizability
2024-10-17 22:33:03 +06:00
Kingkor Roy Tirtho
f553e43b17 chore: hide donations link for playstore version to adhere with Google Play's iae policy
This commit keeps food on one google PM's table by not stealing their 30% pay cut
2024-10-09 16:37:41 +06:00
Kingkor Roy Tirtho
c1f2ddcdbe chore: remove donation links from about page to avoid Google's imaginary "pay cut" policy strike 2024-09-30 20:51:28 +06:00
Kingkor Roy Tirtho
9a0421ce38 fix: getting started page login page exception #1800 2024-08-18 11:06:51 +06:00
Kingkor Roy Tirtho
470addca83 fix: local tracks takes time to load 2024-08-15 22:45:22 +06:00
Kingkor Roy Tirtho
9b7a7ef1cf chore: update translations and refactor to flutter 3.22 ThemeData 2024-08-10 22:54:25 +06:00
Josu Igoa
7408a87860
feat(translations): make state page's hard coded strings translatable (#1719) 2024-08-10 22:06:15 +06:00
Kingkor Roy Tirtho
6456b43d10 refactor: logs page show full log 2024-08-10 20:53:17 +06:00
Kingkor Roy Tirtho
6a500731d6
feat: discord rpc for macOS, windows-arm64 and linux-arm64 (#1713)
* feat: add discord rpc support for macos, windows arm64 and linux arm64

* chore: discord rpc not clearing activity after close/setting rpc to false

* chore: add migration script to move from files from macos sandbox to non-sandbox directories
2024-07-14 18:58:47 +06:00
Kingkor Roy Tirtho
86ee64c606 chore: remove old logger 2024-07-06 22:02:31 +06:00
Kingkor Roy Tirtho
2f46fa32f1 chore: fix webview and app window freezing after successful login 2024-07-06 18:31:17 +06:00
Kingkor Roy Tirtho
7dd76d24c3 chore: fix windows cookie invalid characters 2024-07-05 14:54:49 +06:00
Kingkor Roy Tirtho
f2f35bd2fb chore: fix windows webview2 trying to store data in admin folders 2024-07-05 13:32:07 +06:00
Kingkor Roy Tirtho
15bd58a955 feat(desktop): implement webview based login 2024-07-05 11:21:32 +06:00
Kingkor Roy Tirtho
b9b7d5c8aa refactor: lastfm scrobbling to drift db 2024-06-17 18:08:57 +06:00
Kingkor Roy Tirtho
d18f74fd65 refactor: use drift db based authentication 2024-06-16 22:33:23 +06:00
Kingkor Roy Tirtho
bf6cec8d69 refactor(blacklist): use drift sql db instead of hive 2024-06-14 22:23:12 +06:00
Kingkor Roy Tirtho
3fb003ea60 refactor(preferences): use Drift sql db for preferences 2024-06-14 00:29:09 +06:00
Kingkor Roy Tirtho
8cb6c6d126 refactor: breakdown page window titlebar widget into multiple small widgets 2024-06-09 09:19:41 +06:00
Kingkor Roy Tirtho
4af23241c8 refactor: move shared components to 1 level up 2024-06-07 22:40:44 +06:00
Kingkor Roy Tirtho
1cfeef54e7 refactor: move route related components to modules folder 2024-06-07 22:19:45 +06:00
Kingkor Roy Tirtho
57cd8607dd Revert "refactor: migrate deprecated warnings"
chore: undo flutter 3.22.x related deprecated theme migrations
2024-06-06 08:19:07 +06:00
Kingkor Roy Tirtho
56241f773a refactor: migrate deprecated warnings 2024-06-02 21:15:11 +06:00
Kingkor Roy Tirtho
82307bc030
feat: personalized stats based on local music history (#1522)
* feat: add playback history provider

* feat: implement recently played section

* refactor: use route names

* feat: add stats summary and top tracks/artists/albums

* feat: add top date based filtering

* feat: add stream money calculation

* refactor: place search in mobile navbar and settings in home appbar

* feat: add individual minutes and streams page

* feat(stats): add individual minutes and streams page

* chore: default period to 1 month

* feat: add text to explain user how hypothetical fees are calculated

* chore: ensure usage of route names instead of direct paths

* cd: add cache key

* cd: remove media_kit_event_loop from git
2024-06-01 11:40:01 +06:00
Blake Leonard
22caa818f4
feat: Local music library (#1479)
* feat: add one additional library folder

This folder just doesn't get downloaded to.
I think I'm going to rework it so that it can be multiple folders,
but I'm going to commit my progress so far anyway.

Signed-off-by: Blake Leonard <me@blakes.dev>

* chore: update dependencies so that it builds

I'm not sure if this breaks CI or something, but I couldn't build
it locally to test my changes, so I made these changes and it
builds again.

Signed-off-by: Blake Leonard <me@blakes.dev>

* feat: index multiple folders of local music

If you used a previous commit from this branch, this is a breaking
change, because it changes the type of a configuration field. but
since this is still in development, it should be fine.

Signed-off-by: Blake Leonard <me@blakes.dev>

* refactor: manage local library in local tracks tab

This also refactors the list to use slivers instead. That's the
easiest way to have multiple scrolling lists here...

The console keeps getting spammed with some intermediate layout
error but I can't hold it long enough to figure out what's causing
it.

Signed-off-by: Blake Leonard <me@blakes.dev>

* refactor: use folder add/remove icons in library

Signed-off-by: Blake Leonard <me@blakes.dev>

* refactor: remove redundant settings page

Signed-off-by: Blake Leonard <me@blakes.dev>

* refactor: rename "Local Tracks" to just "Local"

Not sure if this would be the recommended way to do it...

Signed-off-by: Blake Leonard <me@blakes.dev>

* fix: console spam about useless Expanded

Signed-off-by: Blake Leonard <me@blakes.dev>

* chore: remove completed TODO

Signed-off-by: Blake Leonard <me@blakes.dev>

* chore: use new Platform constants; regenerate plugins

Signed-off-by: Blake Leonard <me@blakes.dev>

* refactor: put local libraries on separate pages

Signed-off-by: Blake Leonard <me@blakes.dev>

---------

Signed-off-by: Blake Leonard <me@blakes.dev>
2024-05-23 15:18:01 +06:00
Kingkor Roy Tirtho
a77b6776e8
refactor: Dart based Github Workflow CLI (#1490)
* feat: add build dart script for windows

* feat: add android build support

* feat: add linux build support

* feat: add macos build support

* feat: add ios build support

* feat: add deps install command and workflow file

* cd: what?

* cd: what?

* cd: what?

* cd: update workflow inputs

* cd: replace release binary

* cd: run flutter pub get

* cd: use dpkg zstd instead of xz, windows disable innoInstall, fix channel enum.name and reset pubspec after changing build no for nightly

* cd: fix tar copy path

* cd: fix copy linux command

* cd: fix windows inno depend and fix android aab path

* cd: idk

* cd: linux why???

* cd: windows choco copy failed

* cd: use dart tar archive for creating tar file

* cd: fix linux file copy error

* cd: use tar command directly

* feat: add linux_arm platform

* cd: add linux_arm platform

* cd: don't know what?

* feat: notification about nightly channel update

* chore: fix some errors parsing nightly version info
2024-05-09 15:26:58 +06:00
Kingkor Roy Tirtho
7ac791757a fix(linux): tray icon not showing #541
upgrade old packages
2024-04-17 22:20:30 +06:00
Kingkor Roy Tirtho
57ccf16311 refactor: rename providers 2024-04-12 11:06:03 +06:00
Kingkor Roy Tirtho
de68fe3a6b chore: make dropdown buttons more attractive 2024-04-09 01:15:39 +06:00
Kingkor Roy Tirtho
68374efd3e
feat: LAN connect a.k.a control remote Spotube playback and local output device selection (#1355)
* feat: add connect server support

* feat: add ability discover and connect to same network Spotube(s) and sync queue

* feat(connect): add player controls, shuffle, loop, progress bar and queue support

* feat: make control page adaptive

* feat: add volume control support

* cd: upgrade macos runner version

* chore: upgrade inappwebview version to 6

* feat: customized devices button

* feat: add user icon next to devices button

* feat: add play in remote device support

* feat: show alert when new client connects

* fix: ignore the device itself from broadcast list

* fix: volume control not working

* feat: add ability to select current device's output speaker
2024-04-04 22:22:00 +06:00
Kingkor Roy Tirtho
6673e5a8a8
feat: improved caching based on riverpod (#1343)
* feat: add riverpod based favorite album provider

* feat: add album is saved, new releases and tracks providers

* feat: add artist related providers

* feat: add all categories providers

* feat: add lyrics provider

* feat: add playlist related providers

* feat: add search provider

* feat: add view and spotify friends provider

* feat: add playlist create and update and favorite handlers

* feat: use providers in home screen

* chore: fix dart lint issues

* feat: use new providers for playlist and albums screen

* feat: use providers in artist page

* feat: use providers on library page

* feat: use provider for playlist and album card and heart button

* feat: use provider in search page

* feat: use providers in generate playlist

* feat: use provider in lyrics screen

* feat: use provider for create playlist

* feat: use provider in add track dialog

* feat: use providers in remaining pages and remove fl_query

* fix: remove direct access to provider.value

* fix: glitching when loading

* fix: user album loading next page indicator

* feat: make many provider autoDispose after 5 minutes of no usage

* fix: ignore episodes in tracks
2024-03-20 23:38:39 +06:00
Kingkor Roy Tirtho
0ae6af61c9 chore: untranslated messages 2024-02-25 23:06:40 +06:00
Kingkor Roy Tirtho
96a2a1f5a6 feat: add getting started page 2024-02-25 22:01:38 +06:00
Kingkor Roy Tirtho
9dfd49ca04 feat: add endless playback support #285 2024-01-31 18:00:54 +06:00
Kingkor Roy Tirtho
9d74cf5fc2 fix(macos): download folder unchangeable 2024-01-24 11:45:26 +06:00
Kingkor Roy Tirtho
24a2294512 feat: toggle for discord rpc 2023-12-08 13:27:31 +06:00
Kingkor Roy Tirtho
2a87a0fe28 chore: change API Type to Audio Source 2023-12-02 22:17:53 +06:00
Kingkor Roy Tirtho
ee8229020b fix: settings page scrollbar position 2023-11-27 19:39:53 +06:00
Kingkor Roy Tirtho
14069cd4fe
feat: Add JioSaavn as audio source (#881)
* feat: implement new SourcedTrack for youtube and piped

* refactor: replace old spotube track with sourced track

* feat: add jiosaavn as audio source

* fix: download not working other than jiosaavn

* Merge branch 'dev' into feat-jiosaavn
2023-11-15 18:34:46 +06:00
Kingkor Roy Tirtho
57c03ad045 refactor: use json serializer for preferences 2023-11-14 22:48:02 +06:00
Kingkor Roy Tirtho
dc980b024e fix(genres): lag while scrolling 2023-11-14 20:58:16 +06:00
Kingkor Roy Tirtho
0e07506716 refactor: organize hooks 2023-11-14 19:46:54 +06:00
Kingkor Roy Tirtho
2e2c44f0af feat(android): better quick scroll/drag to scroll implementation 2023-11-13 23:17:16 +06:00
Kingkor Roy Tirtho
e29a38dfa4 fix: changed settings are not persisting after force stop #821 2023-11-13 20:59:54 +06:00
Kingkor Roy Tirtho
ac0e2e74d8 refactor: extract settings section to separate files 2023-11-08 11:43:17 +06:00
Kingkor Roy Tirtho
d056dbf9ee fix: android invalid download location Download not starting or not explaining error #720 2023-10-29 19:02:39 +06:00
Kingkor Roy Tirtho
edb8928d53 chore: remove unused save lyrics toggle 2023-10-15 10:56:09 +06:00
Kingkor Roy Tirtho
34b80a36b4 chore: fix normalize audio unneeded subtitle 2023-10-15 10:38:09 +06:00