getChannelData() in onAudioProcess

Yay, I just made my first jsnode! When writing the event-callback....

onAudioProcess: function(event)
	{
                var inputArray = event.inputBuffer.getChannelData(0);
		var outputArray = event.outputBuffer.getChannelData(0);
		for(var i = 0; i < outputArray.length; i++)
		{
			outputArray[i] = // write stuff
		}
	}


... i wondered: what exactly do the getChannelData() methods do, or to
be more precise: what does the implementation do? Looking at the
behavior of nodes when they don't have outgoing connections (they
don't run in that case), i assume that one method requests a buffer
from whatever output is connected to its input, possibly
creating/copying/passing large buffers around.

Aren't those two methods rather heavy? I know they're not in the main
bufferwriting loop, but they still get hit quite a few times, and my
thought would be to remove as many functioncalls as possible from
onAudioProcess (and especially from the for-loop, obviously).


Peter

Received on Sunday, 22 July 2012 11:34:09 UTC