Skip to content

Releases: CapraAudio/CapraLink

CapraLink 0.3.1

Choose a tag to compare

@github-actions github-actions released this 04 Oct 22:15

0.3.0 was never released: 0.3.1 is the first release with these features, and it also includes fixes from an outside security and reliability review.

What's new

  • Push-to-talk. Pick a button for each connection and choose Hold to talk (with a short 200 ms tail so word endings aren't cut) or Press to toggle. It works while a game has focus, and a short chirp tells you when you start and stop talking. On the Steam Deck the back grips (L4, L5, R4, R5) work directly, with no Steam Input mapping needed. Windows uses a listen-only method that doesn't take the key away from your game. On a Mac, CapraLink asks for the Input Monitoring permission. If the button's keyboard or controller is unplugged, or keys can't be read for a moment, talking stops at once until the next press.
  • Music Mode/Hi-Fi. A new Hi-Fi switch next to Music Mode streams lossless 24-bit audio (about 2.3 Mbit/s each way). Lost packets are re-sent instead of being covered up (never more than were sent, so a misbehaving computer can't use resends to flood the network). If the network can't keep up, it falls back to Music Mode by itself and tries Hi-Fi again after a clean minute. Both computers need 0.3.1 for Music Mode/Hi-Fi; with an older version it simply stays in Music Mode.
  • Volume and mute. Send and Receive volume sliders (0–150%) and a Mute button, remembered for each connection. Changes apply instantly, without reconnecting, and fade smoothly instead of clicking.
  • Delay readout. The window shows how much delay each direction has, e.g. "You hear them: 45 ms · They hear you: 60 ms".
  • One-click updates. From this version on, "New version available!" comes with an Update now button that downloads, checks and installs the update, then restarts CapraLink. (Linux .deb/.rpm installs, and Mac releases that change the audio drivers, still link to the download page.)
  • Steam Deck Game Mode plugin. A Decky Loader plugin puts CapraLink in the Quick Access Menu: connection status, Connect/Disconnect, Music Mode, Music Mode/Hi-Fi, Mute, volume, push-to-talk and the delay readout. Download CapraLink-Decky-0.3.1.zip below and install it from Decky's Developer settings (Install Plugin from ZIP File).
  • Command-line control. capralink --status, --connect, --disconnect, --music, --hifi, --mute, --volume, --ptt and --ptt-set let scripts control a running CapraLink.
  • Accessibility. The whole window works with the keyboard (Tab, Enter/Space, Esc closes menus), every control has a screen-reader label, status changes are announced, "reduce motion" is respected, and text contrast is improved.

Fixed

  • Pairing is more reliable. Pairing, or connecting again right after a refused connection, could occasionally fail with a dropped connection (seen mostly on Windows).
  • Mac permissions no longer reset with every update. CapraLink is now signed with its own stable certificate, so macOS remembers the microphone and Input Monitoring permissions across updates.
  • Safer Mac installer. The installer keeps its temporary files in the private folder macOS gives each install, instead of a shared location.
  • Disconnect always works while a connection is starting. Disconnecting while the other computer's connection was still opening your audio devices no longer leaves the two computers connected.
  • Settings changed while connecting take effect. Picking another microphone, speaker, channel count or bitrate while a connection is starting no longer gets lost.
  • Music Mode rides out longer Wi-Fi dropouts. Wi-Fi stalls longer than half a second are now measured too, so the buffer grows to cover them (up to 1 second), and when it shrinks again it drains smoothly instead of skipping audio.
  • Changing a setting never undoes another one. The window and the tray menu now send only the setting you changed.
  • Clean sound on low-rate headsets. Playback on devices below 48 kHz (e.g. 16 kHz Bluetooth headsets) no longer has harsh artifacts.
  • Less CPU on high-sample-rate devices. Devices running at 96 kHz and above use 2–8× less processing time.
  • Quit is always quick. Quit no longer waits while the engine is still starting, and it still stops the engine then (unless it runs in the background).
  • A wrong address can't hold up connecting. Something on the network that answers in place of the other computer, but never finishes connecting, is given up after 5 seconds so the right address is tried.
  • Automatic reconnects keep trying. If the audio has to be rebuilt and the first reconnect fails, CapraLink keeps retrying (when auto-reconnect is on) instead of staying disconnected.

Good to know

  • Mac: because of the new signature, macOS asks for the microphone permission (and Input Monitoring, if you use push-to-talk) one more time after installing 0.3.1. If CapraLink is already listed there, remove it with − and allow it again.
  • Windows: the installer isn't code-signed. If Windows' Smart App Control is on, it may block the installer.

Full changelog: v0.2.0...v0.3.1

CapraLink 0.2.0

Choose a tag to compare

@github-actions github-actions released this 02 Oct 20:23

What's changed

  • Identical audio devices can be told apart. Devices are now remembered by a stable ID instead of their name, so two identical microphones or interfaces show as "USB Mic" and "USB Mic (2)" and each one stays selected. Settings saved by older versions still find their device.
  • Changing one setting no longer overwrites another computer's change. The window now saves only the setting you changed.
  • Better sound from high-sample-rate devices. Devices running above 48 kHz (e.g. 96 kHz interfaces) no longer produce faint high-pitched artifacts; 48 kHz devices are unchanged.
  • Smoother audio under load. Sending audio can no longer stall the sound card, and switching Music Mode no longer does heavy work in the audio path. Diagnostics now show the slowest audio callback and any dropped packets.
  • Audio problems are handled instead of silently stalling. If the system restarts an audio stream, CapraLink reconnects to rebuild it; if the audio system disappears or microphone access is denied, the session ends with a clear message (on macOS, pointing to the microphone privacy setting).
  • More reliable connections. A brief network pause no longer breaks the connection, a cancelled connection attempt can't end a newer one, and connecting tries each known address until one answers.
  • Device names can only be changed by the device itself. A paired computer's name now updates only over its encrypted connection.
  • Smoother Music Mode on Wi-Fi. Music Mode now starts with a 150 ms buffer, can grow it up to 1 second to ride out longer Wi-Fi dropouts, and remembers network stalls for 2 minutes instead of 30 seconds, so Wi-Fi hiccups no longer cause stutter or static (at the cost of more delay in Music Mode). When the buffer shrinks again it drains smoothly instead of skipping.
  • No more freezing while macOS asks for microphone access. Opening an audio device no longer blocks the rest of CapraLink, and Quit always works within a couple of seconds.
  • See the bitrate you actually get. The slider is now "Bitrate Target": its knob is the maximum you choose, and the track fills to the bitrate currently being sent (it adapts to the network), shown underneath as current/target, e.g. 48kbps/64kbps, or against the 160kbps ceiling in Music Mode.
  • Update notice. When a newer release is out, the window shows "New version available!" next to the current version; clicking it opens the download page.
  • Mac updates don't interrupt your sound. The macOS installer restarts the system audio service only when the CapraLink audio driver actually changed.
  • Settings and permissions hold. Turning off remote configuration or "Run in background" can no longer be undone by a remote change arriving at the same moment.

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

CapraLink 0.1.2

Choose a tag to compare

@github-actions github-actions released this 02 Oct 11:40

What's changed

  • Disconnect sticks on Windows. Pressing Disconnect (or Forget) no longer risks the other computer reconnecting by itself a few seconds later.
  • Long device names are safe. Names are limited so they always fit the network announcement; a computer that was renamed to a very long (e.g. emoji) name starts again.
  • Remote settings are checked first. A remote change with invalid settings is rejected without changing anything, including the name.
  • Unplugged devices end the session cleanly, telling the other computer so it doesn't keep redialing.
  • Sturdier connection handling, including stricter checks for computers that were forgotten or paired again.
  • macOS audio driver fixes. Install the macOS package to get the updated CapraLink Input/Output driver.

Thanks to @Chronosauros for the first three fixes (#1).

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

CapraLink 0.1.1

Choose a tag to compare

@github-actions github-actions released this 02 Oct 11:06

Added troubleshooting tools to the menu.

Full Changelog: v0.1.0...v0.1.1

CapraLink 0.1.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 20:45