ASIO question


#1

I know bugger all about ASIO. Except that I need it for an app.

In the JUCE audioDeviceIOCallback whats the story with numSamples? Is it always the same or is it set somewhere in the system?

And the inputChannelData itself. If I want to send it off for further analysis (NOT alteration) elsewhere in the app I have to make a copy right? Or can I just send off a pointer?

Thanks.


#2

The number of samples depends on the device’s latency - it’ll usually stay the same but might change a bit.

And you’re ok to use the sample data until you return from the callback function - obviously the buffers get reused for each callback


#3

Yeah cheers jules. I sussed the numSamples/latency connection.

Next question: Blocking the ASIO thread is a nono right? I’m trying to buffer audio input for use by big-slow-scary-nothing-to-do-with-me-algorithm-X using a circular buffer. When this fills up theres nothing I can do but expand it or lose audio input waiting for the algo right? Me boss (don’t worry jules, we’re only at venture capitalist demo production stage - nothings being released anywhere) says “block the fucker” and I say “nah! it’s realtime input”


#4