Commit Graph

92 Commits

Author SHA1 Message Date
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
Kingkor Roy Tirtho
8ca1aa38a2 chore: include interscrollbar in left out pages 2023-10-01 13:24:36 +06:00
Kingkor Roy Tirtho
a3250882df chore: fix width of scrollbar & non-interactive scrollbar in android 2023-10-01 13:19:34 +06:00
Kingkor Roy Tirtho
b1d79428a3 chore: fix translations & normalize audio icon 2023-09-30 18:46:32 +06:00
Kingkor Roy Tirtho
f5bd90731d
feat: LastFM scrobbling support (#761)
* feat: add login with lastfm support

* feat: add lastfm scrobbling support

* fix: scrobblenaut local path
2023-09-29 18:45:00 +06:00
Kingkor Roy Tirtho
e54762be6a
feat: customizable stream/download file formats (#757)
* feat: add codec configuration in settings

* fix: show no value for codec configuration in smaller screen

* feat: implement configurable codec for download & streaming music
2023-09-28 17:02:41 +06:00
Kingkor Roy Tirtho
94c386638f feat: add restore default settings button 2023-09-27 13:34:19 +06:00
Kingkor Roy Tirtho
d3b7a435f9 chore: remove openFile call 2023-09-26 22:35:25 +06:00
Kingkor Roy Tirtho
b3cf639ee2 fix(android ): file_selector getDirectoryPath returns unusable content urls #720 2023-09-26 22:34:21 +06:00
Kingkor Roy Tirtho
ae2745fdb7 refactor: fix caching isn't working with spotify 0.12 2023-09-26 20:22:05 +06:00
Kingkor Roy Tirtho
afbb8ba5a7 refactor: make compatible with spotify lib 0.12 2023-09-26 19:49:59 +06:00
Kingkor Roy Tirtho
c325911c0d feat: configurable audio normalization switch 2023-09-17 00:39:00 +06:00
Kingkor Roy Tirtho
5c5dbf69ec feat: add Amoled theme #724 2023-09-16 12:35:46 +06:00
Kingkor Roy Tirtho
ab0fe5bdfa
Playlist info editing (#708)
* feat: playlist metadata edit support

* refactor: replace file_picker with file_selector
2023-09-10 16:39:21 +06:00
Kingkor Roy Tirtho
179d536ccc fix: lyrics page text contrast 2023-08-26 15:28:58 +06:00
Kingkor Roy Tirtho
8d4602962b feat: ability to toggle system title bar & custom title bar (#185) 2023-08-26 13:52:59 +06:00
Kingkor Roy Tirtho
38dc4beb44
feat: blazingly™ fast download manager (#619)
* feat: concurrent download service & download prorvider

* feat: implement chunked downloader

* fix: no audio-tags in Linux and duration not showing up for local tracks

* feat: show matching tracks in queue as well

* feat: always uses piped api for download to avoid IP block

* fix: invalid downloadCount
2023-08-07 16:49:11 +06:00
Kingkor Roy Tirtho
cf7b849cdd feat: web compatibility 2023-08-05 10:49:53 +06:00
Kingkor Roy Tirtho
b492840512 fix: login dialog stays after login, mention sp_gaid in tutorial 2023-08-04 21:25:01 +06:00
Kingkor Roy Tirtho
5a563ef428 fix: flags not showing up, html in descriptions 2023-08-04 13:47:26 +06:00
Kingkor Roy Tirtho
929261b6f8
V3 playstore patch (#567)
* chore: add playstore appbundle build step without update checker

* chore: only include playstore upload binary for now

* chore: update build number to patch 1

* chore: rollback

* chore: rollback upload artifact
2023-07-11 09:58:09 +06:00
Kingkor Roy Tirtho
b54ee96233 feat: re-introduce youtube API along with piped 2023-06-30 10:52:44 +06:00
Kingkor Roy Tirtho
699b236ce5 chore: fix dep problem and code style 2023-06-28 17:55:17 +06:00
Kingkor Roy Tirtho
b041887402 chore: remove predownload option 2023-06-28 16:36:50 +06:00