Are there any plans to move the AudioIODeviceCombiner class?


I'd like to use the AudioIODeviceCombiner class in a Visual Studio 2015 project. However. it's currently located in a Mac-specific file, i.e. juce_mac_CoreAudio.cpp, even though it's OS independent.

Are there any plans to move it to an OS independent module?


Yes, we'll be making it public at some point - I wrote it as an internal class just to get it going and test it, but will break it out eventually!

Thanks for your prompt reply.

As you're the author of the class, I'd be grateful if you'd answer the following questions.

  1. Why is the size of the device combiner's fifo 3 times the buffer size plus 1?
  2. Both readInput() and pushOutputData() try 5 times to read and write the requisite number of samples. Is there any particular reason why you've chosen 5?
  3. Why is there a call to sleep(1) in audioDeviceIOCallback()? 

Many thanks. 

There's a lot of empirical/guesswork/finger-in-the-air judgement that goes into making these kind of classes work! But those are all things that I'd revisit before making the class public, as they may work well for CoreAudio but not for other platforms.

Exactly! That's what went through my mind.