Commit Graph

261 Commits

Author SHA1 Message Date
Kingkor Roy Tirtho
a2ba46ea45 fix(android): app getting killed from background 2024-07-14 21:24:44 +06:00
arenekosreal
e6fee03c20
feat(linux): Use XDG_STATE_HOME to storage logs (#1675)
* feat(linux): Use XDG_STATE_HOME to storage logs

* fix: Clean LSP suggestions.

* fix: Use Platform.environment instead String.fromEnvironment

The latter seems return an empty string.
See: https://github.com/flutter/flutter/issues/55870#issuecomment-936612420
2024-07-14 19:38:28 +06:00
Kingkor Roy Tirtho
6a500731d6
feat: discord rpc for macOS, windows-arm64 and linux-arm64 (#1713)
* feat: add discord rpc support for macos, windows arm64 and linux arm64

* chore: discord rpc not clearing activity after close/setting rpc to false

* chore: add migration script to move from files from macos sandbox to non-sandbox directories
2024-07-14 18:58:47 +06:00
Kingkor Roy Tirtho
a6e13ffc08 fix(linux): OS Media control not working for Flatpak #1627 2024-07-10 00:23:22 +06:00
Kingkor Roy Tirtho
86ee64c606 chore: remove old logger 2024-07-06 22:02:31 +06:00
Kingkor Roy Tirtho
ccea4a003d fix: changed source doesn't get saved and uses the wrong once again 2024-07-06 21:35:56 +06:00
Kingkor Roy Tirtho
359b918e6b chore: fix windows playback not working for loop back ipv4 2024-07-05 15:32:18 +06:00
Kingkor Roy Tirtho
ffb3a3377f chore: add migration script to migrate hive to drift 2024-06-30 15:44:24 +06:00
Kingkor Roy Tirtho
6c5cab9899 chore: fix use SpotubeMedia to avoid duplicate sourceTrackProvider instances 2024-06-25 20:36:23 +06:00
Kingkor Roy Tirtho
1b420e661b chore: player skipping all tracks from cache 2024-06-24 22:26:44 +06:00
Kingkor Roy Tirtho
a83dd64476 refactor: replace all instances of proxy playlist 2024-06-24 20:52:40 +06:00
Kingkor Roy Tirtho
f79fedefd4 chore: create new audio player centric playback notifier with drift persistence 2024-06-23 12:23:28 +06:00
Kingkor Roy Tirtho
5936f08a92 refactor(volumeProvider): use notifier and kvstore for persistence 2024-06-17 18:13:41 +06:00
Kingkor Roy Tirtho
d18f74fd65 refactor: use drift db based authentication 2024-06-16 22:33:23 +06:00
Kingkor Roy Tirtho
a799ca55bc chore: add encrypted text column support 2024-06-16 20:58:54 +06:00
Kingkor Roy Tirtho
52d4f60ccc refactor: use drift for skip segments and source matches 2024-06-14 21:24:42 +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
064d92d35d refactor: merge connect and playback server into one server 2024-06-12 20:46:49 +06:00
Kingkor Roy Tirtho
4f2175987d refactor: remove uncessary methods 2024-06-11 23:02:23 +06:00
Kingkor Roy Tirtho
2822d5dbfd chore: fix widget binding errors 2024-06-09 23:05:19 +06:00
Kingkor Roy Tirtho
de61d90938 refactor: add back exceptions to file support 2024-06-09 22:58:14 +06:00
Kingkor Roy Tirtho
f9087b63d5 refactor: remove catcher_2 and use custom zoned based error handling 2024-06-09 22:52:34 +06:00
Kingkor Roy Tirtho
73bd207ce2 fix(linux): change app id in flatpak environment 2024-06-06 18:54:18 +06:00
Kingkor Roy Tirtho
47f98b98aa fix(desktop): window is not centered 2024-06-06 13:48:52 +06:00
Kingkor Roy Tirtho
6591ec0e1b fix(ios): download not working #1575 2024-06-06 13:08:50 +06:00
Kingkor Roy Tirtho
6cb29868d2 fix: use weak match for Jiosaavn fallback to improve matching 2024-06-06 09:07:07 +06:00
Kingkor Roy Tirtho
37d002d133 fix: alternative sources not showing up for SongLink matched results 2024-06-06 08:47:07 +06:00
Kingkor Roy Tirtho
c607a330ed fix(playback): skipping tracks with unplayable sources instead of falling back #1492 2024-06-02 22:34:06 +06:00
Kingkor Roy Tirtho
e034455173 chore: fix home feed not showing up 2024-06-01 12:47:36 +06:00
Kingkor Roy Tirtho
b2d9e64758 refactor: use replace http with dio and use it as the default 2024-06-01 12:31:20 +06:00
Kingkor Roy Tirtho
d2683c52d8 fix: some text are garbled in different parts of the app #1463 #1505 2024-06-01 11:43:21 +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
d82261cb25 fix: local track not showing up in queue 2024-05-23 16:56:52 +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
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
39e97eef34 feat: add user profile page 2024-04-13 13:05:41 +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
0d080b77b7 fix(playback): sponsor block skips and stutters in same position 2024-04-07 13:05:54 +06:00
Kingkor Roy Tirtho
c8dd8025ec fix: instance of Artist bug #1362 2024-04-04 22:33:01 +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
82b1cfa0d7 feat: search history support #1236 2024-03-23 20:19:34 +06:00
Kingkor Roy Tirtho
e99f32b610 chore: set yt as jiosaavn fallback 2024-03-23 19:00:37 +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
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
e516afb185 fix(android): only ask battery optimization once #1252 2024-03-09 00:00:36 +06:00
Kingkor Roy Tirtho
a248a4b48c chore: fix getting started showing up everytime 2024-03-08 23:07:55 +06:00
Kingkor Roy Tirtho
5019c14c44 chore: fix getting started screen theme and bump version and generate changelogs 2024-03-08 19:50:57 +06:00
Kingkor Roy Tirtho
a9a1d4c9dc fix: album, artist page not loading #1282 2024-03-01 18:55:33 +06:00
olivier2
17105a640b
fix(android): audio issue when screen is off and broadcast audio session id (#1221 & #1247)
* 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. Fixes KRTirtho/spotube#1221

---------

Co-authored-by: Kingkor Roy Tirtho <krtirtho@gmail.com>
2024-02-25 22:26:06 +06:00
Kingkor Roy Tirtho
a850ed270b chore: add error handling in song link 2024-02-25 22:06:47 +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
e964f61d38 fix: track loading when not found in Youtube 2024-02-17 22:22:00 +06:00
Kingkor Roy Tirtho
badd52223a chore: use piped_client git version to fix search issue 2024-02-17 22:07:32 +06:00
Kingkor Roy Tirtho
90f7c531cd fix: non-banger songs breaking the queue if sources not found
Now fallbacks to another audio source if not found in one
2024-02-17 21:33:09 +06:00
Kingkor Roy Tirtho
4defeefe7e feat: start radio support 2024-01-31 16:33:50 +06:00
Kingkor Roy Tirtho
2168a640af feat: add create playlist button in add playlist dialog 2024-01-27 21:59:10 +06:00
Kingkor Roy Tirtho
8184555ee8 feat: improve youtube/piped matching by suffixing "- Topic" 2024-01-27 21:48:38 +06:00
Kingkor Roy Tirtho
62fde50442 fix: alternative source doesn't persist on next restart #840 2024-01-27 20:59:50 +06:00
Kingkor Roy Tirtho
fd1899f162 fix: audio resumes after a phone call even if it was paused before #926 2024-01-24 10:47:02 +06:00
Kingkor Roy Tirtho
e58e18de33 fix: better error message for failing to find lyrics #1085 2024-01-23 23:13:38 +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
a8e9b824f3 fix: alternative searched sources doesn't play #1059 2024-01-22 19:02:10 +06:00
Kingkor Roy Tirtho
8cd650b07e fix: artist page error #1018 2024-01-22 17:51:12 +06:00
Kingkor Roy Tirtho
5509cae91c fix(android): download failing for permission issues #1015 2024-01-05 20:26:57 +06:00
Kingkor Roy Tirtho
988a975bf1 feat(deep-link): add track opening page 2024-01-05 14:14:15 +06:00
franchioping
ba4e11a40a
fix: songs doesn't play when sources with preferred audio codec is empty (#976)
* 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>
2024-01-02 22:37:51 +06:00
Kingkor Roy Tirtho
2fb16e64e9 fix: genre border issues 2023-12-12 21:27:14 +06:00
Kingkor Roy Tirtho
82ed5e9057 feat: compact genre view in home page 2023-12-08 22:18:18 +06:00
Kingkor Roy Tirtho
24a2294512 feat: toggle for discord rpc 2023-12-08 13:27:31 +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
4511a0bd00 chore: bring back edit user playlist button 2023-11-22 10:49:00 +06:00
Kingkor Roy Tirtho
7d05c40dc0 fix: use CustomScrollView for personalized page 2023-11-22 10:02:11 +06:00
Kingkor Roy Tirtho
88b8785cb8 feat: discord RPC integration #98 2023-11-22 09:32:05 +06:00
Kingkor Roy Tirtho
98aff8f3b9 chore: fix jiosaavn exact match 2023-11-21 23:13:57 +06:00
Kingkor Roy Tirtho
7818574356 fix(windows): media control not working #641 2023-11-21 21:23:08 +06:00
Kingkor Roy Tirtho
75c0c4fff4 Merge branch 'master' into dev 2023-11-21 20:11:08 +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
0e07506716 refactor: organize hooks 2023-11-14 19:46:54 +06:00
Kingkor Roy Tirtho
fed36ecdd8 fix: Add to Playlist Dialog memory leak #817 2023-11-14 19:36:07 +06:00
Kingkor Roy Tirtho
353ca79be3 fix: spotube doesn't exit properly, hangs in infinite loop #768 2023-10-29 20:59:56 +06:00
Kingkor Roy Tirtho
4956bf367b fix: shuffle doesn't move active track to top 2023-10-29 19:54:58 +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
e29cc2578c fix: use audio_service_mpris plugin 2023-10-16 09:54:01 +06:00
Kingkor Roy Tirtho
ed6ca006ce fix: last track repeats 2023-10-15 12:09:14 +06:00
Kingkor Roy Tirtho
593bc2de90 chore: connectivity adapter use http as well 2023-10-15 11:11:20 +06:00
Kingkor Roy Tirtho
d39667bfb9 chore: use updated fl_query offline management 2023-10-14 17:28:22 +06:00
Kingkor Roy Tirtho
854ab8910d feat: manual offline detection 2023-10-14 12:31:10 +06:00
Kingkor Roy Tirtho
931664e6b6 refactor: migrate to catcher to catcher_2 2023-09-30 18:33:04 +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
wescode
c09a572925
fix: not fetching all followed artists (#759)
Co-authored-by: me <whickle@gmail.com>
2023-09-29 18:44:26 +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
5a758d8671 chore: fix genres & personalized content not loading 2023-09-28 15:27:13 +06:00
Kingkor Roy Tirtho
15d466a045 fix(android): audio doesn't resume on interruption end 2023-09-27 12:44:07 +06:00
Kingkor Roy Tirtho
b3cf639ee2 fix(android ): file_selector getDirectoryPath returns unusable content urls #720 2023-09-26 22:34:21 +06:00