* 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
* 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>
* docs: broken link in README.md (fixes#1310) (#1311)
* docs: remove appimage link in readme #1082 (#1171)
* Updating Readme according to #1082
Updating Readme according to #1082
* Added explanation
The explanation is now given and the expression is more formal and explanatory, instead of just linking the issue.
* add volume level tooltip in volume_slider
---------
Co-authored-by: MerkomassDev <70111455+MerkomassDev@users.noreply.github.com>
Co-authored-by: Karim <37943746+ksaadDE@users.noreply.github.com>
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
* docs: broken link in README.md (fixes#1310) (#1311)
* docs: remove appimage link in readme #1082 (#1171)
* Updating Readme according to #1082
Updating Readme according to #1082
* Added explanation
The explanation is now given and the expression is more formal and explanatory, instead of just linking the issue.
* Improve tr locales
---------
Co-authored-by: MerkomassDev <70111455+MerkomassDev@users.noreply.github.com>
Co-authored-by: Karim <37943746+ksaadDE@users.noreply.github.com>
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
* docs: broken link in README.md (fixes#1310) (#1311)
* docs: remove appimage link in readme #1082 (#1171)
* Updating Readme according to #1082
Updating Readme according to #1082
* Added explanation
The explanation is now given and the expression is more formal and explanatory, instead of just linking the issue.
* Add Indonesia translation
---------
Co-authored-by: MerkomassDev <70111455+MerkomassDev@users.noreply.github.com>
Co-authored-by: Karim <37943746+ksaadDE@users.noreply.github.com>
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
* docs: broken link in README.md (fixes#1310) (#1311)
* docs: remove appimage link in readme #1082 (#1171)
* Updating Readme according to #1082
Updating Readme according to #1082
* Added explanation
The explanation is now given and the expression is more formal and explanatory, instead of just linking the issue.
* added finnish translation
* chore: fix arb syntax errors and language in l10n entries
---------
Co-authored-by: MerkomassDev <70111455+MerkomassDev@users.noreply.github.com>
Co-authored-by: Karim <37943746+ksaadDE@users.noreply.github.com>
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
Co-authored-by: Onni Nevala <nevalaonni@gmail.com>
* fix: certificate error by using custom ssl certificate
* Cd/docker linux ar (#1468)
* cd: use docker buildx
* cd: use linux host for linux arm instead of macos m1
m1 doesn't support nested virtualization. (Apple truly sucks)
* cd: don't specify arch in Dockerfile
* cd: use custom Dockerfile from ubuntu instead of flutter image
* cd: add setup java for android
* cd: add flutter distributor pre-built docker image for arm
* cd: save me from this cursed arm build
* cd: ??
* cd: ??
* cd: use docker build
* fix: windows SSL Exception for Signing in
* refactor: extract update checker as a basic function instead of a hook
* docs: broken link in README.md (fixes#1310) (#1311)
* docs: remove appimage link in readme #1082 (#1171)
* Updating Readme according to #1082
Updating Readme according to #1082
* Added explanation
The explanation is now given and the expression is more formal and explanatory, instead of just linking the issue.
* Update use_update_checker.dart
---------
Co-authored-by: MerkomassDev <70111455+MerkomassDev@users.noreply.github.com>
Co-authored-by: Karim <37943746+ksaadDE@users.noreply.github.com>
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
* 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
* 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
* 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
* this change fixes the garbled audio on my Pixel 6a while the screen is off. Not familiar with libmpv, but seems to favor audiotrack audio output over opensles. KRTirtho/spotube#571
* get audio session id, send it to AudioTrack in libmpv, broadcast it to other apps. FixesKRTirtho/spotube#1221
---------
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
* actions: Add Up for grab checkbox to issue templates. (#1074)
* docs: update copyright year in README.md (#1100)
year changed from 2023 to 2024
* feat(translations): add Nepali (नेपाली) translations
---------
Co-authored-by: Taha Ghadirian <taha@smilecode.ir>
Co-authored-by: Muhammad Jawad <70428284+m-Jawa-d@users.noreply.github.com>
* feat: add spotify friend endpoint
* feat: add friend activity in home screen
* fix: when no friends, dummy UI still shows giving the user a false hope of friendship :'(
* Fix song not playing when m4a or weba is not available (one is available but not the other) for that song
* Update lib/services/sourced_track/sources/youtube.dart
---------
Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
* Update language_codes.dart
Added Dutch
* Added Dutch language
* Added Dutch
my contribution credentials included
* Added Dutch Language
* fixed a mistake
"Vlaams" is a very specific term to describe the Belgian Dutch dialect. "Nederland" is the correct way.
* fixed a mistake
"Nederlands" actually, got mixed up a bit
* Italian language added
Created and added the Italian language
* Corrections and new textes
Corrected the wrong TAB in i10n.dart and added translations of new text items
* Fix
it const name was lowercase
* Merged suggestions from PR #676, added credits
Added suggestions as in comments of PR #676 and added credits to @ncvescera and @OpenCode
* 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