Changelog
Note: This was generated by AI because I hate writing changelogs.
New Features
Bookmarks
- Tracks can now be bookmarked with the
bkey. - Bookmarks are saved to
bookmarks.txtin the app’s data directory. - UI shows a
*next to bookmarked tracks. - Bookmark state is persisted across sessions.
Configurable UI
- Frame rate (
--fps) is now adjustable from the CLI. - UI shows download progress, mute status, and bookmark indicator.
Download Progress
- Track downloads now report progress via atomic counters.
- UI can show percentage during track loading.
Player / Audio
Track Lifecycle Refactor
- Introduced:
- QueuedTrack → raw data + metadata.
- DecodedTrack → ready-to-play.
- Explicit two-stage flow: download → decode → play.
Name Handling
- New
TrackNameenum (Raw,Formatted). - Regex-based cleanup for junk suffixes and IDs.
- Standardized
ft.andw/formats.
Queue Management
- Isolated in
queue.rswith better error handling and retry logic. - Updates bookmark state and notifies downloader/renderer.
Audio Backend
- Improved ALSA silencing on Linux.
- Persistent volume moved into its own module:
- Now validates config.
- Supports percentage values (
%).
CLI & Config
- Added
--timeoutflag (download timeout in seconds). --track_listalias for--tracks.- Default tracklist switched from lofigirl → chillhop.
- Centralized
data_dir()for consistent config/cache paths.
UI / Input
- New
UIErrortype for cleaner error propagation. - Track info now shows
display_nameinstead of raw file name. - Debug mode can show full file path.
- Input handler extended with:
b→ toggle bookmark.m→ mute indicator visible in UI.
Error Handling
- Centralized Error enums for:
- Player errors (
error.rs). - Track-related errors (
tracks/error.rs). - UI errors (
ui/error.rs).
- Player errors (
Contexttrait for attaching track names to errors.- Cleaner propagation of
reqwest,rodio,zbus, and IO failures. - Panic hook restores terminal state before exiting.
PR's
- feat: add synthboy sounds list by @mctrxw in #83
- feat: chillhop scraper by @talwat in #94
- chore: update README.md by @m8-t in #96
- chore(chillhop): remove tracks with lyrics by @danielwerg in #99
- Add Fedora installation dependencies by @limdingwen in #98
- feat: the 1.7.0 release by @talwat in #97
New Contributors
- @mctrxw made their first contribution in #83
- @m8-t made their first contribution in #96
- @limdingwen made their first contribution in #98
Full Changelog: 1.6.0...1.7.0