Commit Graph

94 Commits

Author SHA1 Message Date
Kingkor Roy Tirtho
3aca7372af
chore: Release v3.7.0 (#1552)
* chore: fix analyzer issues

* fix(updater): dead link (#1408)

* 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>

* fix(linux): tray icon not showing #541

upgrade old packages

* fix(search): load more button not working #1417

* fix: spotify friends and user profile icon (mobile) showing when not authenticated #1410

* chore: add docker and m1 based linux arm build

* cd: fix sed failing us

* cd: use docker cask

* fix: windows SSL Certificate error breaking login #905 (#1474)

* 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

* cd: fix windows build error due to nightly version format

* cd: fix github versioning scheme

* chore:  remove assets/ca entry in pubspec.yaml

* fix(macos): Logs directory not created by default #1353

* 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

* refactor: move dart scripts as commands under CLI

* chore: add translated message command to command list

* feat(translations): add Basque translation (#1493)

* added Basque translation

* chore: fix country codes and language native name

---------

Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>

* feat(translations): add georgian language (#1450)

* feat: add georgian language

* feat: translate more georgian words

* feat(translations): add Finnish translations (#1449)

* 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>

* feat(translations): add Indonesian translation (#1426)

* 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>

* feat(translations): Improve tr locales (#1419)

* 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>

* feat(player): add volume slider floating label showing percentage (#1445)

* 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>

* fix: fallback to LRCLIB when lyrics line less than 6 lines #1461

* 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>

* fix: local track not showing up in queue

* feat: local library folder cards

* 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

* fix: some text are garbled in different parts of the app #1463 #1505

* refactor: use replace http with dio and use it as the default

* cd: use dio in cli as well

* chore: fix home feed not showing up

* chore: downloaded tracks folder not opening

* feat: play initially available tracks of playlist/album immediately and fetch rest in background #670

* feat: upgrade to Flutter 3.22.0

* refactor: migrate deprecated warnings

* fix(playback): skipping tracks with unplayable sources instead of falling back #1492

* chore: migrate android gradle to declarative config syntax

* chore: disable impeller for now

* fix(windows): installer tries to install in current directory

* chore: upgrade deps and appbar bg fix

* chore: podspec update

* chore: bump version and generate changelogs

---------

Signed-off-by: Blake Leonard <me@blakes.dev>
Co-authored-by: Kshamendra <github@ghoulcloud.slmail.me>
Co-authored-by: MerkomassDev <70111455+MerkomassDev@users.noreply.github.com>
Co-authored-by: Karim <37943746+ksaadDE@users.noreply.github.com>
Co-authored-by: Josu Igoa <josuigoa@ni.eus>
Co-authored-by: Omari Sopromadze <omari.sopromadze@gmail.com>
Co-authored-by: ctih <78687256+ctih1@users.noreply.github.com>
Co-authored-by: Onni Nevala <nevalaonni@gmail.com>
Co-authored-by: Yusril Rapsanjani <yusriltakeuchi@gmail.com>
Co-authored-by: W͏ I͏ N͏ Z͏ O͏ R͏ T͏ <75412448+mikropsoft@users.noreply.github.com>
Co-authored-by: Akash Pattnaik <akashjio66666@gmail.com>
Co-authored-by: Blake Leonard <blake@1024256.xyz>
2024-06-03 13:45:04 +06:00
Kingkor Roy Tirtho
9e25c742d4
feat: add Spotify homepage personalized recommendations (#1402)
* feat: add spotify homepage recommendations

* chore: bring back made for user sectin
2024-04-14 12:10:34 +06:00
Kingkor Roy Tirtho
5afe823abd feat(lyrics): add LRCLIB lyrics provider as fallback 2024-04-05 00:48:08 +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
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
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
79839329b0
feat: add spotify friends activity (#1130)
* 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 :'(
2024-01-23 22:44:00 +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
83c0b49da9 fix: 0:00 media duration in queue after application restart #782 2023-10-29 20:19:03 +06:00
meenbeese
c7432bbd98
feat: improve and unify the logging framework (#738)
* Improve logging framework for better debugging

Signed-off-by: meenbeese <meenbeese@tutanota.com>

* Remove logger statements from /bin dir

---------

Signed-off-by: meenbeese <meenbeese@tutanota.com>
2023-09-30 18:20:45 +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
ae2745fdb7 refactor: fix caching isn't working with spotify 0.12 2023-09-26 20:22:05 +06:00
Kingkor Roy Tirtho
6ced0a0fad fix: always fetching SponsorBlock if no segments found & download failing 2023-08-25 18:05:18 +06:00
Lobo
76f30a0f20
feat(translations): added Portuguese (Brazil) translation (#634)
* chore: update library credits

* chore: increase score when title matchs

* chore: adjust score for both official flag & track name in title

* chore: use scoring for non-english tracks only

* added Portuguese (Brazil) translation

---------

Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
2023-08-23 21:52:34 +06:00
Kingkor Roy Tirtho
904a0d3e15 feat: better track matching on youtube API 2023-08-18 14:06:03 +06:00
Kingkor Roy Tirtho
8521cc5c88 fix: always showing play in playlist/album views 2023-08-15 21:57:26 +06:00
Kingkor Roy Tirtho
c69f81ec6f feat: show error dialog on piped API 500 error 2023-08-15 13:00:38 +06:00
Kingkor Roy Tirtho
dfd60bd4cc fix: cache segments casting error 2023-08-04 13:10:56 +06:00
Kingkor Roy Tirtho
c429e6f48d chore: versioning of Hive boxes 2023-06-30 11:21:02 +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
b041887402 chore: remove predownload option 2023-06-28 16:36:50 +06:00
Kingkor Roy Tirtho
dfea195ec1 feat: search alternative track source 2023-06-28 16:29:23 +06:00
Kingkor Roy Tirtho
17a25a501e feat: add piped search mode 2023-06-28 14:05:01 +06:00
Kingkor Roy Tirtho
bed0d3bd70 feat: piped instance picker on settings 2023-06-04 22:02:14 +06:00
Kingkor Roy Tirtho
14183781dd feat: repeat button all 3 mode and disable player controls when track is fetching 2023-06-04 16:34:37 +06:00
Kingkor Roy Tirtho
ed29ab5137 fix: cached queue tracks expired stream 2023-06-04 12:30:04 +06:00
Kingkor Roy Tirtho
ec11af53a1 feat: enable caching of queue 2023-05-27 23:04:54 +06:00
Kingkor Roy Tirtho
8bcce9282e feat: supabase integration 2023-05-16 12:36:49 +06:00
Kingkor Roy Tirtho
fb780da327 feat: remove SponsorBlock in favor of YT Music and remove pocketbase backend track support 2023-05-16 10:50:17 +06:00
Kingkor Roy Tirtho
3bafa7b80c fix(mkPlayer): remove method and wrong active index on modifying playlist 2023-05-15 11:02:32 +06:00
Kingkor Roy Tirtho
1ecc36da57 feat: replace YouTube API with piped API 2023-05-14 14:26:13 +06:00
Kingkor Roy Tirtho
a90261ed19 feat: merge floating player with nav bar and nav bar translucent bg 2023-03-10 19:19:55 +06:00
Kingkor Roy Tirtho
10d0660972 feat(lyrics): use official spotify API for fetching lyrics and add zoom controls 2023-03-04 22:15:05 +06:00
Kingkor Roy Tirtho
d68d150d3f feat: failsafe pocketbase requests, removal of unneeded preferences options & vertical playbutton actions 2023-02-06 09:45:20 +06:00
Kingkor Roy Tirtho
ac84942917 refactor: audio player and youtube client in separate files 2023-02-05 08:39:02 +06:00
Kingkor Roy Tirtho
9f959ce77c feat(mobile): pull to refresh support in all refreshable list views 2023-02-03 19:41:23 +06:00
Kingkor Roy Tirtho
1d82bb0987 feat: bring pre download on desktop, disable pre download for long videos
fix: audio service calling self ref of playlist queue provider
2023-02-03 13:21:41 +06:00
Kingkor Roy Tirtho
3ccb525260 fix: pre downloading not working properly, audio service circular deps and sibling not loading for backend track 2023-02-02 19:53:35 +06:00
Kingkor Roy Tirtho
312f7fbe77 refactor(playback): new immutable queue based playback manager
Dropping support for search format, track match algorithm in favor of server track cache and alternative track source
2023-02-02 18:43:12 +06:00
Kingkor Roy Tirtho
ad90c11ab0 feat: configure pocketbase, generate dart types, update playback to use server instead of hive cache
This commit currently turns off sponsor block segment for compatibility reasons
2023-02-01 22:05:37 +06:00
Kingkor Roy Tirtho
84d94b05bc feat: use catcher to handle exceptions 2023-02-01 18:26:17 +06:00
Kingkor Roy Tirtho
f79223cd41 feat: individual shuffle and repeat/loop button of player 2023-01-06 12:10:03 +06:00
Kingkor Roy Tirtho
7c25e1cc8a feat: rename files to snake_case and reorganize folder structure 2022-12-08 11:43:31 +06:00
Kingkor Roy Tirtho
69995bea1c fix: horizontal infinite lists doesn't fill the screen 2022-12-07 10:27:46 +06:00
Kingkor Roy Tirtho
1223cf2629 feat: shuffle keep playing track at top, linux title bar drag no working 2022-11-24 13:49:40 +06:00
Kingkor Roy Tirtho
6b6907af3f feat(lyrics): tabs for both synced and static lyrics #182
refactor: remove code-style warnings
2022-10-24 17:59:58 +06:00
Kingkor Roy Tirtho
abf4a5763a fix: cached local track is fetched from network, body is not behind AppBar in desktop 2022-10-12 21:02:50 +06:00
Kingkor Roy Tirtho
3e498a4827 feat: implemented go_route shell/nested route
BRIEF DESCRIPTION:
- Nested Routes like React-Router/Spotify Web/desktop
- Except Login routes everything is nested and wrapped by a Shell
- PlayerOverlay is no more a overlay
A really simple Sidebar now
2022-10-10 20:00:47 +06:00
Kingkor Roy Tirtho
756b91007e feat(auth): new authentication flow using cookies and webview in android 2022-10-03 20:38:36 +06:00