Commit Graph

574 Commits

Author SHA1 Message Date
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
d115e57058 fix: popup menu item opacity 2024-06-09 09:56:29 +06:00
Kingkor Roy Tirtho
7816cb8068 refactor: break down heart button hook into a different file 2024-06-09 09:30:17 +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
b224af21ea refactor: left out modules 2024-06-07 22:34:03 +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
f81219e83e chore: introduce breakpoint enum for constrains 2024-06-07 22:00:16 +06:00
Kingkor Roy Tirtho
5f280a19f4 fix(desktop): titlebar drag to move not working 2024-06-06 13:41:02 +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
f6ba95fb64 chore: upgrade deps and appbar bg fix 2024-06-03 13:13:05 +06:00
Kingkor Roy Tirtho
56241f773a refactor: migrate deprecated warnings 2024-06-02 21:15:11 +06:00
Kingkor Roy Tirtho
02acbd9327 feat: play initially available tracks of playlist/album immediately and fetch rest in background #670 2024-06-01 15:45:06 +06:00
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
Akash Pattnaik
8fad2251b3
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>
2024-05-10 23:16:10 +06:00
Omari Sopromadze
1e7f0e1fe7
feat(translations): add georgian language (#1450)
* feat: add georgian language

* feat: translate more georgian words
2024-05-10 22:37:22 +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
937a706ac9
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
2024-05-04 20:10:19 +06:00
Kingkor Roy Tirtho
9bccbc93c6 fix: spotify friends and user profile icon (mobile) showing when not authenticated #1410 2024-04-18 00:19:47 +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
930539ca48 chore: fix analyzer issues 2024-04-15 19:47:15 +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
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
2d1f4b9380 chore: fix song link button not showing up 2024-04-13 13:12:20 +06:00
Kingkor Roy Tirtho
39e97eef34 feat: add user profile page 2024-04-13 13:05:41 +06:00
Kingkor Roy Tirtho
f82253c6ba refactor: show devices in sidebar in big screens 2024-04-13 10:22: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
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
044d3b4820 refactor: use CustomScrollView in player queue 2024-03-28 22:49:40 +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
Kingkor Roy Tirtho
b354f57d4e chore: hide songlink when not youtube track 2024-03-08 19:12:40 +06:00
Kingkor Roy Tirtho
ca76a39910 fix: album images are small in certain places 2024-03-08 19:10:33 +06:00
Kingkor Roy Tirtho
b0970090b1 chore: add song link text in player view shortcut 2024-03-01 19:16:52 +06:00
Kingkor Roy Tirtho
96a2a1f5a6 feat: add getting started page 2024-02-25 22:01:38 +06:00
Kingkor Roy Tirtho
9095a8c8f8 feat: add songlink based track matching for youtube and open song link button
songlink.com will provide accurate match verified by community for most spotify tracks improving overall match accuracy for Youtube audio source
2024-02-25 11:13:23 +06:00
Kingkor Roy Tirtho
6f71e52ea8 fix: no draggable scrollbar in playlist/album page #1158 2024-02-24 22:53:30 +06:00