github talwat/lowfi 1.7.0

latest release: 1.7.2
one month ago

Changelog

Note: This was generated by AI because I hate writing changelogs.

New Features

Bookmarks

  • Tracks can now be bookmarked with the b key.
  • Bookmarks are saved to bookmarks.txt in 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 TrackName enum (Raw, Formatted).
  • Regex-based cleanup for junk suffixes and IDs.
  • Standardized ft. and w/ formats.

Queue Management

  • Isolated in queue.rs with 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 --timeout flag (download timeout in seconds).
  • --track_list alias for --tracks.
  • Default tracklist switched from lofigirl → chillhop.
  • Centralized data_dir() for consistent config/cache paths.

UI / Input

  • New UIError type for cleaner error propagation.
  • Track info now shows display_name instead 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).
  • Context trait for attaching track names to errors.
  • Cleaner propagation of reqwest, rodio, zbus, and IO failures.
  • Panic hook restores terminal state before exiting.

PR's

New Contributors

Full Changelog: 1.6.0...1.7.0

Don't miss a new lowfi release

NewReleases is sending notifications on new releases.