版本发布 8
## happy new year everyone! new version here with some cool new features and many changes and improvements, hope u have a great year! ### 🎉 New Features: - 1105757: option to change app icon - 018a6a0: word synced lyrics view ref #551 - c3befe4: sponsorblock ref #2 - 749c2ba: return youtube dislike - c80463c: gapless playback (experimental) - 6742ba5: artwork gestures (tap & long press) - much related code refactor ref #81, #764 - adc8669: search tracks in playlists/albums/artists/genres ref #639 #705 - 4a4eb66: reorderable playlists ref #654 - 4c4a96c: range selection for local library ref #730 - e351efd: option to show lrc view in yt player ref #662 - d64a832: new sort option for yt local search (sort by first listen) - 3a18eb6: new mix in home page (recommended), contains crafted tracks based on various parameters - 1b3c1e7: new mix in home page (underrated) - 320f40f: allow matching local videos by having the track yt id in the video filename - 22535f1: option to display actual position instead of difference while seeking - f15fd3a: add more app icons and optimize apk size - a31df49: add "432Hz" button while setting pitch ref #717 - 392fed7: option to link speed with pitch ref #755 - 31d84df: option to enable unique artworks hash (to fix duplicated artworks) - 4bb968f: separate options for thumbnail animation intensity while lyrics are active and while miniplayer is minimized ref #69 #81 - dd80114: segments for yt videos ref #75 #535 - 23244e6: heatmap for yt videos ref #227 - 5e774e4: floating artwork effect (flag in extra settings) - 848e348: wave haptic feedback (flag in extra settings) - 86e1517: yt channels subscriptions page when signed in ref #227 - 793865c: simple lyrics editing ref #222 - 5eff12a: add filter to search tracks by lyrics ref #510 ### 🛠️ Bug fixes & Improvements: <details> <summary> click here to view more changes </summary> - core: - f7b591d: folders page now merges videos with tracks - and add tracks-only folder page - d5b0096: improve track filename matching suggestions (when updating track path/etc) - 2fd0945: improve range selection for local library - ab4e4d5: api to change internal player (option hidden for now) - c859dcd: more support for flac, ogg and other formats ref #346 #555 #687 #698 #732 #715 #736 - 9838d78: target android 13, fixes notification & update permissions requests - in app file browser now displays permission warning - request post notification permission when importing history or downloading ref #496 #769 - af0cc61: target sdk 36 & fix notification actions not showing for some devices - chore: - 9147bd5: gradient tiles and cards - 62647da: use filled favourite icon - b9566c7: confirm before unfavouriting track/video/queue - 08b11fa: improvements for set lyrics dialog ref #662 #801 - 656c27f: show swipe action behind track tiles and video cards - 2335cde: display cover.jpg etc as folder thumbnail in folders page - 0576b71: separate albums & singles in artist page ref #345 - 72dc623: improve scrollbar and add flag to enable tap scrolling ref #776 - 4576905: improve playlists ux - while adding tracks to playlist, show playlists having the tracks at first - disable sorting while adding to playlist - add border to easily spot playlists having the tracks - add "create" button for yt playlists view - f9da710: improve popup menu visuals across app - 87df1f7: show data saver button in qualities menu (for local & yt player) - 29181a8: more actions for yt queue - add tracks button (for minimized queue) - configure button (for expanded queue) - 2f80c67: show "favourites" tile in drawer instead of "search" - a28d61e: local miniplayer progress bar can now be seeked directly ref #618 - 72ae112: tapping artist/album image will open in fullscreen (long press to save) - 8000914: improve fullscreen artwork viewer - 7b3b939: refresh media store after downloading/deleting a track - e956d8e: open grid options on single tap if auto grid is on - c7ad1d1: remove 1000 tracks limit when playing from tracks page bye bye performance ref #765 - 8c7f256: import yt history now supports selecting single zip file - 0b5ccf8: put "check for more" and "search" for fullscreen player quality menu as well - previously they were only for local player bottom left menu - c7e45d2: show release date in total listens dialog - a2c2bca: button to reverse listens list - 0508726: use new icon for monochrome and windows - 808c359: keep yt search results after closing search menu - 8e51138: minor ui tweaks/fixes - waveform not updating when changing count in settings - lrc fullscreen, add more v margin between lines, less transparent far lyrics - grid icon color match icons beside - progress/buffer color for video widget - 8e76863: wider cell inside track info dialog - 3efbb57: improve file extension matching - b54a2d5: sort available download folders while configuring folder - d053610: redesign download options to make filename output option more obvious - ae12582: display stop button in notification option - 1c8200e: hide delete button in empty favourites playlist - 031e658: don't seek if seek option is set to 0 ref #585 - ea4b1c6: underrated mix now uses latest listen as a factor - 20e5694: improve year tag extraction ref #767 - a88c8b5: settings card now has cute lil ⤷ - 6e90d08: more settings for yt queue configure button - a165259: show sponsorblock skip button for local player (while playing yt content) - 1c275ab: minor tweaks - tapping comment author pfp opens their channel - increase default value for sponsorblock hide button to 4 seconds - faster sheet blur animation - minor fix - 561c18b: improve settings search for displaying unavailable settings ref #778 - 0803937: yt flag to enable gif thumbnails - f394abb: use xml for android drawable icons - 7ae4748: ryd now sends votes as well - f2117c5: vibrate when rebuilding queue (playing same track in another list) - 88f376c: tapping local album/artist image will open in fullscreen as well - 71cd297: refresh button in yt player also refreshes sponsorblock segments - a11c007: video segments are now displayed in description as well - 4a5dcdf: yt flag to disable video segments in seekbar - 204c63c: yt flag to prefer opus format ref #490 - 1a1ba4e: yt flag to limit video page cache duration (to auto refresh view count/likes/etc) - a549b54: final adjustments ref #535 #784 - 0ec9ea4, 7677fc4, c4ce0a7, 74f37bc, 129d863, 1af725a, f61c365, 5b257f0, f98ef17, 2688ed6, 273ee71, 99b07dd, afde223: many tweaks - fix: - ad78442: stuck on splash screen for some devices (especially after reboot) ref #534 #619 #756 - 567ec43: indexing stuck sometimes ref #657 #723 - baaf304: m3u playlist paths resolving - 3e20e22: playing wrong queue while in widescreen - 6f03ffa: missing playlist info when downloading from yt local playlist - 2dcd00f: lyrics offset displaying wrong centiseconds ref #694 - 8a4e2f2: dont create root `Namida` folder until actually really needed ref #713 - 3585d5a: ocasional crash while playing alac files - cedc2c4: yt favourites playlist not refreshing - b57a8e4: empty page after closing first run configuration page - 1cfdf91: player bg color getting transparent/black - 5d50956: not using correct color for custom artist/album image - cd022a2: shuffling/playing a list in landscape while queue is expanded - 504a71e: wrong max date range in yt most played page - dadb528: player color not refreshing after changing pitch setting - 9e9ea37: recommended tracks generation wrong config - 5157dbb: prevent creating playlists with more illegal chars - 24c744e: ensure yt offline search work after preparing - 8fdabc1: prevent duplicated artist tracks (when artist name is in both artist-tag and title-tag) - 18134c7: show correct seek seconds on double tap - 0183a9e: color extraction now falls back to yt thumbnail and folder artwork (if exists) - c9eb2a2: support opening external folder paths - a71728a: player not stopping after dismissing miniplayer - 873420e: wrong color for album/artist/multiple tracks after choosing custom color - af8188a: main floating action button not refreshing sometimes - 3593d77: null protection for `_getPossibleVideosPathsFromAudioFile` when empty artists/genres - fa10265: adding random tracks to queue could be the same each time in some cases - 4a45c55: add scrollbar to local queue ref #765 - 209f80e: improve history imports - duplicated listens - option to remove duplicates while removing source - improve performance - prevent possible memory leak on windows - file progress shows actual file count instead of percentage - 7c20e87: channel about links sometimes broken ref #768 - 983efa5: sheet blur - 508a22b: like button always animating - ff70be5: alignment and artifacts for word synced lyrics - 0bb10a5: pixelated artwork when miniplayer is minimized - and minor padding fix - 76d6cff: year tag extraction caused by 20e5694 ref #767 - 58d9290: album/artist info in home page not refreshing after start - e6427a0: waveform extraction for windows not falling back - and improve performance - 80224d2: pages not having bottom padding in rare cases ref #777 - 9250427: local tracks without yt id showing all available videos - c421d7c: some fixes for playlists sort and tracks filtering not refreshing after certain actions - 5cfab2c: ensure navbar color is updated after resuming app ref #763 - 50778a6: editing opus tags not working ref #695 - ed2bd4b: lyrics view fixes - 0d6a729, da384f2, 42f210c, c57cc2b, 3eb059e, 2cc6acd: many fixes and improvements - perf: - 398b26c: reduce context.theme access to max once per widget - 8e43c72: faster track dialog opening - d786331: improve random sample generation - 2ece78e: reduce fetching new info on displaying video cards - d7a8ce1: improve custom random sample generation - ab1c591: blur bg for sheet only after it opens - 3ec2924: faster color extraction - 4572892: slight boost for yt miniplayer </details> over the next few months, the focus will be shifted to bringing linux support, so the next update might take a while. u can always use [beta ](https://github.com/namidaco/namida-snapshots/releases) for ~weekly updates thanks for the love and support! 💗
# v5.3.9 ## hey guys, small update here ^^ new features and lots of improvements, also an integration with [namida_sync](https://github.com/010101-sans/namida_sync) for ppl wanting to sync their backup between devices! ### 🎉 New Features: - 63140e8: fetch album/artist images from network + option to decide source + ability to set custom image manually + ability to choose network image ref #5 - 48cc658: option to show/hide albums and singles in albums page - 0d02ab3: option to ignore common prefixes like (A/An/The/etc) while sorting, for customizable media types (title/artist/album/folder/etc) ref #603 - 42a611f: 2 new add track options (similar dicover date & similar time range) - dfe2478: display "liked music" playlist in user yt hosted playlists section - e3cfd1a: option to add tracks at the beginning for playlists ref #628 - c5f3ade: option to disable "stretch lyrics duration" (stretching allows normal lyrics to fit perfectly on spedup/slowed/nightcore versions) ref #675 ### 🛠️ Bug fixes & Improvements: - core: - 6079b36: integrate with `namida_sync` (https://github.com/010101-sans/namida_sync) thanks @010101-sans ref #621 - 92d966e: improve downloading especially for unavailable videos - when downloading an unavailable video -> use cached versions if available, write info file to download location, set cache priority to `VIP` & show descriptive error message - fix/reduce lag when adding downloaded track to local library - fix ocasional tripled download tasks - improve info obtaining by merging all possible infos available <details> <summary> click here to view more changes </summary> - perf: - 592866e: most played tracks are now smoothly manipulated, instead of sorting after each addition - this also eliminates video lag the moment it counts the listen - also forced stricter reactive access for the listens map (so that ui is refreshed only when needed) - fda9f5c: app freeze while importing huge or multiple takeouts at once - and show progress for files parsing - 04c499b: improve all lists scrolling performance and fix lyrics view causing issues in floating window - chore: - a040524: more sort options and show sorting info on cards for albums/artists/playlists/etc - 887fe9a: improve sorting for albums/artists/genres - by having extra fallbacks - 3d9a722: show "count/total" for filtering in pages (albums/playlists/etc) - mainly to make it clear that an album filter (single/normal) is applied - also replace duplicated playlists count with a create button in playlists page - fix inaccurate playlists search matching - 6a49ba4: improve hit box of position/duration text in player (to seek backwards/forwards) - 5039981: add a menu button with some video options in fullscreen player - like (show endcards/show channel watermark/enable glow effect) - a27c0a5: improve default color decision for a palette - no longer mix all palette, but instead only first few colors - adefa67: ui tweaks - increase area of equalizer slider magnet & decrease area of video slider magnet in fullscreen - d2d6301: always fetch new info when opening video info dialog (views/likes/like status) - 02609c0: toggle to also delete m3u file while deleting playlist inside app - 4f2f9ee: display proper empty list messages in home page - 9818ac9: add button in auto backup error snack, to request needed permission - 7855d05: always display album artist in album card, regardless of sort mode - 0f543c7: display total duration in playlist page ref #682 - fb6807a: avoid ui jumps for album staggered view - bf403f5: remember sort mode in file browser ref #684 - e862ace: improve m3u line path extraction - 525659b: improve file extensions support - 7087f6f: improve wheel slider ref #642 - e9ca9a5: improve how sleep timer is started - 50642b9: add error logging in more places - 35fef07: few fixes n tweaks - 5818462: small adjustment - 9606b0b: final adjustments - fix: - b537cbf: app stuck on startup (especially for windows) - 45fc868: equalizer ui displaying wrong gain value - b273c13: some languages causing white parts in ui - 0b1b918: tracks page shuffle sorting (in advanced sorting) - 0b8c0fa: multiple skips when spamming play/pause in the end of playback - 46f0215: startup issues - 9cb3652: not importing/refreshing m3u playlist - 242237b: few fixes for network artwork - 99fbaa6: issues with replay gain and volume - 81abc5e: small touch area in some menus - 740e88f: artwork not showing when specific settings are applied - 81f18f4: various visual data fixes - 46b9f45: smol fixes - 34fdcf4: some fixes - 8dd51a3: some fixes - 1597112: more fixes </details> see u in next release! and thanks a lot for the continuous support, it makes working on namida even more fun! ❤️
### v5 with some hot new features! 🔥 ### 🎉 New Features: - c92a8a3: headset buttons (single/double/triple) - 667e15a: notifications for windows with option to control download notifications ref #14 - f1cbec6: show/hide keybaord when dragging upwards/downwards on search floating action button - ddd53e9: setting dim duration to 0 will keep miniplayer always dimmed - bb2b07a: system level brightness in fullscreen video player ref #155 - cd432d1: simple data saver mode (wifi & mobile) - with icons to indicate why a video was not fetched (blocked by cache/no connection/data saver) - 934e438: basic home screen widget & quick settings tile ref #168, #243, #438, #468 - 515f71d: gentle play, adds item next and play instead of assigning new queue - currently applied for yt section videos, mostly when pressing single video like in search/home/etc - 0fdf533: display years in history page that navigate to the same day in that year ### 🛠️ Bug fixes & Improvements: <details> <summary> click here to view info </summary> - chore: - c5f82d4: video controls reactive bg color for light bg - 15da6b3: prefer lyrics with duration closer to track duration - 2f53fa8: show checkmark in playlist tile when adding tracks - and rework logic (both local & yt) to show active checkmark only when all tracks exist, offering a "remove" action when pressed, otherwise it will add normally and prompt actions if there was duplicates - d53f42a: dont copy info if not available (?) - 384b582: attempt fix filename of specific thumbnail types - 2b7240b: copied to clipboard design tweak (now uses rounded design with margin like others, instead of squared sticky) - ed933cc: attempt broadcast queue info ref #351, #157 - 4794247: update app bar icons animation - 47664ce: smol refactor - 4b59e74: improve shimmer in yt miniplayer & download sheet - b6e722c: improve search matching ref #465 - 6319418: allow content provider paths in extension filter (while picking files) - b131b1c: supress account/membership errors and display in pages instead if possible - c99232b: refactor lrc view & scale it bigger to avoid thin border effect again - ec5cdb1: hide endcard instantly on drag and reshow on drag finish - old behavior relied on miniplayer height percentage which wasnt too good - 1039ece: sort network lyrics only if track duration was not modified (nightcore/spedup) - f1e3906: faster route animation speed - 05f1ec8: artwork scale setting is now a simple slider - 29035fb: refactor wheel sliders - ad8c7d3: pressing plus icon in horizontal list view will open history page on the last item - and refactor for history listen jump - b627d0c: allow liking/disliking videos without membership - d07e426: refactor vibration methods - 6ef27b8: live format info in edit tags dialog - b0c1d0e: few tweaks - rely on "play when ready" instead of "is playing", results in more stability when skipping next/prev - remove refresh button in video widget -refactor snackbar duration & less duration for "added to queue" snackbar - use package to show time difference in about page - 7249a94: apply on swipe actions for yt cards as well - this took shitload of refactor, but improved perf so yey - ref #333 - 58c4568: improve tags extraction and fallback ref #480 - 84cf942: add "open info" as track tile swipe action - 9da9709: change default on swipe actions - a4522ca: fully rely on "play when ready" instead of "is playing" - 048895e: move android files - e59b6a3: assign low res thumbnail to notification until full res is fetched - 3e291e5: ensure yt player doesnt play old media while fetching info of new media ref #234 - a90aeee: ensure play when ready is not modified after switching queues - cf6d474: ensure resuming after queue is restructured (playing same item in another playlist/etc) - 93b47aa: pause and play icons for qs tile - 46ca092: formatting & cleanup - 675dc79: light theme for home screen widget - 663e295: few fixes - and revert to dart 3.6.0 bcz new formatter getting annoying - 7c3424f: allow monochrome colors - 5d786d2: improve theme colors - 497413b: limit home widget code to android & ios - be09f3e: remove lyrics fullscreen button & add a note on how to enter fullscreen ref #499 - 38cc211: add note to indexer folders while media store is enabled - a0ec475: auto skip item only if "play when ready" is enabled - ea972d4: ignore wakelock errors - 06b0c46: open shorts in fullscreen - 2a06f4c: white pull to refresh icon color - 3e487e4: disable writing tags to audio file after getting cached - 2c9fc7d: clean up plain lyrics tags - 65648e3: attempt play video stream for shorts (data saver off & medium) - b06b360: restore last played duration for yt section too - 0a14e1a: final cleanup & tweaks - center plain lyrics text - improve history jumping - fix wrong "play when ready" after removing item from queue - fix yt miniplayer wrong padding - others - fix: - 6eb266e: downloads failing after app restart - ad92592: notification artwork not falling back to folder cover - 96c0604: lyrics blurred view thin white edge - b19f7be: loading circle showing once yt miniplayer is shown - 26acfe7: yt playback and allow setting custom visitor data & potoken - 59f4c60: dim related stuff - a80bfb4: error message when stopping downloads - 3494baf: keyboard focus/unfocus when swiping up/down search fab - fe20b79: double pressing app bar icons - ac56f8d: allow returning faulty info when extracting instead of dismissing all of it ref #469 - 5d737d8: audio/video thumbnails not extracting/showing properly ref #461 #474 - 73ca3eb: blocked play/pause touches when buffering in video player screen - 14bfc7e: non-persistent scroll offset for comments page ref #491 - a48f1a4: play when ready related stuff - eec799f: not showing minus sign in lrc offset dialog - 8f9ec31: showing old error when reading tags in edit tags dialog - e192699: tapping yt most played opening history.. - d0a1bad: crash when leaving app before player start (happened when trying to access "is playing" status for pip entering, all before player is initialized) - 23c63fe: ensure yt miniplayer has correct bottom padding - 42c1e2d: dialog using old color - 1fb4b7f: not playing local audio for yt when there is connection - 5fec286: cleanup group name too from possible illegal path characters - 65939a5: duplicated audio cache entries - 90f5448: properly backup databases to prevent being locked after restored - code: - f641e02: home widget colors api - core: - 78d00cd: upgrade to flutter v3.27.1 & dart v3.6.0 - 627115a: disable impeller rendering engine - 1dcdf32: lrc positive offset now means lyrics will appear sooner ref #467 - a6739fd: some changes - better support for remote controlling (android auto/etc) - fix duplicate shorts in home page & related videos - fix displaying artwork for albums with in name in notification - f6861eb: support archiving for windows (for backup & restore) - perf: - eb8b543: improve file io sink - build: - 6898ac0: update windows build files - c963608: increase build memory to 4GB - 048214b: set minimum sdk level to 24 (android 7.0) - 7153b03: upgrade to flutter v3.29.0 and dart v3.7.0 - a3d8d23: upgrade kotlin & gradle versions </details> --- #### thats it thanks for all the support! we are almost 3k stars, much luv for 💵 supporters too, i love ya all 💗
happi new year cuties <3 new veersion for ya with cool features and maany tweaks n fixes, enjoy! ### 🎉 New Features: - 719ead3: set artwork for playlists ref #324 - 062378b: sort playlist tracks for local & yt playlists - 3f3ffda: fetch square thumbnail for topic channel videos - when downloading or when fixing thumbnails ref #212 - db4da91: cache videos priority system - this is mainly for the upcoming missing videos info retrieval, where it make sures cached stuff of deleted/privated videos are not automatically deleted - 9e45bee: retrieve and display info & thumbnails of deleted/privated videos - a0a0586: allow setting cache priority for videos/tracks with yt id - can also be used to disable track video fetching ### 🛠️ Bug fixes & Improvements: - chore: - 5ca5793: play all (reverse) button for history days - dc835a0: use dark bg for splash screen when in dark mode - e0658f5: include missing info db for yt offline search - 1eba91b: faster search page fade animation - 0a6c306: prefer using app bg color for video fullscreen light bg when specified - 2edde23: long pressing video button in miniplayer will show search button instead of "check for more" - 4eb4af9: adjust button color in pitch black and tweak minimum size - 8c594ab: update downloadAudioOnly setting when enabling/disabling video stream in download sheet - 31914ea: allow changing download filename builder in single download sheet - de391a9: delete empty downloads-group db on startup - 9dd26ae: spirce for kuru custom display first listen date for me - 032701e: smol right padding for miniplayer info - 95b4588: disable "write upload date as file date" by default for downloads - 7d60760: dont refetch non-personalized related videos if already cached - ac66d2b: rely on `accurateDate` in some places - 6831c81: ui tweak for backup dialog - 1889967: update delete playlist/queue icons - b879eee: dont show "fav" by default in video card menus - 6edf11b: update clear cache icons - 221b653: properly show info of privated videos on cards & auto set priority to vip if the info is missing or title starts with link (privated) - 5c2294f: display js player version in yt flags - 2d4b912: improve info merging while importing history & displaying title on video cards for missing info - 6dcd499: treat 1980 as faulty date instead of 1970, when dealing with file added date etc - 13da4d4: improve missing info related stuff - d4290dd: setting icon in appbar is always on right - 627a810: unfocus keyboard when opening miniplayers - 2018c5f: smol fixes - 19666b8: show sleeping track icon only when repeat mode is all or none - 725dc5b: do the unfocus keyboard in miniplayer states switching - 8d13893: pass theme to snackbar - cc96856: improve unfocus keyboard logic - fix: - 90db311: artwork filename when "group by artwork" is enabled - 6a0ea28: parsing channel playlist tab at `packageyoutipie` - 45781b2: in folder tracks, update "index to scroll to" after sorting if was specified - 6c9bf3f: caching and retrieving of video description in `_YoutubeInfoUtils.getVideoDescription()` - a1e9dfe: possible empty first video id character when importing from playlists csv - ea5404b: theme colors of hosted playlists - 3354724: bottom icons padding in track/s popup dialog - bf116a3: not searching yt after entering offline search page and closing whole search - f3d069e: loading default group for download task and remove any leading dots while making new group - f7cf249: stuff caused by faster app load time - a151963: set replay gain for yt after enabling the setting - 95ce065: indices error while removing items from playlist - a3c3b16: displaying albums artwork having / in the name - 1f4d438: infinity loop eating battery - 3b15d89: merging download tasks after loading re 061deb0 - 3d10050: not refreshing after toggling pitch black - 9fbb0fe: not refreshing lists after deleting tracks - da80a81: properly delete temp files in video clear dialog - b209c4f: saving/displaying wrong image in cache was noticeable with video playlist endcards - 6fd9394: video info card related stuff - 1ce99d2: duplicated offline search entires - 8c5ad42: empty search boxes - 18dd3c7: lyrics dynamic view timing (was reshowing late) - 55a197a: long pressing yt artwork wasnt actually saving it - core: - e24898b: allow unlimited queue using any button except when pressing track tile - and remove duplicates when playing history ref #31, #245, #404 - 4f69ed3: upgrade to `packageyoutipie` v4.2.0 - fixes playback issues and other stuff - perf: - 161359a: avoid recolering the player whereas possible like when reordering items or when playing same item - 39d7aef: improve app startup time - by prepare most stuff concurrently on diff isolates - there is still overhead for copying data so the diff is not so huge thanks dart - 061deb0: no longer wait for download tasks to load - fab1f9c: auto close open databases after specific duration - code: - 0cddbc1: refactor `_saveLatestQueueToStorage()`
### 🎉 New Features: - dfaf5f5: local video library & playback this also includes - refactor for track duration to use as milliseconds not seconds - refactor for many indexing functions - rewrite of latest queue & other similar parts logic - use global `lastPlayedIndex` - improvements for home page loading - faster loading for latest queue (by disabling maximumItems check) - fix most played chips not being properly rebuilt - fix default color tiles not enabled/disabled properly - fix downloaded file not being added to library properly - 0280611: replay gain (normalize volume) - c0ace94: left & right swipe actions for track tile, ref #333 - e210ece: use search floating button as submit beside closing search page (switches dynamically) - fe96401: option to disable personalized related videos - 7c6607c: show video endcards option, ref #227 - 408a4ef: listen count & latest listen date in track tile info, ref #323 - ff4632d: channel about page, ref #227 - dec830f: recommended sorting when clearing video/audio cache files - follows a simple algorithm to sort based on both last access time and total listens - 8496541: yt downloads filename builder - 035a9e0: allow info builders for metadata tags too as well as filenames as earlier - added more parameters - 052bf9f: parse `description` & `synopsis` from metadata tags - 3ee9f43: basic windows support * includes - integrating ffmpeg/ffprobe executables - refactor `FFmpegExecuter`, `NamidaChannel`, `NamidaStorage` - rename `FAudioTaggerController` to `NamidaTaggerController` - refactor paths to use platform path separator - hide settings not meant for windows using `NamidaFeaturesVisibility` - small ui changes - build msix packaging instructions - e0cdb64: pressing "jump to day" icon will open with the current day at scroll position - cc09b8c: in history pages, display the nth listen on card top right, and cake when its first listen - 4ec2636: in homepage, pressing top recents or lost memories will now open the most played page with the actual date range - 884c126: auto extract download info for nightcore videos by relying on description, and add `genre` field for downloads - b5386d7: "first listen" as sort option & as optional info in track tile - and re-sort tracks list after history is loaded (if neccessary) - a364755: flag to add yt history to local history (merge) - and add icons for other flags - 3f524ab: option to specify delete or cancel for downloads (including groups) - d8f9b9f: folder tiles can display text if `.info.txt` file exists in the folder i made this one for myself > - 233da90: importing takeout playlists now supports whole directory with multiple takeouts, duplicated playlists are merged by default - also fix date extraction in playlists csv - 640bb62: yt channel tabs - 99eaea8: sort yt playlists, ref #227 - 30521bf: add/edit/delete comments & replies, ref #227 ### 🛠️ Bug fixes & Improvements: - chore: - 1a34bbc: final cleanup - c1b3ad7: show original genre for track tile, ref #316 - 85293ff: dont refetch pages after signing out - 580a36a: long press yt copy button to copy url with timestamp normal tap will copy url only - a2f2007: use monet icon for fallback notification & sidebar - 8582664: move "display remaining duration" setting to the bottom - fd8ba26: allow double tap lyrics gesture for yt while in local player - a244bae: fallback for channel id in yt miniplayer - 38215f1: auto set most played time to `allTime` only if `custom` was selected - 4595a7d: always show unavailable videos in playlists we may need to expose as a button later - fcee0ee: refactor internal playback to preprare for live videos (still not ready) - 6b825ac: small fixes - for track tile separator - nullable video stream duration - 00534b7: tweak popup menu animation - f7b6090: properly split moods using general splitter - c00c162: improve hiding controls mechanism for video container in yt miniplayer - 2c260f6: increase max video cache to 32gb & audio to 12gb - 29ba894: properly exit fullscreen for some endcards actions - 5aa8308: refactor opening video/playlists link - this came in need while implementing channel about page - added "autoVerify" for all intent filters in AndroidManifest.xml - 591581d: refactor views & subscribers to extensions - 3bf7c23: refactor settings related stuff to improve performance, now things that change frequently automatically are saved to separate file - fix 'dont show again' for battery optimization request - increase default video max cache to 8gb & audio to 4gb - 38ee6ac: few fixes - ec97084: allow precise speed/pitch/volume etc, ref #271 - 4a71dd4: display multi language lyrics properly - ba5698f: big salsa - improve detection of short videos - recheck cached videos in quality menu after clearing cache - perf improve scrolling yt videos scrolling by not filtering existing files from cache map - fix reset _nextSeekSetVideoCache when needed - impeller disabled by default for now - improve stuff related to after deleting tracks - remove tags/rating/moods from ffmpeg tag editing while downloading - snackbar padding when there is a button - allow refreshing patreon/coupon & sign out & properly notify about expired token - add star history in readme - 0decad9: allow android auto to detect app * not tested - 9ee8f27: improve icons touch area, ref #192 - 14f1bc1: fixes and cleanup - 1389d46: tracks generated by date range are now sorted by listen count in that range - 18279e6: allow opening info dialog for non-existing tracks - 81ce518: fixes tweaks fixes tweaks - enable replayGain by default - wont auto modify volume when playing (bcz replay gain with crossfade) - tag extraction not putting original path - use `fileSize()` instead of `sizeInBytes()` - missing tracks screen stuck bcz _m3uPlaylistsCompleter aint completing - fix m3u files with empty lines causing duplicates - thumbnails active request ids count not accurate (pls never use `value++` again for maps - sussy reset volume/pitch/speed not respecting replay gain - force home screen supremacy mix to be at least 10 tracks - reduce drawer tiles v padding - wrong video when playing yt notifications - refresh track tile when date/hour format changes - 3624300: rework track clear dialog this also includes - logic rework for managing and clearing video cache - add clearing cache tile in all video cards - 0df242c: some tweakies - fix resuming after interruption then pause manually - improve playback buffer - close video stream properly when selecting audio only mode - display full folder path when similar folders exist - code remove non-used landscape fns - improve onboarding screen glow bar - change default colors - improve miniplayer top right menu icon hit test - build add profile buildType - doc add replay gain to readme - 3e28717: add auto coloring as a performance factor - f6e9123: rename "kps" to "kbps" - f2d7d33: more checks for race conditions in `onItemPlaySelectable()` - 86cc911: show "share url" in all video cards - 7d0612a: migrate for `package:namico_db_wrapper` v2.5.0 - 884f887: cleanup - 0d6bb55: hide "remove from playlist" in playlist dialog - cea3a3b: more horizontal allowance for pull to refresh - afc35fc: smol ui change - refreshState instead of setState to always update info in channel subpage - show tooltip on tap when pressing volume bar while replay gain enabled - 96ac21b: improved single download filename logic - a6a6804: add yt flag to force refresh js player - 4539ab4: allow adding/removing videos in a playlist & creating playlists without membership - 8efe0a6: refactor some parts - 30d9cc1: optimize and fix most played subpages + yt horizontal list & history not refreshing properly on startup - 75c3715: some ui changes - 0fe11f5: improved missing tracks loading progress details - f4d92ec: copy instead of share in video menu - press to copy video link - long press to copy different stuff - share icon in right part - 07b15fa: add clear cache button to snackbar when video error occurs - 146b3ac: ui tweaks - a648414: allow importing multiple history files at once (yt & lastfm) - 950447c: download group for single videos inside a playlist is set to playlist name by default - 1b87a20: save group download options across sessions - 42ecb21: cleanup & shi - 69c2b07: try split track/disc number before parsing it (like `2/16`) - 5b55900: when updating directory path, add it to indexer folders only if it or its parent doesn't exist - 555ddd7: fallback artwork to a yt thumbnail if exists - b499b43: sorting folders will prefer first number after `Music` in a pattern like `Music 12 - 2024` instead of the last number which would be 2024 - 2e12e4d: tweak download sheet initial quality & group - video will be selected only if audioOnly disabled - for other video cards in a playlist, initial group will follow playlist name - 1302795: ui tweaks - maximum width for snackbar button - bigger buttons - in track info dialog, put gain info at end + adjust title padding so that text is aligned with the icon - adjust padding of expansion tile to align with list tile in dialogs/etc - dont re-light a dimmed miniplayer when changing tracks - adjust padding for video cards in channel home page/etc - eae8af0: change default client to web - 8146d51: fallback info for video page - 352b86e: fix info extraction from description and make it optional - e4080fa: dont depend on playing id for mix playlists in related videos - b541bfe: rename "flac" to "FLAC" - 636fcd9: more info about copied yt history to local - dab4226: ui tweaks - snackbar title-subtitle padding - snackbar padding with a button - history cards thumbnail padding - d842499: pressing play button when playback is already finished will now skip to next - b09c533: some fixes - using cached personalized related videos when acc is signed in (not the opposite) - m3u playlists path parsing - fix some equality checks - add delay for showing snack error when no network on `initState()` - failed tag edits will not cause the progress to stuck - 6cb8756: apply my settings on first start ^^ hehe - c4ffe59: disable media store artwork fallback when not using media store bcz it can generate non-accurate artworks - ecfbb7e: ui thingys - 92b81be: fallback info for yt miniplayer - 64f83d9: re-design yt offline search results to be horizontal - this also eliminates some code that differentiate between 3-result page & full results page, making everything unified and tied - increase timer to dispose offline search resources to 1 min - 14817d3: internally manage skipping to next when playback finished - 12c7d91: ui tweaks - yt notification separate title & channel - bigger expansion tile in some places - use yt thumbnail for cached items list - f4e706f: improve details extraction for yt playlists import - c05a630: dont display shimmer when info available in yt miniplayer - e898206: fallback for channel thumbnail in video cards - 1e9389d: refactor waveform scale map to list - allow offset for waveform scale list - ac8505d: rename default playlists when downloading - 5c14e30: ui fixes - duration not refreshing in miniplayer if required - yt miniplayer not having proper padding initially - video quality menu around whole tile in dl options dialog - show more format info in local miniplayer video streams - displaying that audio is cached even tho cache list is empty - 66cc92b: disable `jumpToFirstTrackAfterFinishingQueue` by default - fix: - 312b12a: pull to refresh - b19e94d: lyrics not updating after coming from fullscreen - 7041dce: splitting artists/genres with blacklist the issue used to happen mostly when a blacklist is exactly the same as the artist/genre, with no additions etc - a8ee174: android 12 splash screen - 3021865: white screen when trying to reorder 2 items at the same time like bruh #315 - 4e153b1: pull to refresh not detected - a9c5be4: sublists scrolling - e466fe5: pull to refresh stuck in some cases - bfefde5: getting yt account info after login - 2831fe6: include assets - 6204670: tapping album in go_to_album section - 84f561b: playback decisions with `_playWhenReady` - 6ca25fd: track tile `playCount` & `latestListenDate` not refreshing properly, ref #323 - bfc574e: theme not refreshing after toggling pitch black setting - b6ec9a4: playing on next/prev when enabled - da6e3b3: keyboard showing after closing popup menus - 31b18b0: channel subpage overflow when displayed as fallback of video tab - 2040ae1: picking videos when source is specified - 8a756ee: track tile playcount not being refreshed, ref #323 - d642e5e: allow opening external links on android 12+ - the universal wildcard is not accepted - 2acd505: history empty space when shorts are hidden - `package:youtipie` internal fix of shorts not extracting in some cases - 1d38cd0: broken js player code extraction in `package:youtipie` - 361963b: fallback artworks from the same folder they are now also more restricted, only known cover names will be picked instead of fuzzy matching, ref #338 - 5263714: smol bugs - 889e9ff: displaying total duration on cards - 4cbc579: picking files with specific extensions using native file picker - e757eaf: description tag extraction fallback - b148aa6: not using dark color when auto coloring is off - 156742a: parsing relative paths in m3u playlist, ref #342 - b4f6e86: pasting video id in yt offline search now brings the video - 365e68d: bottom padding in yt downloads page - ac434e6: albums in artist page are now sorted like the albums page - 8d598a3: false check of playback interrupted - 35bd5f6: refresh everything after indexer (separators/extract feat artists) change - 86faa34: playlist related stuff - c97e9b7: initial value for some ui parts like loudness enhancer - 044622c: volume mute when pausing and switching item quickly - 8a78327: not resuming after 7 seconds of track failed play dialog - cc3ba45: library sections (album/artist/etc) not ignoring text case - 38b4cc2: notification queue start index not accurate when there are comments this time we needed to check if the comment will affect the index or not while reversing the list - 5cc8731: auto sorting of recent listens in home page - 9c13272: channel subpages wont display empty items when failed to fetch new items - 0ad1425: fallback to low res thumbnail if failed - 424a36f: most played page not refreshing when changing time range - 0266cd5: possible wrong indices while downloading playlists - 68c7f88: download related issues - downloading after clearing group - pausing group and resuming causes to ignore audio_only setting - wrong playlist indices in some cases - 2be230f: some fixes - library pages sorting - sharing empty log file - yt local playlist items not being dismissible - 97a7651: make sure artists/genres etc are splitted when tags are edited - 96631aa: thumbnail fetching and no longer saving thumb copy while fixing ytdlp thumbnails - cbaca0b: channel subpage not loading the first time was caused by unintentional disposal of the page by replacing their global key - 55771bc: editing thumbnail for videos was removing the video stream - 9c5805d: folders searching - eb7b9bb: indexer stuck while indexing (hopefully), also - accurate path being extracted - properly dispose event channel on android side - dc8f331: non-accurate start day when opening "jump to day" dialog in history pages - 8024f5b: download related issues - 23d742d: channels suggestion in a channel homepage not showing - 8b29e7a: deleting history day/multiple tracks in a day - 0508392: attempt fix for thumbnail downloading partial data and saving if connection lost - 0089b43: yt sign in, ref #321 - bc0074a: silly mistakes >.< - 13a9f5c: duplicate playlists dialog showing on startup when m3u playlists are being added - core: - e155c4c: prefer using hardware decoders for efficient power usage this is a tweak for ffmpeg rendering introduced since v3.7.0 - d597b02: rewrite yt playback behavior - 0222ad4: improve tags extraction, ref $294 - f7cc288: properly extract & use embedded rating/moods along with app-specific rating/moods and allow editing - editing app-related stats now edits the tags too. and vice versa, ref #294 - 55594fa: save video thumbnails to their folder - 1ec99ac: change how yt videos are matched from filename now only requires `v=video_id` or `id=video_id` in order to get matched - a0fc75e: various fixes & tweaks, ref #342, #343 - 25a229f: add `animatedTheme` setting, editable by performance mode - with other smol perf boost - 5dcd5cf: allow mixed player queue * this does NOT address - unified ui tile for both local and yt item - mixed selections - mixed playlists - mixed history - mixed cross-session saved queues - 240d00a: refactor search related stuff - running search is managed by a single `int` - slight improve search page checks - fd01506: better management for duplicated tracks/playlists addition (which applies to yt playlists section too, instead of just adding the missing ones) - this was done while doing the new merge system of importing yt takeout playlists - a16152e: allow choosing whole directory when importing yt/lastfm history - ab05c51: migrate tracks.json to database - and 10000000x improve performance of `_addTheseTracksToAlbumGenreArtistEtc()`, this can be noticed while (editing tags/reindexing tracks/playing external files) - 38aa558: add flag setting to explicity allow experimental codecs like av1 & vp9 - now webm is prefered over av1 - the process is done using `List<VideoStream>.withoutWebmIfNeccessaryOrExperimentalCodecs()` - 0cdc56a: allow unlimited cache size this will eliminate cache checking at startup so cpu relief yeyy - 1d77806: force request playlist fetching - 1bd172f: enable/disable "include videos" option - 94fcc5f: replay gain for yt section - perf: - 32414e3: break early when getting cached playable audios for a yt video - e3791da: faster app startup time by ~1 second achieved by using sync methods. since most of the functions are executed on startup only - f07a978: use context for all `Obx`, `ObxO` & `ObxOClass` - 8bdea1e: spam `RepaintBoundary` across app tehe ;p - e68a461: optimize file extensions lookup this includes refactor for many parts - 61ebeeb: faster history/playlists/queues & others loading using for-loops instead of for-in the initial benchmarks showed 3x improvement for 80k history entry, tho this might be due to jit compiler, assembly shows that there is a difference anyways we stay safe - 7063e7c: `StringBuffer` for building lrc obtained from search - a4b2f9e: async cache read for yt pages - 9eaefe6: migrate download tasks to a db - aadf432: refactor download tasks page to make it faster lists are now lazy built since we got rid of `ExpansionTile` - 2ef6cd7: migrate track stats to a db - 48149b7: smol optimizations for history importing - 694066a: faster playlist download page startup no longer calculating files count in each download subfolder - d51ad94: significant improve for indexer missing tracks page loading - c093e6e: use async db operations whereas possible - c55053b: elimiate possible lag for yt offline search & yt tracks generate dialog this was caused by huge backup info map being copied, now we load a new one in the isolate which takes longer ofc and fix searching after search thingy - c8aea7a: cache yt info functions like `getVideoName()`, `getVideoChannelName()`, `getVideoChannelID()`, etc.. usually they can be cached in `tempVideoInfosFromStreams` but this ensures that info obtained from database is cached, providing faster cards builds, etc - 721bf5a: rewrite `_addTheseTracksToAlbumGenreArtistEtc()` making it significantly faster and more reliable eliminating possible related issues - 4d1d9ff: use `RawReceivePort` in some places - 735d0d1: migrate video details to db - this also includes rewrite for cache checking parts and other functions making it more efficient - code: - 341e5bd: refactor equality checks - 11597e3: refactor hashCodes - 3bad76c: use `Enum.name` instead of `Enum.convertToString` - bef2981: refactor `YTWatch` to use raw date millisecondsSinceEpoch - d993879: give PlaylistManager<T, E> what it wants - core(windows): - b87cd4d: waveform support - git: - dc78236: stop automatic build on push - 80a7674: improve issue templates - build: - bc03ee3: upgrade to flutter v3.24.0 - d592e7a: depend on package `lrc` fork, ref #294 - 1a088c5: add windows directory - 49e98d6: bump version (v4.7.2)
### 🎉 New Features: - 9b8d27f: album artists & composers closes #21 - a58231b: show loading circle while searching local tracks - 931c82d: play next/after/last when opening external yt link - 8426584: dynamic lyrics view, hides lyrics temprarily for empty lines - bb1dc7d: long press lyrics to enter fullscreen ref #171 - c838173: allow adding not found tracks as dummy tracks after importing lastfm/yt history ### 🛠️ Bug fixes & Improvements: - chore: - db055a4: various fixes, tweaks & ui changes ref #158 #176 #134 #132 - 9a22c6f: home screen pull to refresh - 409d464: dynamic folders tile height ref #152 - 2010c46: allow plain text lyrics to open in fullscreen ref #175 - d7afa9a: separate lrc font size for miniplayer & fullscreen - c71ac05: various tweaks + close keyboard on long pressing (selecting) track tile (useful in search) + fix multi tags dialog keyboard padding + ui size-animating particles based on sound peaks + code miniplayer AnimtedTheme() -> Theme() + ui display `x` beside speed in video screen + ui fix empty lrc screen when lrc enabled but not available - 7b811ed: buttons for sound control sliders (pitch/speed/volume) - f77ec3f: button to rotate screen while in video fullscreen - 874d06c: more stable wheel slider - 116a093: ui improvements & fixes + empty tile while removing current track from queue and next is the same track + app bar redundant rebuilds + yt miniplayer sometimes stuck - 32a5c3a: improvements for yt offline search ui - ae6c2c3: stop saving history thumbnails to cache - bb27bf3: lyrics search improvements ref #174 - bf11761: various ui improvements + slightly bigger go_to_artist buttons + buffer color for yt seek bar + keyboard show/hide loop when yt miniplayer is active & trying to edit text field + other smol fixes - 502bda8: ui tweaks + pull to refresh + buffer bar color + smol refactor - 9eecbcb: few various fixes ref #184 - d3de40b: increase touch area of prev/next button ref #81 - 6861861: add indexing percentage in app bar - 3070cbc: yt download minor improvements - cadde11: general ui tweaks - 0b65560: lyrics improvements - a1ec555: general ui tweaks - 2e6b377: display if there is a new version available in about page this might be an entry for in-app-update - e2601dc: allow adding multiple tracks to favourite playlist - 698ef61: some tweaks - 535a476: more informative version section in about page - a7a7bd4: hide next/prev while queue is expanded - 6b4c591: better search for track replace dialog after importing lastfm/yt history & when replacing history track - 73b4236: few ui tweaks + bottom nav bar text overflow & indicator color + drawer tile text overflow + general pages expandable container text overflow + core clear filenames map properly - 5aede6e: few fixes - core: - 939ec2a: better logging & versioning - 1431cfa: fixes n tweaks - 3265b52: bump version script - 17879c1: bump version script more feats - 6b27657: enhance extracted year tag - f8a3947: improvements for yt offline search - 18671d5: massive improvements & fixes for youtube downloads - f8892cf: delete excess temp yt thumbnails - 67f11e5: revert 1fbea99 & use clients was too unstable and same client couldnt be used again - 22f2e7e: improvements for playback execution limit - 1f63d95: playback improvements for crossfade - a8932c0: folders logic rewrite + deep directories extraction is now dropped, more convenient + pressing folder menu will show dialog with direct tracks only + long pressing folder tile or menu will show dialog with recursive tracks ref #151 - fix: - 5203cb9: video player padding insets - 56b1471: selecting duplicated tracks in playlists, history, queues, etc - 4af9640: unknown font glyph boxes by setting global and per-style fallback closes #183 - 196cd59: duplicated tracks after advanced reindex - ff64248: displaying track added date as 1970 - b51c302: mismatch between search menu & search bar after going to a page while search bar is opened - 47c2351: lyrics decoding for non-latin chars ref #188 - 060ccef: lyrics view silliness - f59f23f: lyrics empty screen in some cases due to plain text recognized as synced - ca68161: resorting media tracks after history is prepared - 0b00181: fallback for faulty sd card path ref #199 - 87c59b0: queue related activity ref #163 - perf: - 2fcfd1e: run auto-fetching-video download in isolate the video fetched for local tracks - 6c041c0: miniplayer & others ui performance/tweaks - 14a5fdf: limit color & audio playback rapid executions - e4c4583: improvements for deleting cached data - bd3bf05: run thumbnail downloading in isolate and generally improved api - 7a63a6e: run lyrics search and parsing in isolate + dio is now dropped - 1fbea99: use requests instead of clients to manager force aborting - 58ddd21: massive ui performance improvement by abandoning animatedtheme at top level and manually toggle animated depending on miniplayer animation
### 🎉 New Features: - 09e8c11162582814bea765687c981b211fa11f84: equalizer - 2bc89dcca989c47faaec9859788dc9e373e00080: 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) - 241dcfaf46cb5e6d93eea86be69da30bb94c57a8: auto backups, ref #69 - 62263d57d2fd889e494133010490d7495db165fd: fallback to folder cover, closes #122 - fab509da9f10dc84f1ff6ac22ad490b964956df6: set music as ringtone, notification or alarm, closes #4 - 18d4892a0daac72cc1c8adc11ed2355a91e80972: youtube queue generators and some redesign - b67fa6f9834f7869f5eb93da844dba0ccfa2e56f: previous button replays option, closes #112 - c3338fab2082577f59c8f459c978bb7779f21c7d: 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 - 715b75b9021bf8db3e0b23836a738e32eb2ac106: copy lyrics to clipboard - 42285da53409082d3293f10cfc189b41a2665a73: refresh library on startup option, ref #111, #119 - 5c832b02bde7f9250f3e4c5f7b1c84f37514ff4f: action when adding duplicated tracks to playlist + undo button, closes #120 - 19bbf117ced7b4272ee2bee0fcf2c8082eafa5fc: pull to refresh m3u playlists for main playlists page and m3u playlist subpage, ref #125 - a6e767ebd24908035699537f3c264fdc37bbc4a6: clear audio/video cache for playing yt item ### 🛠️ Bug fixes & Improvements: - core: - **6b147a2a59e755d1b561db8126c18f9b026e8b88: IMPORTANT: player settings refactor, some previous settings will be reset** - 16aa9f5dee1661e404f74d75ea1c26941bff8818: video library rewrite + video playback is now properly a/v synced (ref #1) + pip mode is now stable - 4c4471eb9a5b62e72d602ddfb2ea14e5d2e9e07d: exclude webm & hidden files, ref #108 - d7bb2bf2fdfd3a017eea691825e60bf6a0823e8a: wakelock logic rewrite - c7ad8832ca3b7232aaaaf6aff0dd66c383753a9e: allow audio only playback from cache when no internet - perf: - 961e8afa366b0f4bfd0975b42422006c41ddca34: sort initial history top items in isolate - f227d05df61d417656862242c638ebcd5aaec845: Directory.listAllIsolate() easier to allow multiple dir listing in the same isolate - 96a768b09f1779c5e8dd8d2c598fba5e389bce64: faster backup dialog opening by runnning calculations on isolates - 35b543fae2c6e552f18fa6ac0faf1d555c603946: accessing latest queue in O(1) - 397aa0e36796ac7eaa46cb89a80b62fc80af0e7f: close stream subscriptions manually - 26224d7c59abd1cde05cf4846931d66cc9d7dfa4: release resources after 5 min of inactivity - 69cb045371028bf7f95ebd721f717b260324a7fd: some ui tweakies + AnimatedSizedBox instead of AnimatedContainer - chore: - 7380108604faa702b7baef6d83d221737d105e22: yt local search ui tweaks - 1c2bb1741a10ba6da982844ee2c7e0dad8b2232e: monitor clipboard only when search is active - 298082798b07010d1bce192b55f3fef564ca1c1f: semi transparent system nav bars when tapping video in fullscreen - 030f40b802c0df34fc25e5ac8b41759b301183d4: refactor miniplayer bottom row this allows for more icons without overlapping with text closes #50 - 1b889efaa17607806156dc76fe70ab48725bbc9b: various tweaks & fixes - 20610805419de99cc91cb3a11dfadcdcf7224f55: miniplayer dimensions tweaks - 889061c1a910d6555bf4af23f615371304d4e2af: ui thingys - 8c7b45f4ba4e8b7fc6fee9527d7318b0a25ae3f5: skip dummy videos in queue - 4cba1016d7c341e3594a2c798ef78ccb15498a11: dispose yt generator & search resources after a timer - 8cf0ed60ba2597093eea0cad47788f7a01fdaf5a: ui tweaks - 4333056a0480f37f61d574c6e4af464804a3470b: ui stuff - 531d9752664372324eb4291f8425c1d1de15bfba: some fixes - d163aca13c9b10b375a29140fa753174804ad8bf: increase hit area for some icons - d0aaf868300581040398680170d062a25e30f3d5: ui tweaks - 59a920cf400b08a823d932e31a0a1f8c4b7b67e7: faster video tap detecting now will only delay if pressed at seek areas - 31ee86d5dfe6c3d58ebd10e7a40c75fd8f49db07: more buttons for video card + play + shuffle + pause after this + play after - 9fd1c451eacce6d0141de7f71cca99893671fd99: scrolling steps for tracks page - 4d5c41c7592087e95f21cfe61abda5dea9846b45: menu for current yt video + repeat for n times button - 4177354497d5c9271e36d5914cbb064a10dc4adf: some tweakies - 47bc40748deb34bb7d6bfe0317ab49fb1b38cd58: some tweakies - 3aa0956efc6e2da44b1ce1dbf685390c687e5705: equalizer toggle tap to update button - fix: - 54aeac5ab8389f0f57bb7c00069ef407f69fc80d: default library tab name in settings, closes #104 - 3c12410d677e7452ffb45b3a6d689bba7856998a: auto brightness always dark, closes #105 - 1889ca850acb77c87accb7f980303ad90ba2e2ab: home screen items not playing - 6dc31fb17435fd7c5a9c1ebfd7dd853e82bcf365: tracks page grey screen due to animation controller not being reinitialized properly - 3700df07afad911cd1e8133e0f96766d2a7dbefe: yt miniplayer getting stuck after coming back from pip - 14ec3ed36cdb35ae2f7e492aa9b8bc80e576f601: yt miniplayer physics broken after pip - ed02698744de808e09ca1c8ef2b8d3750e90cf30: min track dur to restore pos not saving properly, ref #112 - b675fc846e4e533954d6a56c8b1de1e1fcc7aa39: lyrics parsing in some cases this brings more advanced lrc parsing as a fallback - 52d485523f9c3e177b63e69ae5f218efa2bbbfb1: laggy tracks page scrolling this came after pull-to-refresh feat - 1f10167b40ff0bccd44b8a64fab84b9095059726: empty top history items on startup when set to specific period - f148dfb1d8171e02968ad2a12274bb9741a45bce: refresh doesnt detect new folders, fixes #119 - 9d182a8d507b494a4aeecb1c165e46c4c1e6eb7e: comments line break - 2f1c9d819f6387b0fc184412d23cfec796d6988d: setting video last accessed for cache trimming - 7879155c61f55a4aea8e1636117ffdce7bf0a254: pip black screen - code: - e2338cebc040d3e4cad20f73bddb0bdd36e4139f: project refactor - 69a93681c7799f591cfc6f9911b40bc67ee51e21: move audio_handler to lib/base - language: - Added French ([@yannouuuu](https://github.com/yannouuuu)) - Added Indonesian ([@firmw4](https://github.com/firmw4))
fix issues introduced by v1.9.2 - fix: - 962a1d8dda5829950f2b50e64f2acb826901407c: doubled tracks after refresh, closes #98 - 0fbb759bb6cbf0a23d47637f035947be3dac52c8: stuck on startup due to latest queue casted as Map - chore: - 5e1883bcc56292a6e358140df1863d54849eb050: go to channel button for comment cards - 8461fb13f33157937d3589062a237d0a316f3a5d: ui fixes - build: - bd993d9fc5a8f755022cca4fd1a65237d832d920: change apk output filename