🎉 New Features:
- 09e8c11: equalizer
- 2bc89dc: new seekbar with functional ux + tap to seek + always ready to seek (yt miniplayer) + drag up to cancel + more buttons for video (copy url, repeat mode)
- 241dcfa: auto backups, ref #69
- 62263d5: fallback to folder cover, closes #122
- fab509d: set music as ringtone, notification or alarm, closes #4
- 18d4892: youtube queue generators and some redesign
- b67fa6f: previous button replays option, closes #112
- c3338fa: resume playback if was paused for < specific duration + for interruption + for volume 0 pause & fix play button in notification not triggering in A14, fixes #102
- 715b75b: copy lyrics to clipboard
- 42285da: refresh library on startup option, ref #111, #119
- 5c832b0: action when adding duplicated tracks to playlist + undo button, closes #120
- 19bbf11: pull to refresh m3u playlists for main playlists page and m3u playlist subpage, ref #125
- a6e767e: clear audio/video cache for playing yt item
🛠️ Bug fixes & Improvements:
-
core:
- 6b147a2: IMPORTANT: player settings refactor, some previous settings will be reset
- 16aa9f5: video library rewrite + video playback is now properly a/v synced (ref #1) + pip mode is now stable
- 4c4471e: exclude webm & hidden files, ref #108
- d7bb2bf: wakelock logic rewrite
- c7ad883: allow audio only playback from cache when no internet
-
perf:
- 961e8af: sort initial history top items in isolate
- f227d05: Directory.listAllIsolate() easier to allow multiple dir listing in the same isolate
- 96a768b: faster backup dialog opening by runnning calculations on isolates
- 35b543f: accessing latest queue in O(1)
- 397aa0e: close stream subscriptions manually
- 26224d7: release resources after 5 min of inactivity
- 69cb045: some ui tweakies + AnimatedSizedBox instead of AnimatedContainer
-
chore:
- 7380108: yt local search ui tweaks
- 1c2bb17: monitor clipboard only when search is active
- 2980827: semi transparent system nav bars when tapping video in fullscreen
- 030f40b: refactor miniplayer bottom row this allows for more icons without overlapping with text closes #50
- 1b889ef: various tweaks & fixes
- 2061080: miniplayer dimensions tweaks
- 889061c: ui thingys
- 8c7b45f: skip dummy videos in queue
- 4cba101: dispose yt generator & search resources after a timer
- 8cf0ed6: ui tweaks
- 4333056: ui stuff
- 531d975: some fixes
- d163aca: increase hit area for some icons
- d0aaf86: ui tweaks
- 59a920c: faster video tap detecting now will only delay if pressed at seek areas
- 31ee86d: more buttons for video card + play + shuffle + pause after this + play after
- 9fd1c45: scrolling steps for tracks page
- 4d5c41c: menu for current yt video + repeat for n times button
- 4177354: some tweakies
- 47bc407: some tweakies
- 3aa0956: equalizer toggle tap to update button
-
fix:
- 54aeac5: default library tab name in settings, closes #104
- 3c12410: auto brightness always dark, closes #105
- 1889ca8: home screen items not playing
- 6dc31fb: tracks page grey screen due to animation controller not being reinitialized properly
- 3700df0: yt miniplayer getting stuck after coming back from pip
- 14ec3ed: yt miniplayer physics broken after pip
- ed02698: min track dur to restore pos not saving properly, ref #112
- b675fc8: lyrics parsing in some cases this brings more advanced lrc parsing as a fallback
- 52d4855: laggy tracks page scrolling this came after pull-to-refresh feat
- 1f10167: empty top history items on startup when set to specific period
- f148dfb: refresh doesnt detect new folders, fixes #119
- 9d182a8: comments line break
- 2f1c9d8: setting video last accessed for cache trimming
- 7879155: pip black screen
-
code:
-
language:
- Added French (@yannouuuu)
- Added Indonesian (@firmw4)