Caldera Amp
Platforms: macOS v1.1.0-beta.4 (Build 32); Windows v1.1.0-beta.4; Linux v1.1.0-beta.4
New
- A new Pulsar visualizer preset stacks the audio into scrolling waveform ridges, in the style of the Unknown Pleasures album art.
- The equalizer you set up from Plexamp can have any number of bands from 1 to 10, instead of always ten. A fresh EQ opens with five bands spread across the range (60 Hz, 250 Hz, 1 kHz, 4 kHz, 12 kHz); an EQ you already saved keeps all ten, and a band you remove stops affecting the sound.
- Multi-room speakers can find each other on networks where multicast is blocked (some mesh APs, AP isolation, multi-VLAN setups). New
snapjack.useDiscoveryHintssetting (default on) lets you disable the probe. - New DAC Settling Delay option in Settings → Audio (Off, then 0.5 s steps from 0.5 s through 5.0 s). It pads every device open with silence so PLL-lock-sensitive DACs don’t clip the start of the first track. Multi-room speakers receive the same silence and stay in sync.
- 5.1 / 7.1 multichannel output on macOS HDMI displays and multichannel HAL devices (USB DACs, multi-output pro audio interfaces). Centre and LFE no longer swap on HDMI. When the selected device only carries stereo, the player demotes to 2 channels.
- Settings gains a Streaming section: cap the streaming quality (the bitrate above which remote playback transcodes to Opus to save bandwidth, from 320 down to 96 kbps), set the target transcode bitrate, and toggle downmixing to stereo. Music on a local-network server always plays at original quality.
- Caldera Amp on Windows adds a Channel Mode option in Settings → Audio (Match Source, Stereo, 5.1 Surround, 7.1 Surround), so you can force a fixed output layout or follow the source’s channel count.
- Caldera Amp on Linux now ships as a Flatpak bundle for both arm64 and x64.
- Caldera Amp’s Linux settings window reaches parity with macOS/Windows: Loudness Leveling, Sweet Fades (with adjustable max-crossfade duration), Pause/Resume/Seek fade timing, DAC settling delay, output buffer size, cache size limit, background precache count + speed limit, Snapjack multi-room buffer, and an editable Player Name.
- Caldera Amp’s Linux visualizer now automatically scales its render resolution and frame rate to keep heavy MilkDrop presets smooth, remembers the quality per preset, and switches resolution without any flicker.
- Caldera Amp on Linux gains an Overlay submenu in the tray menu for the now-playing overlay; None (
N), Now Playing (O) or Compact Chip (C), each labelled with the key that selects it. The choice is saved and applies even when the visualizer window is closed.
Fixed
- Rooms playing your music no longer drift slowly late and then jump back with a skip, roughly once every three quarters of an hour.
- Turning on repeat while the last track is already playing now wraps back to the start; the album used to end anyway.
- A room playing another room’s music no longer stutters and jumps out of step while it finds sync, or after a network hiccup.
- The room you start the music from no longer drifts out of step with the other rooms it is playing to. A brief hiccup used to leave its own speakers running early for good, and only a pause and resume put it back.
- A speaker playing someone else’s stream no longer stays permanently behind after a rough patch on the network. Short glitches used to each push it a little later with no way back, until the room was half a second out and only a pause and resume would fix it.
- Caldera Amp’s visualizer draws without re-creating a buffer for every shape it draws, on macOS and Apple TV.
- Seeking through an MP3 no longer sometimes jumps straight to the next song. Variable bitrate tracks were the ones affected, and the further into the track you seeked the more likely it was.
- Caldera Amp’s Sign Out moved from the menu bar to Settings under Account, so it is no longer one slot above Quit where it was easy to hit by accident.
- Changing the streaming quality cap now applies to the next track you play, instead of only taking effect once the queue happens to reload.
- Tracks whose server metadata leaves out the bitrate now buffer for their real size instead of the smallest allowed, so they are less likely to stutter on a slow connection.
- Tapping Previous while one track is crossfading into the next now restarts the track you are still hearing, instead of doing nothing and jumping back to the incoming track.
- Resampler Quality is now called Balanced, High and Maximum everywhere. Remote settings panels labelled the same three options fast, balanced and high, one step out of step with the player’s own screens.
- Eight visualizer presets rendered with flattened colour and one-sided cloud motion, most visibly Waltra - Sigma and the MilkDrop2077 lava presets; they now render as their authors intended.
- Casting a paused queue from the Plex app now starts where it left off. The player showed the previous track’s elapsed time and then began the new track from the beginning.
- Caldera Amp’s visualizer overlay now stays hidden once you turn it off, instead of coming back on every launch, and the Visualizer OSD switch in Settings now actually controls it. The compact layout choice is remembered too.
- Multi-room players now show plain addresses like 10.0.0.133 instead of the IPv6 form 0000:0000:0000:0000:0000:ffff:0a00:0085, and are matched to the right server connection again.
- The player you are connected to now appears in the multi-room list with a reachable address, so its settings open instead of failing to load.
- A speaker you select before it has appeared on the network now starts playing once it shows up, instead of staying silent until you deselect and re-select it.
- Starting a playlist right after a paused handoff no longer shows the progress bar stuck at the handed-off position; remotes now follow the new track from the beginning.
- Unselecting the last speaker a player was sending to now pauses it, instead of switching the music to the player’s own speakers and playing it out loud in that room.
- A speaker you remove from a multi-room group comes back on Home as its own player, instead of disappearing until you connect to it and re-select it.
- Starting playback from a different media server now validates its connection before sending the play request, instead of waiting on a stale saved address.
- Resuming a paused multi-room stream now plays again instead of staying silent until you disconnect and reconnect the speaker by hand.
- A player you deselect as a multi-room speaker now stops receiving audio, instead of being streamed to indefinitely.
- Multi-room speaker lists no longer accumulate duplicate ghost players after a player restarts at the same network address.
- Playback now retries an output device that is temporarily unavailable instead of remaining stuck on Playing with no sound.
- Streaming tracks no longer skip to the next song when a redirect or connection times out before the audio download begins; Caldera retries the request first.
- Caldera Amp’s visualizer window can now be resized much narrower; its minimum width is halved (to 160 pt), so you can shrink it into a tall, narrow strip beside other windows. (macOS menu-bar app.)
- The equalizer’s gain and Q now cover a narrower range in Plexamp (gain 12 dB either way, Q up to 6), so ordinary settings are easier to dial in.
- Settings screens use consistent capitalisation, group headings read as words rather than internal ids, and the settings that were tucked behind Advanced now sit with the rest.
- Skipping through tracks now stops downloading the ones you’ve skipped past.
- Background precaching now waits for the current and next track to finish caching instead of downloading alongside them, so it no longer competes with what you’re listening to.
- The output-device list now names the device System Default currently uses, for example “System Default (Mac Studio Speakers)”, and no longer tags a second row “(default)”. A device you pinned that isn’t connected right now still shows, marked “(not connected)”, so your choice is never silently dropped.
- Paused cast handoffs now resume from their saved position instead of restarting near the beginning.
- Loud crossfades and gapless handovers no longer produce an audible click.
- Reconfiguring audio during playback no longer lets the old audio path interfere with the new one.
- When an unavailable output device falls back to System Default, settings now select that fallback and remove the stale raw device identifier.
- Leaving Repeat One after a track looped no longer starts the next track over the track already playing.
- Player Name was blank in the remote settings screen when the player was Caldera Amp on macOS; it now shows the name the player advertises.
- Choosing System Default as the output device now stays System Default. It was being replaced by whichever device happened to be default at the time, so Settings showed that specific device selected and playback stopped following the system output when you switched outputs.
- An expired or revoked Plex token is recognised as expired again, so you’re prompted to sign in instead of being told the server is unreachable. Refreshing the server list with a stale token reported a connection failure and left the old servers in place.
- Multi-room clients can now reach a room whose remote-control port isn’t the default 32500. Each player in the mesh list now advertises the port it actually listens on.
- Playback position now stays tied to the audio you actually hear through seeks, fades, pauses, underruns, track transitions, and output-device changes instead of jumping, drifting, or briefly showing another track’s time.
- Gapless MP3 transitions no longer intermittently insert a 20 ms silent period at the track boundary.
- Playing to a DAC clocked at 176.4 kHz produced loud static instead of music, whether the source was DSD or ordinary FLAC; every output rate now plays cleanly.
- Plex servers that renewed their certificate under Let’s Encrypt’s new roots became unreachable; connecting failed with a certificate error, and the server could not be browsed or played from at all.
- Playback could come back silent after a stop; the player showed a track playing with no sound until it was restarted.
- Switching output device, sample rate, or channel layout during playback could crash the player or emit bursts of garbled audio.
- Caldera could crash on quit while a track was still playing.
- Playback could freeze, or the player crash, unexpectedly during a listening session.
- The now-playing overlay’s time labels ran off the bottom edge on square displays (such as 480x480).
- Debug logs record how a Plex server was chosen again: each connection tried, whether it answered, how long it took, why it failed, and which one won. Reports of “could not connect to server” were previously undiagnosable.
- Caching a track now does a fraction of the disk work it used to, keeping playback and the interface smooth on players with slow storage.
- Playback no longer stops dead partway through a listening session, frozen on a track that never started and unreachable from remotes, when a Plex server becomes slow or unreachable.
- Album art and the now-playing waveform could stutter or freeze the screen while art from another Plex server was being resolved.
- macOS: DSD tracks, and any other rate your DAC can’t clock, no longer play as noise or distortion. The output now switches to the closest rate the hardware can actually hold (DSD64 to 176.4 kHz) and Caldera does the conversion itself instead of leaving it to Core Audio. Affects Match Source, fixed high sample rates, and rate changes made mid-session.
- Clicks on the first track after Match Source switched the output to a higher sample rate.
- The volume shown by a Plex remote and by a multi-room (Snapjack) speaker controller now stay in sync, instead of one reporting a stale level (most visible while playing a stream received from another Caldera speaker).
- The now-playing seekprint waveform now loads when the play queue was started from a Plex remote, instead of never appearing.
- Starting multi-room networking no longer intermittently crashes during startup.
- Seeking within a track no longer drops the player into permanent silence while the interface keeps showing it playing, with the position timer still advancing and multi-room speakers still receiving audio. (All Apple platforms.)
- The visualizer’s shuffle no longer over-plays large remix families or collapses into repeated near-identical variants. Presets that are remixes of one another now share one slot per shuffle pass, so a family gets the same airtime as a one-off preset and its variants are spread far apart.
- Caldera Amp’s visualizer window now reopens at the size and position you last left it, instead of always snapping back to a centered default. (macOS menu-bar app.)
- The music visualizer no longer brightens or dims when you change this player’s volume (or a multi-room sink’s volume); it reflects the music’s content, not the output level, and keeps animating even when the output is muted.
- When your Plex sign-in expires or is revoked, Caldera Amp now signs you out and returns to the sign-in screen instead of silently failing to play. A captive portal or a brief network blip won’t sign you out. (Headless daemon: logs the rejection and exits so it can be re-run with
--login.) - Multi-room speakers no longer log a flurry of “removing stale peer” lines on every multicast tick. Requires all multi-room peers to be on this build; older peers will mishandle the new probe format.
- Multi-room speakers no longer churn through repeated “peer connected” events and stale-peer evictions a few seconds after each player joins the mesh.
- When this player is receiving audio from another room and the sending player restarts or crashes, audio resumes on its own within about a second once the source comes back, without toggling the speaker in Plexamp.
- Mid-session sample-rate changes no longer interrupt audio at the remote speakers this player is casting to; local output and remote speakers stay in sync across the change.
- Multi-room routing now survives a player restart: audio reaches the speakers it was sending to before, without having to toggle them in Plexamp.
- Multi-room speakers no longer show up nameless in this player’s Speakers menu or in remote Plex apps after a cold start.
- The player still registers with plex.tv when its LAN-discovery port (UDP 32412) is already taken by another Plex client on the same host, so it stays visible to remote Plex Web and to Plexamp on mobile data.
- The player no longer hangs at the first track transition after resuming from a saved-position pause, freezing the now-playing display and progress reports on the previous track while audio keeps playing.
- During track transitions, Plex’s now-playing indicator no longer briefly shows the wrong track before correcting itself.
- Match Source now opens the mixer at the source’s channel count on a multichannel device (HDMI display, multi-output USB DAC, pro interface) instead of pinning to stereo. It applies on the first track of a new playback session; gapless transitions within an album are not interrupted.
- The precache speed limit reads in Mbps (the old labels were eight times too low).
- A failed save no longer destroys the file it was replacing. On a full disk this wiped the saved session, losing the current track, its position, and the server address.
- Resuming after the audio device had been released while idle could play loud distorted noise instead of music, on DACs whose format the app renegotiates on re-open.
- After a crossfade, the new track’s time counter ran several seconds ahead of the music, so a track could report a time past its own length.
- Seeking or resuming near the end of a track could silently skip the rest of the queue, jumping each following track to its own final moment so nothing played while the player still showed a track as playing.
- Quitting could hang for two seconds before the player exited, and occasionally crash on the way out.
- Playback could stall on a track that had already ended, still showing playing at 0:00, when an upcoming track failed to load and the queue had scrolled past it. The track that never loaded is now dropped so playback carries on.
- The daemon could freeze, with playback stuck and unreachable from remotes, when a multi-room speaker dropped off the network.
- The album-art and loudness/waveform caches no longer grow without bound after an unclean shutdown; files orphaned from the cache index were invisible to size-based eviction and never cleaned up.
- Opus albums dropped a short silence at every track change; Opus is now gapless like FLAC and MP3.
- AAC tracks clicked at the boundary between one track and the next.
- Audio could turn to noise when several tracks were sounding at once, such as a crossfade running into a queued track change.
- Fixed crashes when stopping playback or quitting the player.
- Fixed rare crashes when quitting while a track was still downloading, and after a network change.
- Fixed crashes when adding a track to the play queue, or when the queue refreshed, while playback was starting or changing tracks.
- Fixed a crash when switching servers or reloading the queue while a track was playing.
- With Repeat One, the progress bar could run past the end of the track and stay there; and stayed stuck there while paused.
- The app could freeze when skipping tracks while one was still downloading.
- After a crossfade the next track’s timer started over from 0:00 a few seconds in; it now counts on from where the track actually is.
- macOS: Caldera now plays to the output device you picked. The saved choice was only honoured when it happened to also be the system default, so sound came out of the wrong speakers with nothing to indicate why.
- Playback could start silent, with the position frozen at zero and the track apparently playing, after the audio device had been released while idle.
- macOS: the audio device is now genuinely released while nothing is playing, so a USB DAC can sleep and other apps can use it. The release was previously logged but never carried out.
- macOS: the now-playing overlay’s text now appears; its fonts were never bundled, so it only worked on the machine the build was made on. (Windows and Linux already shipped the fonts.)
- Picking a Plex server no longer hangs for 15 seconds when one of the addresses it advertises silently swallows traffic (a VPN address this machine isn’t on, or a stale one from another network). An unreachable server is now reported in about five seconds, and a reachable one is picked as soon as it answers.
- The app no longer crashes when the computer wakes from sleep and a burst of multi-room (Snapjack) peer disconnects arrives.
- Selecting multi-room speakers from Caldera Amp’s Windows tray menu no longer crashes when the local audio device is idle.
- Windows audio streams that stop delivering buffer events are now detected and rebuilt instead of leaving playback silently stuck.
- Caldera Amp on Windows: the now-playing OSD overlay now appears on installed builds; the installer was shipping without the fonts it needs.
- Windows: Exclusive Mode now engages on DACs that only accept packed 24-bit audio (e.g. AudioQuest DragonFly), instead of being refused on every format and silently dropping to shared mode, so the DAC gets bit-perfect playback.
- Windows: startup no longer stalls for about a minute before the tray icon, remote control, casting and the mesh come up; a cold start now settles in well under a second.
- Windows: resuming after a long pause could jump the position to a bogus value, sometimes past the end of the track.
- Windows: the player could go silent for good after a USB DAC re-enumerated or the output device changed, while still showing a track playing at 0:00.
- Starting a track on Windows could hang; the player accepted the play request but never began playing, and had to be restarted.
- Windows: playing to a USB DAC in exclusive mode no longer produces silence or a stutter at every open.
- Windows: the visualizer’s on-screen preset label now shows the preset that’s actually displayed, instead of naming the next or previous one during transitions.
- Windows: the now-playing seekprint and time counter now freeze when you pause, instead of creeping forward and snapping back.
- Windows: changing the output sample rate in Settings while music is playing no longer stops playback, or leaves the player stuck reporting “playing” with no sound. The new rate now applies at the next track, matching the other platforms.
- Windows: the Audio Buffer Size setting now takes effect immediately instead of only after a restart.
- Windows: the sample-rate dropdown now lists only rates the selected device can actually output (e.g. a 96 kHz-max USB DAC no longer offers 176.4/192 kHz) and correctly shows your saved fixed rate on relaunch, before playback starts.
- Windows: the Output Device and Sample Rate lists in Settings now refresh when you plug in or unplug a USB DAC, instead of showing the old device until you reopen Settings.
- Caldera Amp’s Linux visualizer no longer grows its memory use until the system runs out and kills it, on NVIDIA graphics.
- Caldera Amp’s Linux visualizer draws a little faster; it was re-allocating its vertex buffers on every draw.
- Caldera Amp’s Linux visualizer picks its quality level from how long the GPU actually takes again, instead of guessing from frame time, so it no longer scales the picture down further than it needs to.
- Caldera Amp’s Linux tray menu opens with its entries in it on Cinnamon and under Ubuntu’s GNOME extension. The menu came up empty, leaving no way to open the visualizer.
- Caldera Amp shows its own icon in the Linux tray and app launcher instead of a generic placeholder.
- Seeking from a Linux desktop media control or from your phone no longer leaves the system progress bar counting from the old position for several seconds.
- Caldera Amp and the headless daemon come back after a long suspend on Linux: the player reappears in the remote players list and rejoins the speaker mesh, instead of staying silent until you restart it.
- Caldera Amp’s Linux transport commands (
--play-pause,--next,--previous) no longer leave a stray copy of the app running each time you use one, and say the player isn’t running instead of silently starting it. - Caldera Amp’s Linux visualizer now works on NVIDIA graphics, instead of failing to open or showing an empty window.
- Caldera Amp on Linux: the visualizer’s Preset Advance setting (Timed / Per Track / Manual) now works and is saved; it was stuck on Timed whatever you chose.
- Caldera Amp on Linux: the Settings window can be reopened after closing it, instead of doing nothing when reselected.
- Caldera Amp’s Flatpak now opens the visualizer window and its menu out of the box, instead of needing session-bus access granted by hand in Flatseal. (Linux Flatpak.)
- Linux: the now-playing overlay is no longer tiny on HiDPI / fractionally-scaled displays; its text and artwork now honor the display scale.