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

There doesn’t seem to have been any response from Roon to this request. It shouldn’t be necessary to put an audio output device into exclusive mode, in order for Roon to automatically change its sample rate, in line with the sample rate of the music being played.

If the Qobuz desktop app can handle this correctly on Mac, why can’t Roon?