Skip to content

v0.3.0

Latest

Choose a tag to compare

@Sapryx Sapryx released this 10 Oct 22:50
· 1 commit to master since this release
a4dff7f

v0.3.0

Added

  • Search
    • Typo-tolerant track search: missing, extra and transposed letters are allowed.
    • Multi-word queries match across title and artists.
    • Diacritics and punctuation are ignored.
    • Queries typed in the wrong keyboard layout are matched (layouts are read from the Windows API or the Wayland compositor keymap; other platforms search without layout switching).
    • Clear button in the search bar.
  • Playback
    • Seek time tooltip on the playback progress bar.
    • Speaker icon shows the current volume level.
    • Volume slider resets on mute and is restored on unmute.
    • The last volume is saved and restored on the next launch (50 on first launch).
  • Track list
    • Tracks are sorted alphabetically.
    • Smooth mouse wheel scrolling.
  • Only one instance of the app can run at a time.
  • Logging
    • Session logs: one file per launch, the 10 newest are kept; unhandled exceptions are written there.
    • Logs are also written to the terminal, colored by level.
    • Avalonia, LibVLC, Discord and System.Diagnostics output is routed into the session log.
    • OS and windowing session are logged at startup.
    • --log-level trace|debug|info|warn|error|crit selects the minimum level (Info by default); the log starts with a level legend.

Fixed

  • The cover of the first track played right after startup is shown.
  • The main window is centered on startup.
  • Volume slider changes made from the keyboard or accessibility tools are applied to the player.
  • The volume slider no longer starts at a wrong value reported by LibVLC before playback.
  • Track control state is updated on the UI thread.
  • Hotkeys are ignored while typing in text boxes.
  • Clicking outside text boxes clears search focus.
  • Track duration shows truncated minutes instead of rounded ones.
  • Unreadable audio files are skipped instead of breaking loading.
  • A missing music directory is handled.
  • Cover loading failures are logged and cached.
  • Discord Rich Presence text is truncated to 128 characters.
  • Icons are redrawn when their name changes.
  • The magnifier icon is sized to match the other icons.
  • The track list scrollbar is pinned to the right edge of the window.
  • Clicking the scrollbar track moves the thumb to the pressed point instead of paging to the end.

Internal

  • Merged the infrastructure project into Core; moved metadata to the playback namespace.
  • View models get the UI dispatcher injected, making them testable without Avalonia.
  • Centralized build properties and package versions.
  • Added tests for playlists, playback volume and mute, and search bar filtering, plus a shared test project with a recording logger.
  • Code aligned with the style guide; project instructions and logging rules documented.

What's Changed

Full Changelog: 0.2.8...0.3.0

What's Changed

Full Changelog: 0.2.8...0.3.0