Skip to content

@q-p q-p released this Jun 6, 2020 · 1 commit to master since this release

This release no longer hardcodes the SoundPusher Audio device as input device, but can instead use any compatible (6 channels, 48000Hz) device whose sound is encoded and forwarded to the desired output device. This includes Rogue Amoeba's Loopback Audio when configured to provide 6 channels, which was what I was testing with (in addition to SoundPusher Audio).

There's also been improvements to the default device restoration (in particularly when quitting). This should be much more reliable now.

Last but not least: I realized that FFmpeg's "new" send_frame / receive_packet API (which I started using in v1.2.0) has been resulting in memory (re)allocations on the audio thread. That is bad but there seems to be no way (that I could figure out anyhow) to avoid it, so now we're using the old deprecated API again which behaves better in this regard.

Assets 5

@q-p q-p released this May 28, 2020 · 5 commits to master since this release

It seems that some users of Rogue Amoeba's Loopback product were also
using SoundPusher and ended up being rather confused. Their product has
a bit more branding, so it's probably easier to rename my device (even
though I was first 😉).

Updated ffmpeg to 4.2.3.

Note that if you mix previous versions of app with current version of
the driver (or vice versa), they will not find each other. You can
safely delete the old
/Library/Audio/Plug-Ins/HAL/LoopbackAudio.driver

Assets 5
Apr 28, 2019
 Require macOS 10.14 for audio input authorization

@q-p q-p released this Apr 28, 2019 · 6 commits to master since this release

This lets us use AVFoundation's [AVCaptureDevice requestAccessForMediaType:completionHandler:] for querying (and requesting) audio input.

This should be done as soon as the user attempts to start a chain, so they hopefully realize that their action caused this request.

Assets 5

@q-p q-p released this Apr 27, 2019 · 10 commits to master since this release

This enables the hardened run-time and other things required for App Notarization.

The embedded FFmpeg has been updated to v4.1.3.

The provided binaries should be correctly notarized.

edit: SoundPusher.app was missing the audio-input entitlement for the hardened run-time. Try again if you were having problems.

Assets 5

@q-p q-p released this Jun 26, 2018 · 12 commits to master since this release

  • Add microphone entitlement that seems required since macOS 10.13.5. I was so proud of not needing any...
  • Updated ffmpeg to 4.0.1.
  • Added a small safe amount of excess audio frames to keep around, which should prevent odd situations where SoundPusher continually readjusts between over- and underflow.
  • Measure IOCycleUsage with random data instead of silence to stress encoder.
  • Increase minimum deployment target to macOS 10.12 and move to os_log from asl.

Loopback Audio is unchanged.

Note that the application is a fair bit larger now, this seems due to Xcode 9 putting the largest resource (the app icon) into both the asset catalog as well as a separate AppIcon.icns. I couldn't figure out how to include only one of them. ¯\(ツ)

Assets 5

@q-p q-p released this Nov 5, 2016 · 19 commits to master since this release

There should be no perceptible changes, but internals moved around a fair bit.

Assets 5

@q-p q-p released this Feb 15, 2016 · 23 commits to master since this release

Fixed channel mapping bug which would have been incorrect were it not for a second coincidence making it correct for the actual case that was being used.

Updated to FFmpeg 3.0.

Note: No changes to LoopbackAudio compared to the previous version.

Assets 4

@q-p q-p released this Feb 6, 2016 · 24 commits to master since this release

Added stereo upmix (enabled or disabled from the menu).

The current upmix matrix is

L'   = L
R'   = R
C'   = C  + (L + R) * 1/sqrt(2)
Ls'  = Ls + (L - R) * 1/2
Rs'  = Rs + (R - L) * 1/2
LFE' = LFE
Assets 5

@q-p q-p released this Feb 6, 2016 · 25 commits to master since this release

This also correctly increments the version of the installer, as that takes its version number from the SoundPusher.app package.

There should be no noticeable changes to the previous version.

Assets 5
You can’t perform that action at this time.