When trying to connect to the sound card in Linux, I get the "no channels" error. I have no issue in Windows with this same code.
AudioDeviceManager *audioDeviceManager = new AudioDeviceManager; String result = audioDeviceManager->initialiseWithDefaultDevices(0, 2); // result ends up being "no channels"
I traced as far as I could and it looks like juce is using an obsolete function:
When I step in to that function, I see that it is getting a non-zero value, but it's not being passed back to the caller, probably because it's declared with this weird macro not to be a pointer:
__OLD_GET(snd_pcm_hw_params_get_channels_max, unsigned int, unsigned int);
I also see it marked as obsolete in pcm.c
OBSOLETE1(snd_pcm_hw_params_get_channels_max, ALSA_0.9, ALSA_0.9.0rc4);
I don't get what's going on but the result is that it sees no channels even though when I'm in this function, it's a high number like 1000. Has anyone looked into what call this should be replaced with?