feat: playlist store

This commit is contained in:
2025-10-11 22:55:32 +02:00
parent 2bf0506351
commit 13f40e9720
7 changed files with 248 additions and 78 deletions

View File

@@ -11,6 +11,7 @@ Control playback from your terminal while browsing the vast world of music relea
- Search the MusicBrainz database and discover music artists and releases
- Handle metadata without touching your audio files
- Fast and hackable application with [vim](https://www.vim.org)-like keybindings
- Save and load playlists
🎞️ Screenshot
-------------
@@ -86,6 +87,8 @@ GENERAL OPTIONS:
--artist <mbid> List release groups of given artist <mbid>
--releasegroup <mbid> List releases in given release group <mbid>
--release <mbid> Show release given by <mbid>
--playlists List stored playlists and exit
--load-playlist <playlist> Load specified playlist
MANAGE LOCAL MUSIC:
--decorate <path> Decorate directory containing a tagged release
@@ -157,10 +160,20 @@ In the insert mode, triggered using `i`, `a`, or `/`, the keys directly modify t
Some central keys are `<enter>` to start playback of the selected entry, `<space>` to pause playback, and `ctrl-p` to open the currently loaded playlist.
📝 Playlist Store
-----------------
Playlists can be saved, loaded and _shared._
To save a playlist, simply press `ctrl-s` when viewing your playlist.
To load a playlist, open the playlist store using `ctrl-o` while viewing your playlist.
Alternatively, you may start `fuzic` using the command-line parameters `fuzic --load-playlist <playlist>`.
Under the hood, a playlist is not more than a sequence of MusicBrainz IDs.
This means that `fuzic` users may share their playlists irrespective of the audio file locations and formats.
Possibly even more importantly, this means that you can preserve your playlist even if you reorganize your local music library:
You can safely share your playlists with your future self.
🧭 Planned Features
-------------------
The following features are planned:
- saving and loading playlists
- cover art and artist images
- lyrics support
- showing current position in track