Ive got a very strange bug befallen me in,
I have an audio app, which processes audio, using the AudioDeviceManager. It’s been in development several years, and is in just now starting testing. All this time I have successfully been using AudioIO Callbacks from the AudioDeviceManager into my audio code.
Until this afternoon:
As soon as I call AudioDeviceManager->initialise
noise starts on the output
the inputs are bieng copied to the outputs (so you can hear youself)
My exact code is:
String init = deviceManager->initialise(1024, 1024, dmXML.get(), false);
The xml has been generated when the user changes / saves the device setting.
No error is report and init is blank.
This is before I have added my own callback. When I do add a callback the output of that callback is then added to the noise / mic input rather than replacing it.
I have checked all the obvious things like different sound cards/drivers (a motu 624 and some cheap usb headsets), made my io callback just zeroise the output, but none of it stops the noise.
And I have done a full trace through the juce code, both the initialisation code and the callback:
Everything loads properly, no errors, noise starts when the Apple callback starts.
The apple IO callback is calling the AudioDeviceManager callback, which is successfully zeroing output when there is no callback from my app, and calling that callback when there is. The code looks good and runs fine!
Even stranger the noise continues when I break the app on the audio thread using a breakpoint! It only stops when it releases the soundcard driver or the app closes, its like something else is happening behind the scenes.
Its currently only being tested on MacOs - I genuinely don’t have a windows / linux box built up at the moment to test on.
I’m sure I have just done something strange but I cant for the life of me work out what!
Ive also searched the forums, but apologies if I have missed a relevant post.
TIA
Chris
