Commit Graph

46 Commits

Author SHA1 Message Date
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
064d92d35d refactor: merge connect and playback server into one server 2024-06-12 20:46:49 +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
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
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
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
5019c14c44 chore: fix getting started screen theme and bump version and generate changelogs 2024-03-08 19:50:57 +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
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
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
ed6ca006ce fix: last track repeats 2023-10-15 12:09:14 +06:00
Kingkor Roy Tirtho
931664e6b6 refactor: migrate to catcher to catcher_2 2023-09-30 18:33:04 +06:00
Kingkor Roy Tirtho
5a758d8671 chore: fix genres & personalized content not loading 2023-09-28 15:27:13 +06:00
Kingkor Roy Tirtho
c325911c0d feat: configurable audio normalization switch 2023-09-17 00:39:00 +06:00
Kingkor Roy Tirtho
da10ab2e29 feat: add audio normalization #164 2023-09-16 23:41:47 +06:00
Kingkor Roy Tirtho
5c5dbf69ec feat: add Amoled theme #724 2023-09-16 12:35:46 +06:00
Kingkor Roy Tirtho
c3c09f5b76 fix: last track of queue never plays & repeat playlist never works 2023-08-25 22:52:43 +06:00
Kingkor Roy Tirtho
190df17adc fix: jump to track going to wrong track 2023-08-25 20:03:49 +06:00
Kingkor Roy Tirtho
aa4ac8641a fix: tracks doesn't change when ended 2023-08-08 12:18:11 +06:00
Kingkor Roy Tirtho
cf7b849cdd feat: web compatibility 2023-08-05 10:49:53 +06:00
Kingkor Roy Tirtho
dfd60bd4cc fix: cache segments casting error 2023-08-04 13:10:56 +06:00
Kingkor Roy Tirtho
dc76634a6e
fix: shuffle not working (#562) 2023-07-08 21:58:57 +06:00
Kingkor Roy Tirtho
a9b5a714e4 fix: alternative track source not playing new source 2023-06-28 12:13:33 +06:00
Kingkor Roy Tirtho
bf04962e90 fix: remove unnecessary broadcast stream conversions 2023-06-10 13:12:40 +06:00
Kingkor Roy Tirtho
ed29ab5137 fix: cached queue tracks expired stream 2023-06-04 12:30:04 +06:00
Kingkor Roy Tirtho
f7ca3a654f chore: only remove native event loop for macos 2023-06-02 13:06:02 +06:00
Kingkor Roy Tirtho
17e5ab611c fix: track doesn't play after change 2023-06-02 09:21:47 +06:00
Kingkor Roy Tirtho
27e8acbfe7 fix: playback not moving to next track after a track ends 2023-06-01 09:02:44 +06:00
Kingkor Roy Tirtho
e529c79c4f fix: re-enable add to queue and play next support, favorite button query exceptions 2023-05-27 21:53:56 +06:00
Kingkor Roy Tirtho
bf59570251 feat: show loading when track metadata is being fetched, android, ios, macos enable shuffling 2023-05-27 13:34:25 +06:00
Kingkor Roy Tirtho
a0744630ba fix: use id based source getters instead of index 2023-05-27 12:01:59 +06:00
Kingkor Roy Tirtho
75b46e1a17 refactor: split audio player impl into multiple parts and mixins 2023-05-26 10:13:09 +06:00
Kingkor Roy Tirtho
a455a89c58 fix: null exception on proxy playlist and audio player 2023-05-17 00:30:48 +06:00
Kingkor Roy Tirtho
696eeee882 chore(playback): re-enable shuffling 2023-05-16 22:34:20 +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
eaf65b6db2 feat(player): custom playlist implementation for media_kit to replace unpredictable playlist of mpv 2023-05-14 17:52:54 +06:00
Kingkor Roy Tirtho
1f3255481f fix(player): volume slider, prefetching of media_kit and stuttering on sponsorblock skip 2023-05-13 19:11:02 +06:00
Kingkor Roy Tirtho
5f70207076 refactor(playback): migration to ProxyPlaylist based playback 2023-05-13 12:46:56 +06:00
Kingkor Roy Tirtho
3ba3df7265 refactor(playlist_queue): add playlist 3 items load first support 2023-05-12 20:35:48 +06:00
Kingkor Roy Tirtho
f1080e1675 feat(player): add playlist related methods to audio player 2023-05-12 09:36:03 +06:00