Skip to content

Releases: thijsw/sonicwave

Sonicwave 0.4.0

Choose a tag to compare

@thijsw thijsw released this 17 Jul 06:49

What's changed

FLAC playback, actually fixed

  • FLAC streaming was silently broken — playing a FLAC album decoded about half a second per track, then skipped through the rest of the queue. The cause was a subtle audio-framework interaction deep in the streaming decoder (building conversion buffers inside the parser's callback corrupts FLAC parsing; MP3 happened to tolerate it). FLAC albums now stream and play gapless like everything else. If Sonicwave ever "skipped through" an album on you — this was it.

Play formats your Mac can't

  • Tracks in formats macOS can't decode natively (Ogg Vorbis, some MP4 variants) now play automatically via server transcoding instead of showing an error — the whole album follows suit, seeks included. The "Can't Play Track" alert only appears if even the server can't help.

Browse it your way

  • Filter the Albums grid by any genre in your library, or by decade (1950s–2020s), from the new Filter menu next to Sort.
  • Shuffle Library (Controls menu, or the Shuffle All button on the Songs list) queues up a fresh random 500-song mix of everything you have.
  • Multi-disc albums get disc headers — sticky "Disc 1 / Disc 2" rows in the track list, with disc subtitles when your files carry them.

Quieter networking

  • Cover-art fetching is now polite to your server: at most six concurrent requests, and rate-limited responses back off and retry instead of leaving permanent placeholders (Navidrome rate-limits artwork by default).

Full changelog: v0.3.0...v0.4.0

Sonicwave 0.3.0

Choose a tag to compare

@thijsw thijsw released this 15 Jul 14:12

What's changed

Pick up where you left off

  • Your queue survives a relaunch. The queue, current track, and playhead now save to your server and come back exactly as you left them — paused, never barging in. Since it's stored server-side (savePlayQueue), other clients can resume the same session, and Sonicwave picks up queues they save too.

Volume normalization (ReplayGain)

  • New in Settings → Playback: even out loudness between tracks using your files' ReplayGain tags — By Track for mixed queues, By Album to preserve an album's intended dynamics. Gain is applied losslessly in the engine ahead of the mixer, with peak protection so nothing ever clips. (Requires RG tags on your files — loudgain or beets can add them.)

Connection fixes

  • Plain-HTTP home servers work now. macOS was silently blocking addresses like http://192.168.1.10:4533 or http://nas.local; local plain-HTTP connections are now allowed. Non-local http:// remains blocked by macOS policy — and now says so clearly instead of failing cryptically.
  • Huge playlists no longer fail. Creating or reordering playlists past ~1,500 tracks used to blow past URL length limits; playlist changes now travel as a POST body on servers that support it (Navidrome does).

Full changelog: v0.2.0...v0.3.0

Sonicwave 0.2.0

Choose a tag to compare

@thijsw thijsw released this 15 Jul 12:19

What's changed

A place to land

  • New Home page: a time-of-day greeting, a full-width "Jump Back In" card for the album you last played (with inline Play), and shelves for Keep Listening, Recently Added, Most Played, and Random — with a re-roll button when you feel lucky.

Your server, better informed

  • Scrobbling (on by default, Settings → Playback): Sonicwave reports "now playing" when a track starts and submits the play once you're past half the track or four minutes — the same rules Last.fm and Navidrome use. Play counts, Recently Played, and any scrobbler your server relays to now stay in sync.
  • Update your library from the app: File → Update Server Library (or Settings → Connection → Scan Library, with live progress) kicks off a server-side rescan.

Playback & audio

  • AirPlay outputs: connected AirPlay routes now appear in the output-device picker, properly labeled. Sample-rate matching wisely steps aside for them (they run a fixed network clock — macOS handles the resampling).
  • Clear errors instead of silence (or static): tracks the server can't stream in a decodable format now stop cleanly with a "Can't Play Track" alert that tells you what to do (enable server transcoding), instead of failing silently — or worse, playing loud static.

Around the app

  • Resizable Now Playing panel: grab its leading edge and set it anywhere from 300 to 480 points; the width is remembered.
  • Quick Look the cover art: click the Now Playing panel's artwork to see the full-resolution original.
  • Show Album in Library (⇧⌘L, also by clicking the panel's album line) jumps from whatever's playing to its album page.
  • Try it without a server: a one-click "Use Demo Server" button (shown only while nothing is configured) connects to the public Navidrome demo.

Project

Full changelog: v0.1.2...v0.2.0

Sonicwave 0.1.2

Choose a tag to compare

@thijsw thijsw released this 08 Jul 13:49

What's changed

Visual & color fixes

  • The accent red is back to its intended vividness. The color was sampled on a wide-gamut display but stored as sRGB, which washed it out (it's actually outside the sRGB gamut). The AccentColor asset is now tagged Display P3 — selections, buttons, icons and progress bars all regained the deep iTunes red.
  • Sidebar selection is now a Music-style neutral-gray pill with standard side insets (no longer edge-to-edge), keeping the red icons on top.
  • Artist list selection uses the accent red with white text, matching the track lists — list selections are now custom-drawn, since the system highlight blends with the list material and muted the accent.

Album page

  • Track-number column (#) with centered, disc-aware sortable numbers. It doubles as the now-playing column: the speaker replaces the number on the playing track (and is now legible on a selected row — it was red-on-red before).
  • Album grid text: the artist line is slightly larger and sits tighter under the album title.

Layout stability (also in the app since v0.1.1)

  • Toggling the Now Playing panel no longer disturbs the rest of the window: the sidebar and toolbar stay perfectly still while the panel slides (verified frame-by-frame).
  • Albums grids stay left-aligned at every window width.
  • The volume slider no longer drags the window.

Full changelog: v0.1.1...v0.1.2

Sonicwave 0.1.1

Choose a tag to compare

@thijsw thijsw released this 08 Jul 12:56

What's changed

Layout stability

  • Toggling the Now Playing panel no longer disturbs the rest of the window: the sidebar and toolbar stay perfectly still while the panel slides (verified frame-by-frame).
  • Album grids stay left-aligned at every window width.
  • The volume slider no longer drags the window.

Full changelog: v0.1.0...v0.1.1

Sonicwave 0.1.0

Choose a tag to compare

@thijsw thijsw released this 08 Jul 06:58

The first public release of Sonicwave — a native macOS music player for your own OpenSubsonic/Navidrome server.

Gapless playback, hardware sample-rate matching, a dense sortable track table, column browser, Up Next, server playlists, favorites, global search, menu-bar player, media keys, Light/Dark — signed and notarized.

Full changelog: https://github.com/thijsw/sonicwave/commits/v0.1.0