Is there any way I configure Mopidy in a way that it sends its output to a dedicated soundcard on OS X? It would be even better if I could have Mopidy take possession of the card, preventing other applications from accessing it.
On one of my (Ubuntu) machines I have the following:
[audio]
output = alsasink device=hw:2,0
When 2,0
corresponds to card 2, device 0 in the output of aplay -l
.
I actually found the solution:
Gstreamer supports native CoreAudio output on OSX via osxaudiosink
. This output takes the DeviceUID that OS X attributes to each sound card in order to redirect the stream to the right sound card. Once you have the UID, the rest is simple:
[audio]
output = osxaudiosink device=57
The problem is that there seems to be no non-programmatic way to obtain the device UIDs in OS X. In order to obtain the UIDs you need to compile and run this little piece of software: https://github.com/retrography/switchaudio-osx