Commit Graph

89 Commits

Author SHA1 Message Date
Kingkor Roy Tirtho
c4023aa09d chore: downloaded tracks folder not opening 2024-06-01 13:05:16 +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
Kingkor Roy Tirtho
fc5bfa089c feat: local library folder cards 2024-05-23 21:27:09 +06:00
Kingkor Roy Tirtho
d82261cb25 fix: local track not showing up in queue 2024-05-23 16:56:52 +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
6f4c308457 chore: fix shuffle doesn't move active track to top and library gridview with floating filter field 2024-04-15 19:11:59 +06:00
Kingkor Roy Tirtho
57ccf16311 refactor: rename providers 2024-04-12 11:06:03 +06:00
Kingkor Roy Tirtho
22a49e56a2
refactor: use tcp server based track matcher (#1386)
* refactor: remove SourcedTrack based audio player and utilize mediakit playback system

* feat: implement local (loopback) server to resolve stream source and leverage the media_kit playback API

* feat: add source change support and re-add prefetching tracks

* fix: assign lastId when track fetch completes regardless of error

* chore: remove print statements

* fix: remote queue not working

* fix: increase mpv network timeout to reduce auto-skipping

* fix: do not pre-fetch local tracks

* fix(proxy-playlist): reset collections on load

* chore: fix lint warnings

* fix(mobile): player overlay should not be visible when the player is not playing

* chore: fix typo in turkish translation

* cd: checkout PR branch

* cd: upgrade flutter version

* chore: fix lint errors
2024-04-11 17:56:41 +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
ee97aedcfc chore: remove direct access to .value without calling asData.value 2024-03-23 20:37:52 +06:00
Kingkor Roy Tirtho
9f96b5c537 refactor: use extension methods for simple album to album and simple track to track conversion 2024-03-21 00:48:21 +06:00
Kingkor Roy Tirtho
1a6cea926f refactor: use widget for artist link instead of a utility function 2024-03-21 00:38:10 +06:00
Kingkor Roy Tirtho
1cea95bbda refactor: artist name string as extension 2024-03-21 00:30:27 +06:00
Kingkor Roy Tirtho
7545ff6415 refactor: use extension method for image to url string 2024-03-21 00:18:43 +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
Kuyumee
6f8271f5e9
feat: Sort by Duration (#1238) 2024-02-18 23:35:42 +06:00
Kingkor Roy Tirtho
a76ee0acf2 chore: new liked tracks image 2024-01-08 22:57:03 +06:00
Kingkor Roy Tirtho
c592cff1ee chore: fix padding issues 2023-12-08 18:41:57 +06:00
Kingkor Roy Tirtho
581b241f99 chore: add not found for empty lists 2023-12-08 13:58:12 +06:00
Kingkor Roy Tirtho
b92583d0df feat: improve loading animations 2023-12-04 22:20:47 +06:00
Kingkor Roy Tirtho
2a69886556 feat(artist): modularize page and add wikipedia section 2023-11-22 20:23:12 +06:00
Kingkor Roy Tirtho
28a5d6bb38 feat: paginated playlist and album page 2023-11-17 13:14:25 +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
2e2c44f0af feat(android): better quick scroll/drag to scroll implementation 2023-11-13 23:17:16 +06:00
Kingkor Roy Tirtho
487c2ed6bd fix: user_playlists layout, track tile index, 2023-11-08 14:41:15 +06:00
Kingkor Roy Tirtho
58e569864d fix: last track of queue keeps repeating #718 2023-10-29 19:51:53 +06:00
Kingkor Roy Tirtho
593bc2de90 chore: connectivity adapter use http as well 2023-10-15 11:11:20 +06:00
Kingkor Roy Tirtho
1f15b6720f chore: update fl_query & add support 2023-10-07 12:15:28 +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
931664e6b6 refactor: migrate to catcher to catcher_2 2023-09-30 18:33:04 +06:00
Kingkor Roy Tirtho
d12ea48b97 feat: show loading indicator on play track 2023-09-11 11:05:42 +06:00
Kingkor Roy Tirtho
d239d641ff feat: paginated user albums 2023-08-25 18:54:54 +06:00
Kingkor Roy Tirtho
e3f4344ae9 fix(android): android 13 local tracks not showing up 2023-08-08 10:39:15 +06:00
Kingkor Roy Tirtho
e7c6813ccb feat: paginated user playlists 2023-08-07 17:34:56 +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
e4cbdd3747 fix: remove adaptive widgets (#520) 2023-07-11 22:13:22 +06:00
Kingkor Roy Tirtho
b4713e377a feat: sort tracks by newest and oldest dates 2023-06-18 15:28:44 +06:00
Kingkor Roy Tirtho
20274b1c65 refactor: expandable filter field on genre and user local tracks page 2023-06-18 12:49:38 +06:00
Kingkor Roy Tirtho
dce1b88694 feat(playlist,album page): play and shuffle take full width on smaller screens, add new xs breakpoint 2023-06-18 12:07:26 +06:00
Kingkor Roy Tirtho
1266a3f160 fix: failed download no error icon 2023-06-17 10:30:36 +06:00
Kingkor Roy Tirtho
73c012c71a fix: local tracks getting fetched on first load 2023-06-17 10:17:54 +06:00
Kingkor Roy Tirtho
ea45c4f42a fix: re-enable download manager 2023-06-17 09:32:37 +06:00
Kingkor Roy Tirtho
2b35c044ad fix: playlist generate slider shape 2023-06-15 13:00:49 +06:00
Kingkor Roy Tirtho
c8b7de0879 feat: adaptive controllers 2023-06-12 09:22:31 +06:00
Kingkor Roy Tirtho
617aa89409 feat: improved track item API and UI 2023-06-11 22:27:16 +06:00
Kingkor Roy Tirtho
91c72f9ec9 feat: playlist create support for generated playlist 2023-06-10 23:12:02 +06:00
Kingkor Roy Tirtho
51e427e83c refactor: use new search for filter text field 2023-06-10 22:39:12 +06:00
Kingkor Roy Tirtho
8be67d02c4 chore: remove reference to background_downloader 2023-06-10 15:33:14 +06:00
Kingkor Roy Tirtho
7d23beec5e fix: disable background_downloader due to android build failures 2023-06-10 15:31:48 +06:00