Skip to content

Releases: namidaco/namida

v4.7.2

22 Nov 19:45
Compare
Choose a tag to compare

🎉 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
      -...
Read more

v3.8.5

05 Aug 19:27
Compare
Choose a tag to compare

yt login arrives safely! this update mainly brings youtube login & its related actions and provides support for more audio formats like alac/eac3/dts etc, with many rewrites done to improve performance. pls note that most account actions require u to be a patreon. here is the full changelog set

⚠️WARNING: READ BEFORE INSTALLING⚠️

  • since beta v2.8.8, app signature has been updated, which means u will need to clean install, check v3.8.5 Installation Guide to know how.
  • as stated before, youtube account actions are in early access which require membership. memberships can be obtained through [patreon] (https://www.patreon.com/namidaco).
  • through the next few days, earlier supporters get one-time coupons on their email, while viewing user playlists requires no membership at all.
  • signing in is your complete responsibility. we are NOT responsible for any issues that could be caused to your account due to any misusing.

🎉 New Features:

  • 9e3a937: reactive folder scroll icon after pressing "go to folder"
  • 06be631: undo player queue track dismiss
  • f4373fc: undo for yt queue dismiss
  • 8c450fd: custom dialog on pressing performance mode which also allows changing artwork cache multiplier
  • 31af954: lyrics for youtube (only when youtube-style miniplayer disabled)
  • a5badc2: sort folders ending with numbers manually this allows folders like Music 2 and Music 12 to be sorted properly based on number not text
  • 0647e83: long press favourites button to add to playlist in miniplayer ref #223
  • dda4ca6: "go to channel" icon in track dialog when track has youtube id and channel id
  • 995eba0: add "mark_video_watched" as a flag in youtube settings
  • eb651ef: expose innertube client as a flag in yt settings
  • d1cdc2e: flag to enable white bg for videos
  • 6812f61: flag to disable dim in light mode
  • 4a1027a: support play alac/ac3/eac3/dca and other formats ffmpeg is now used to play (vorbis opus flac alac pcm_mulaw pcm_alaw mp3 aac ac3 eac3 dca mlp truehd)
  • 4006adb: allow importing m3u playlist as normal playlists - and expose auto importing of m3u playlists - this involves redesign of playlists page header closes #217
  • 9f521e9: delete tracks permanently from track advanced dialog ref #66
  • 51f4f6a: always expanded searchbar option
  • 268ec9b: auto start radio when enabled, adds a mix playlist automatically when playing a single track
  • dfb5dc5: add mix playlist button in add_videos dialog in yt queue. this introduced new InsertionSortingType.none
  • feat(yt):
    • e82f32a: comments sort (top, newest) this required redesign for comments header, which required Widget implementation for PullToRefresh
    • 938af52: description and comments native style
    • 098a604: youtube login support comes with subscription and fixed feed ref #227
    • c3adcd1: user notifications ref #227
    • 02c9d8a: display red line under video thumbnails with user watch percentage
    • f462bce: list user playlists ref #227
    • 3391ac2: comments like/dislike ref #227
    • 5fd9a90: comment replies ref #227
    • c3b6742: video like/dislike - this forced yt local favourite button to be moved to video menu as "favourites" button & favourites playlist tile inside add-to-playlists bottom sheet - also "Liked" Playlist name is reverted to "Favourites"
    • 34a10fe: channel subscribe & notifications this comes with across-pages safety, hitting the button in a place temoprarely disables other active buttons so damn cool oh ye and a sneaky lil fix ref #227
    • 0addb27: list user history (horizontal list in playlists page & dedicated vertical page) this includes improvements for lazy list & changes for main fetcher page ref #227
    • 2d12b32: mark video as watched works flawlessly with connection issues & accounts switching
    • dfeb7d4: control showing of shorts and mixes in relative places
    • f8c09f6: add/remove in youtube playlists - supports bulk videos too hehe - a promt while adding bulk (add all & remove old ones, add everything) - create playlist while adding - getPlaylistsForVideo allowed without membership
    • f017377: show channel watermark in fullscreen (optional) ref #227
    • 51a818d: allow saving yt playlists to online library
    • a632fd4: edit yt playlists comes with rework of many yt playlist-related parts

🛠️ Bug fixes & Improvements:

  • chore:

    • 244fdd8: allow m3u8 to open with namida
    • 4dacb21: some (many) fixes n tweakies
    • 1491f50: improvements for artist/title extraction from title
    • 6cd441d: some tweaks
    • 356d68b: prevent backup/restore while related things are runnning
    • d3d32e0: add mono icon for monet themes by @sujxl24
    • 3bb2e12: increase default max video cache to 4gb muhehe
    • 4d431db: smol fix for video comments while fetching next
    • 9eed0da: prevent opening indexer missing tracks if related process is running
    • ebcb12f: better ux when updating tracks/dir paths by disabling dialog tap to dismiss and confirm button while updating
    • 5e4c3e3: various fixes & tweaks
    • 7c750b3: favourite button in notification now works for youtube
    • f0cd073: fixes n tweaksss
    • 00cae0f: various fixes & tweaks - fix thumbnails in notification (hf) - fix initialization for pullToRefreshMixin - fix tracks search list not refreshing after sorting - properly show remaining duration in lrc fullscreen (if enabled) - ui tweaks for channel page & subpage - properly use PublishTime date as utc
    • 1f7b860: cutie fixes
    • 49e9c55: pull to refresh in yt playlists subpage & other tweaks
    • c746c82: improvements for notification info
    • 6ac49c7: various tweaks n fixes
    • 0ebbcd6: tweaks & refinements
    • 57d437c: 𝓼𝓸𝓶𝓮 𝓻𝓮𝓯𝓲𝓷𝓮𝓶𝓮𝓷𝓽𝓼
    • 89ed743: remove failed icon in youtube thumbnail the top right 'danger' icon indicating that no thumbnail was found
    • 21a476a: open external playlists directly - no more dialog to prompt action, this also speeds up things since it doesnt wait till initial info is fetched - some tweaks for playlist cards too
    • 8df7c75: force video thumbnails obtained by url to be saved in "YTThumbnails" instead of "YTThumbnails Channels" which is for links (channels/playlists/etc) - this fixes missing notification artwork for these videos
    • 16cdb22: option to sort albums by record label
    • 9f48569: freaky adjustments
    • 0ad3722: allow yt download notifications to be dissmissible when paused
    • 68457aa: soomee some some
    • 9778f36: freaky ahh ui tweaks - remove namida logo from empty search menu - update notification heart button after updating inside app - dont display empty tooltips - disable hero effect when opening add_to_playlist dialog - pull_to_refresh animation only if mounted - other minor stuff
    • b3c08e6: remove stats button and move section to settings > about or sidebar > namida
    • 2133df3: various tweaks
    • 666ee1c: some fixes n tweakies - hide "go to channel" button for playing video menu in yt miniplayer - use network like button instead of local one for youtube videos in local style miniplayer - more items in menu of youtube local style miniplayer - fix cache related thingys - perf smol refactor for TrackTilePropertiesProvider
    • a8d5978: include channels in yt search
    • 8ce985a: save recently deleted tracks to a file
    • c5f19b4: apply "on notification tap" to yt miniplayer too previously it used to open local miniplayer or local miniplayer queue only, now it do the same for yt miniplayer also
    • b2c9534: re-arrange clients in yt flag settings
  • fix:

    • f8d208c: splitting artists/genres with blacklist
    • e58be1c: faulty folder path while downloading multiple videos
    • 36adaee: root fix for yt download location thingies reverts e58be1c
    • 2433f30: albums & artists pages non-reactiveness
    • ed56dd7: ui related values
    • 446ac7f: m3u playlists path extraction
    • 784263c: dialog popping at startup causing black screen
    • 4db65a5: downloading video/audio when not needed
    • e869894: yt download bullshit
    • 5b2d098: patreon sign in with google
    • 0cd1510: yt thumbnails not showing for some videos
    • 71679c2: acc/membership related thingys - proper network fetching if connection was unstable - fix patreon login not redirecting back after authentication - depend internally on operation requires account - refetch current info on account changed
    • 867aac2: thumbnail related cache files
    • 3cc047d: build due to local libraries
    • 2afb697: hide shorts in horizontal history not normal history page
    • ef65992: fix yt downloads
    • 312b12a: pull to refresh
  • core!:

    • 569d0c0: migrate some yt settings to their file
  • perf:

    • dad2464: tooltips rework
    • c556cea: use splitFirst & splitLast methods
    • a9fb736: migrate to playlist_manager v1.2.0 new implementation for favourites playlist which depends on a lookup map
    • 43adcf3: detach reactive vars from TrackTile and provide using main provider for whole list and internal improvements for tracktile info builders
  • chore(yt):

    • e62f47b: cache & data directories thingys
    • 554c40f: better channel/playlists streams management
    • 261d41b: fixes and tweaks
    • 8bf29ac: fixes etc fixes etc
    • 4ab32fd: change tabs header to icons cuz starting to get cluttered and hard to reach a page
    • d84bea7: some tweaks
    • dd1eb4a: display shorts in horizontal list in feed & related videos
    • a09eff8: confirm before removing video like
    • adea6db: show account header in yt playlists page
    • 38e7bae: confirm before removing video from playlist
  • core(yt):

    • dc1d784: identify av1 & vp9 streams and present them separate cache file
    • 61bc5df: massive playback fixes & improvements - when playing cached video & streamed audio - adding video/audio info after they are cached - oth...
Read more

v2.5.6

22 May 14:08
Compare
Choose a tag to compare

this one is mainly a cleanup & preparation for the next one, next update main goal is to bring youtube login.. i still didnt decide how the access should be but anyways for the next month namida is going to be in a kind of idle state while switching to the new client. here is the changes until the next one !

🎉 New Features:

  • 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:

    • 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:

    • 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

all the best!

v2.0.6

07 Apr 15:50
Compare
Choose a tag to compare

v2.0.6

🎉 New Features:

  • 752c3b4: clear audio cache in advanced settings
  • a3b2b58: allow deleting temp cache files
  • 044f010: pinch in/out to scale lrc font size, ref #128
  • a669ad4: use local track as a fallback youtube audio cache
  • 966818d: parse yt comments duration text
  • 15ec081: play youtube videos in local miniplayer option, closes #19
  • 81929ab: toggle artwork on lockscreen
  • d8d2a0f: broadcast session id for equalizer apps, closes #60
  • 4c4104e: queues cleaner
  • 00bd918: missing tracks page, closes #117
  • 7555298: new yt miniplayer gesture, drag down from right side to enter fullscreen
  • 39ec392: new in-app file picker with external picker logic rewrite
  • 92ba4cd: diacritic support, improves search by normalizing accent characters, closes #73
  • 9964839: lyrics source
  • 0efb32e: custom speeds
  • 9b8d27f: album artists & composers, closes #21

🛠️ Bug fixes & Improvements:

  • core:
    • 57b3cea: better player error handling
    • 9261543: better video quality decisions
    • 0a17af1: tagger logic complete rewrite
    • 1285c2a: tagger fixes & improvements
    • 18c9cf7: inner drawer re-implementation
    • 5ee66a1: instant play/pause reflecting, this also prevents unwanted plays after pressing pause
    • 831258a: disable yt video stream switching if cached version was playing
    • 6a076fa: better playback decisions when played from cache
    • 6d9f5c4: fallback for storage directories
    • ab521f3: adaptive playlist csv import
    • 939ec2a: better logging & versioning
    • 1431cfa: fixes n tweaks
    • 3265b52: bump version script
  • fix:
    • 88ba1f9: playing files on some phones after equalizer implementation
    • 7a8135a: pull to refresh in tracks page when no many tracks (no scroll notification)
    • ef9fdc6: show video grey bar in fullscreen
    • 250fb05: short loudness when preset is enabled
    • bae60f8: white dialog when no track artists, closes #126
    • 15de106: lrc controls overlapping in fullscreen, closes #128
    • a81763d: prevent editing tags again while editing, this prevents corrupted audio file if user pressed save multiple times, closes #129
    • 168d653: search matching for non-lowercase artists & genres
    • 9a9b25c: tagger stuck in some scenarios & other tagger fixes
    • 060dcb8: yt playlists/channels thumbnail not showing
    • 864749a: scrolling in some app parts
    • e97d7e0: applying default dark color on startup
    • 5987f77: playback on some devices
    • 8580464: searching letter l & I
    • 5203cb9: video player padding insets
  • chore:
    • 8c13c38: play option for floating action button
    • 3c8bb30: video cache deleting tweakies
    • 2ab36da: sleep icon in yt queue
    • 613ff6e: fetch all channels videos since specific date
    • eccec09: remove - topic from video artist download tags
    • afa940b: ui fixes & others
    • 7a614c8: ui sauce
    • a6a3ebd: instant video controls showing, double tap to seek is detected only after second tap, instead of waiting
    • 509dd88: various ui & other tweaks
    • 04ee67a: lil bit faster startup
    • 7423e49: drawer ui fixes
    • 86edc2d: yt miniplayer drag tweaks
    • a5aed68: few tweaks/fixes
    • 3ad445e: use session id when opening system equalizer
    • 13c374c: fixes/tweaks
    • 1433488: tweaks/fixes + comment copy will parse html first + yt description duration tap will seek + smol tagger fallback issue + show buffering in miniplayer when not using yt-styled miniplayer + theme color dialog refreshing + perf app will not be painted when miniplayer expanded + fix queue item rebuild issue on reorder + drawer tweaks & others
    • 2fa656a: accurate current items being extracted in indexer settings page
    • 09301ec: various tweaks & fixes
    • 828ce5f: many performance & ui tweaks
    • 49a1aeb: pressing download item will open menu instead of playing
    • 63515d4: yt miniplayer bottom empty space when app bottom nav bar is disabled
    • 914e989: delete old auto backups (max 10 files) and fix empty auto backup file, ref #69
    • af841de: refactor & tweaks
    • b2c71ee: confirm before removing from yt playlist
    • 267e1a3: various tweaks & fixes, ref #142
    • a2dca2e: selectable video description
    • 0a83e58: expandable extracting paths in indexer page
    • 7d898e7: minor tweaks
    • ea8ff84: skipping failed plays properly if previous button pressed, we skip to previous if failed
    • 61ccf03: smol ui tweaks
    • 654f06a: playback tweaks
  • build:
    • b5e8bf4: dynamic package versions
  • code:
    • d3cb34b: refactor regex & link handling
    • 9e8b1da: refactor yt card dimensions
  • perf:
    • 50163b1: ui refactor
    • 7b81c7c: migrate to TapDetector & LongPressDetector

v2.0.1

14 Feb 20:16
Compare
Choose a tag to compare

🎉 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:

v1.9.3

08 Jan 12:59
Compare
Choose a tag to compare

fix issues introduced by v1.9.2

  • fix:

    • 962a1d8: doubled tracks after refresh, closes #98
    • 0fbb759: stuck on startup due to latest queue casted as Map
  • chore:

  • build:

    • bd993d9: change apk output filename

v1.9.2

07 Jan 19:46
Compare
Choose a tag to compare

v1.9.2 here! youtube & performance were targeted in this one.

🎉 New Features:

  • 447469f: offline search for youtube
  • a9a8739: youtube top comments
  • d60024b: channel subscriptions
  • 9693396: import yt subscriptions from a takeout csv
  • 867f803: import youtube playlists, ref #1
  • cc68230: seamless transitioning when playing same item in another queue
  • 1528947: color palette for albums when groupArtworksByAlbum enabled
  • 7a4f21e: sort yt playlists and smol fix while importing
  • 30fb059: sort by most played and recently played, closes #90
  • ec57c17: swipe down to refresh library #78
  • db22eaa: channel subpage view, ref #1
  • 386c831: sort hosted yt playlist videos + button to load all
  • 45c16d5: remove playlist duplicates, closes #87
  • 8b4c395: restore latest yt queue on startup
  • 3148650: yt queue chip, ref #1
  • ef7ab43: reorderable youtube playlist videos, closes #97
  • 5bcf955: watch later yt playlist, ref #1

🛠️ Bug fixes & Improvements:

  • perf:

    • f02525f: skipping new queues process when playing from player queue (now will just skip to the item, no normal heavy checks of assignNewQueue())
    • 5220e7e: search local tracks only when tab is active
    • 3362ba8: calculate history items extents only when needed
    • 2af3054: close some streams manually and some other improvements
    • c0ed850: dispose some TextEditingController manually
    • e9ba9c1: waveform improvements
    • a33dff0: assigning instead of ..clear()..addAll() and color extraction delay in home page
    • ba70591: significant ui performance improvement, achieved by - using child in AnimatedBuilder, smooth yt miniplayer & queue in normal miniplayer - keys for ArtworkWidget & YoutubeThumbnail, loading now only done in initState - using Container instead of ClipRRect - some refactor
    • ebd8d22: refactor to allow multiple children for AnimatedBuilder
    • ff7e78c: artwork loading optimizations and overall steadier scrolling experience
    • dfb04bb: youtube thumbnail optimizations
    • 071d810: artwork fading effect improvement
    • 63d3dc5: run import lastfm history on isolate not so many benchmarks but at least 80% improvement + ui load is decreased
    • 2601979: run import yt history on isolate 60k entry in 10 seconds lmao
    • e67c281: faster dialog opening comes by not waiting color extraction, instead extracts synchronously then rebuilds
    • 2c67645: run all searches on isolate #61
    • 0aaba54: save yt videos & channel videos in memory
    • e10ee0f: faster video assigning at startup by attempting to assign one before checking for deleted/new videos in cache
    • a71db57: home page & ytplaylistview improvements closes #56
  • chore:

    • f19e123: always ask when opening external yt playlist
    • ad97bf2: option to open playlist videos page for external intents
    • 8a18941: add as a new playlist button when opening external yt playlists
    • f937c5a: auto detecting playlist link while searching
    • d182e77: some goodies && tweaks
    • 628ba9b: performance improvements and fixes
    • 5dea8b1: refresh library icon in indexer card
    • a2f357e: new stratergy to mark field as changed
    • 01f0223: compact channel info in yt miniplayer
    • f30cff3: delete icon for queue when its empty
    • 8bdeec7: sussy tweaks
    • 19f6b11: minor fixed/tweaks + isInYTCommentsSubpage check when popping in yt miniplayer + longer doubleTapSeekReset (900ms) + image delay bug introduced in a33dff0 + unsorted yt history bug introduced in a33dff0
    • 6818a61: ui tweaks
    • 709febf: toast when importing subs/playlists
    • d7797cc: display description/comment in yt playlist pages
    • 0dbf341: top comments true by default and smol fix
    • aa43912: some tweaks
    • 8acfc81: temp workaround for playlists with hidden videos to stop fetching more items
    • db989eb: history import refinements logic changes, should be a lot faster
    • 40fa467: shuffling all items will put current item at first #88
    • 0e02c15: improvements & fixes
    • db5642d: transparent system navbar
    • f5cdc2d: some tweaks
    • 1266500: add comment as track search filter
    • b1c9287: allow separate listen time local tracks, youtube, local videos
    • 68a1395: restore yt active tab on startup
    • 12a6106: go to channel button for video cards
    • 53d8d03: expose yt download location closes #93
    • 3731eee: stuff & stuff
    • 1431c81: more stuff
  • fix:

    • 5939e3a: not entering pip with yt videos
    • d9c1a30: folder changing not being synced in playlist download page (top widget and the one in config dialog)
    • 5d2f877: listing non-existing directories
    • f7aadae: late initialization for miniplayer dimensions
    • cc8b3f0: tapping the current item in queue will play/pause
    • e14ecac: possible fix for waveform being out of sync #34
    • 28035eb: not pausing when jumping to first item when crossfade is disabled + stopping methods fix
    • 00387df: yt comments not loading properly
    • bd1e40b: yt downloads will prefer not using webm format
    • 4703c96: disable skipSilence for youtube causes desync and just not worth
    • 8b27462: gigantic artwork scale & waveform bars when bitrate is high
    • 3c703d4: opening external youtube links
    • 9d6e4a0: mis-aligned popup menu
    • 109a6d0: waveform bar width after coming back from landscape
    • 291df20: video still downloads even after disabling video playback
    • 7154054: track tile items not being updated properly
    • 34c8a95: removing notification after sleep timer this allows system to kill namida if needed, since no ongoing notification is attached
    • 17d917d: properly stop after sleep timer stops playback and kill notification, allows android to kill namida if needed
    • 5dd1b5d: save track info file after updating duration
    • de3ee38: hero animation for history tracks while opening dialog
    • cc61d73: possible fix for fake error message, closes #86
    • 9247543: playback issues especially when failed to play files + properly kill service when stopping closes #71 ref #92
    • 9c91361: stopping player on queue emptied
    • 717de50: minSdk 21 (Android 5.0) & fix desguaring issues desugaring disabled was causing crash in retrieving channel videos methods
  • core:

    • 5472b9b: change yt images cache name logic
    • 439a8da: better search matching - order of words wont matter - u can use artist + title and still get a match
    • 97f5f69: enabling media store will disable respect .nomedia & folders to scan
    • a0a1c13: better yt local search matching
    • f7f20db: revert e10ee0f hehe, the updateCurrentVideo is already called inside player, calling it at first step wont matter, mostly the track wont be even ready also updateCurrentVideo will not return if still initializing
  • code:
    ...

Read more

v1.8.5

03 Dec 19:48
Compare
Choose a tag to compare

in the service! this one focuses on youtube part more, and bringing many other features.

🎉 New Features:

  • 204d4da: search in settings
  • 302bfd6: floating action button (none, search, shuffle)
  • 17bcf73: separate sorting for search tracks
  • 2031d74: artwork gestures - zoom in to enter lrc fullscreen (always, when lrc is visible) - zoom in/out to scale artwork (config, when lrc is not visible) - double tap to toggle lyrics (config, only when lrc is not visible to prevent delaying)
  • 0caecd7: subpages sorting reverse order
  • 493800c: most played page for youtube
  • 73f9a24: yt playlists support (normal, likes, most played, history)
  • a3a5d31: dismissible youtube miniplayer, closes #52
  • 20ad756: load language json dynamically
  • 01fbaaa: creation date for files (simulation)
  • 0c3e148: removeable yt videos from playlists
  • 9967af0: download yt videos logic + ui comes with pause/resume/stop, supports download groups & between sessions resuming
  • 090edbd: resume/stop for whole download group
  • 6903b32: jump to day inside yt history
  • a97b315: download filtering chips (all, ongoing, finished)
  • 4eb90dc: youtube playlists downloads
  • f7a3792: ability to cancel downloads for groups
  • c8f5a3e: downlaod yt playlists (hosted)
  • 5751399: support downloading multiple external youtube links
  • 1c4e022: zoomable playlist download page
  • 513a791: open-able external youtube playlists with default actions (download, play, addToPlaylist, alwaysAsk)
  • ea50869: playlist view (hosted) comes with cool stuff, revamped menu too
  • d147170: toggle clipboard monitoring (disabled by default)
  • c6cb134: restore backups on first installation #69
  • 5c426a8: dismissible queues #69
  • eeb50c1: parallel youtube downloads
  • 907e586: sort downloading groups by last edited and few fixes
  • 555c8f4: separate editable download items in batch download
  • e500d93: edit & rename download tasks
  • b942779: toggle clearing artwork while re-indexing

🛠️ Bug fixes & Improvements:

  • chore:

    • fadffd8: various tweaks & fixes
    • 5189dec: ui fixes
    • 36b78c4: downloaded yt music is force added to library replacing any old entry
    • bfdefa5: max list tile title lines
    • 0f5670c: history import wont remove old listens in same time range and will only remove duplicates after finishing, extremely useful for when u already listened to videos in namida and want to import more
    • 0593c86: 200ms delay when searching, for steady feel, #61
    • 2afc16e: display if video is dowloaded in miniplayer
    • e6886da: choose download folder group while downloading yt video
    • 4236835: yt download task info dialog
    • 9e9cff0: real-time like button for downloaded item info
    • 1e35ea6: download confirm dialog (before delete, cancel or restart)
    • 6d484b7: few tweaks
    • 726b8a8: more yt download item info inside info dialog
    • 3953013: file size try-catch
    • 910e7ec: skipping if failed to play from youtube
    • a7efa12: few tweaks & fixes
    • 3217061: restoring backups manually no longer needs all_file_access permission only needed for automatic
    • fdf9237: abosrbers for dismissible queues, #69 to allow more space for swiping right to open drawer
    • c818f31: download sheet loading ui rework
    • 7026a1e: in-between selection for batch download page (by long pressing the item)
    • 0031d46: hide fab temp while scrolling tracks page and force show when search is opened
    • 1e9fc0e: few fixes & tweaks + lrc view now has wider hittest (while tapping on lyrics line to seek) + fix skipping multiple times when crossfade enabled + player should be killed after sleep timer
    • dc07003: disable crossfade for youtube still has some issues, and doesnt feel like its worth
    • ea5d4c2: assign downloads progresses on startup
    • 1390d86: persist audio-only playback for youtube
    • c4ce7b7: save playlist videos info to storage
    • d2ff8b3: some tweaks
    • fa8c53f: optionally remember audio-only mode
  • perf:

    • ed91f91: performance improvement using custom Opacity & MediaQuery.propertyOf()
    • 8395cde: improve search speed by 10x-30x~, #61
    • 6e445ed: improve indexing speed by 38%~ this comes by dropping isolate, eliminating the need to serialize/deserialize data, reducing overhead & resulting in a more stable extraction
    • 57d3758: listing backup dir on isolate (for auto restoring)
    • e22c223: limit thumbnail requests to 4 at a time
  • fix:

    • 59a7dcc: playing after sleep mode paused playback
    • f291575: restoring backup now will re-initialize lists
    • a38e02b: onBoarding button overflow
    • ac117f5: writing youtube metadata with quotes
    • 90dd7d4: resetting color when toggling pitch black while playing yt video
    • 8c5aa9f: thumbnails not rebuilding
    • 4f85116: time prefixes after switching language
    • 5079801: indexing stopping before starting just gave up on cancelation tokens, now will just display a snackbar and return
    • 2f41539: clearing image cache
    • cdf7e1f: start up with search as default tab
    • cc30f78: user backup location not being used, #70 tehe
    • fee4472: dont display failed notification when pausing download (since pausing typically forces closes the http client)
    • 2fad41e: pressing batch resume button won't restart downloaded ones (both resuming and restarting share the same logic, since the client is already closed, and we always resume downloads)
    • 1bc434a: startup crash on some phones
  • git:

    • dbff88d: stop tracking language submodule
  • code:

    • e719215: move ffmpeg quote refining to internal class
    • 8658713: delete pubspec.lock
    • 6c94265: experimental AZScrollbar
  • core:

    • b5eb426: new language logic currently accesses the lang map directly, without needing to assign each key manually
    • d3a6c6f: now accepts multiple keys to add/remove
    • 6ddf894: downloading video extension is now auto assigned this is required for editing filename in batch downloads
    • 17bb0d8: disable title & artist splitting when splitters are not separated by space
  • language:

v1.6.8

06 Nov 16:22
Compare
Choose a tag to compare

🎉 New Features:

  • 1dda153: Crossfade support
  • 5535233: Crossfade for youtube playback
  • 90651ae: Media Store API Implementation
  • 8fe2959: Heatmap view for listens
  • 415ce4e: Dismissible Miniplayer
  • 02c3565: Swipe to open drawer option
  • 64cf448: Immersive mode (Hides Status & Navigation bars while Miniplayer is expanded)
  • b7aa325: Add filename to track search filters
  • b3e1ee1: Prioritize embedded lyrics option
  • 800965c: Kill player after app dismiss option
  • 0caecd7: Subpages sorting reverse order

🛠️ Bug fixes & Improvements:

  • chore:

    • 5189dec: ui fixes
    • fadffd8: various tweaks & fixes
    • b0b33fa: display track path for missing track
    • 20cb638: more local lrc file patterns #46
    • a26ddd0: increase skip silence values (min 2 seconds, below 512 pcm)
    • 39d13c4: sorting by year (now parses the year first)
    • be45274: KillAppMode.ifNotPlaying by default
    • 768f852: aborbers work only on horizontal drag
    • a532c97: expose auto show status bar for fullscreen video (currently disabled)
    • da04489: save m3u paths as relative instead of absolute, as long they exist with the parent m3u
    • 39d7fc8: drop useless settings flag
    • e225098: miniplayer ui tweaks
    • 983464c: lifecycle onDestroy
    • 0ab0292: save last played track index instead of path
    • d761003: add sort by date added
    • e033629: edge swipe absorbers for the whole app
    • df4c577: improvements
    • 2021394: add language button
    • ad131ea: performance improvements & fixes
    • ec56832: skip tracks after 7 seconds when failed
    • ea7d5bb: dont show system volume ui
    • 28280cf: using local history for video cache total listens sort
  • fix:

    • 3ed495f: jaudiotagger removed classes, this fixes all tagger issues reported before
    • d344461: lyrics not being updated properly, fixes #25
    • ef6e809: playing files containing # or ? in filename
    • 49b1ec1: swipe absorbers
    • 7a80567: track total & disc total saved by ffmpeg
    • 312b2bc: using failed google lyrics
    • e3f79bf: empty queue while switching to yt queue
    • e84f15e: folders search count
    • a38e02b: onBoarding button overflow
    • f291575: restoring backup now will re-initialize lists
    • 59a7dcc: playing after sleep mode paused playback
  • perf:

    • 4c41353: performance improvements & ui tweaks
    • 77a7481: perfomance optimizations
    • 7f77d63: youtube shimmer cards & scroll performance
    • b02bbed: main page loading
  • core:

    • 0d24bf3: custom lifecycle controller logic
    • d183655: experimental mediaNotification()
  • language:

v1.5.4

23 Oct 19:19
Compare
Choose a tag to compare

v1.5.4

🎉 New Features:

  • dbf8256: pitch black theme
  • b82dce2: subpages tracks sorting
  • d918716: m3u playlists sync (auto import/auto modify)
  • da105cb: play external m3u files
  • 6b06adc: video view dim slider (not related to system brightness)
  • c59229f: open fullscreen on double tapping video (local miniplayer)
  • 7d34cd1: force track colors for miniplayer option
  • c9919cd: display artist before title option for miniplayer

🛠️ Bug fixes & Improvements:

  • chore:
    • df4c577: improvements
    • 2021394: add language button
    • ad131ea: performance improvements & fixes
    • ec56832: skip tracks after 7 seconds when failed
    • ea7d5bb: dont show system volume ui
    • 28280cf: using local history for video cache total listens sort
    • c49c6b0: display elapsed release time in track info dialog (ex: 2 years ago)
    • b799e4d: playback improvements
    • 0595932: ui tweaks
    • b935ef5: downloading notification rework
    • 9889c32: request battery optimizations when downloading
    • 16c2260: ui tweaks
    • c1dfb51: minimum track duration to restore last position can be 0
    • 0378eb9: faster playback start
    • fc0e44d: vertical video padding
    • 8f68552: add tagger logger
    • ad9445c: ui improvements
    • 1ec35df: extraction improvements
    • e85cd60: more lyrics fetching search patterns
    • 0e8e1d5: playback improvements
    • 123f3a1: set landscape only if aspect ratio > 1
    • 455bb93: change default library tabs.. ppl are lazy to check settings
    • 0833d9f: sort by listen count while clearing video cache
    • 55cf7f7: few tweaks
  • fix:
    • 3a6899c: not retrieving storage paths
    • 4707c3d: showing failed fetched lyrics
    • dcdf50f: plain lyrics padding
    • 509002c: text overflow with non-ASCII chars
    • 7ccd697: album tracks sorting after editing tags
    • 906e10f: lyrics update in fullscreen
    • e5043ca: download file name special char
  • perf:
    • ebf0023: disable colors extraction on startup
    • 3bf0990: cache videos checking on startup performance imp
    • 8054329: efficient scroll jumping animation
    • 0e32f1e: video files fetching at startup
    • 4c145d6: faster thumbnail loading
    • d637ed4: disable videos extraction at startup, now will extract local vid info only when needed
  • core:
    • 97c0140: support for more audio formats