On Mac, have Roon switch sample rate in non-exclusive mode

Hello, for folks that use “plugins” or other audio processing outside of Roon, it would be great to have sample rate switching in non-exclusive mode.

Currently Roon switches sample rates in exclusive mode only. However, it should also switch sample rates in non-exclusive mode. It should not matter whether exclusive or non-exclusive mode.

Here Roon has changed sample rate to 44.1 but both BlackHole loopback and third party app sample rates have not changed:

On the Mac, folks often use BlackHole to loopback audio from a source application to a destination application. Here is how it works:

Roon sends Sample Rate Change Request to BlackHole
BlackHole tells all apps it’s going to change sample rates.
Apps can receive the request and say “nope” and change it back.

In this example using Qobuz standalone app, we see that the sample rates line up across BlackHole, and a third party application.

If the sample rate changes in Qobuz app, so does the sample rate in BlackHole and in HLC while in non-exclusive mode. Here we see all change to 192 kHz.

Chatting with the developer of BlackHole, here is a snippet of code that calls change sample rate:

AudioObjectPropertyAddress inAddress;
inAddress.mSelector = kAudioDevicePropertyNominalSampleRate;

OSStatus status = AudioObjectSetPropertyData(audioDeviceID, &inAddress, 0, 
NULL, sizeof(Float64), &value);

Understood that in shared mode, the call can fail or another app could potentially block or change the sample rate back. But would love the option anyway :slight_smile:

Thanks for your consideration.

Kind regards,
Mitch

1 Like