18 waveInputDevice (owner), input (
std::
move (inputNode)), copyInputsToOutputs (copyInputsToOutputs_)
39 sampleRate = info.sampleRate;
41 auto latencyUpToThisPoint = getNodeProperties().latencyNumSamples;
42 const auto latencyUpToThisPointS = TimeDuration::fromSamples (latencyUpToThisPoint, sampleRate);
43 offset = -latencyUpToThisPointS;
56 auto sourceBuffers = input->getProcessedOutput();
58 if (copyInputsToOutputs)
60 setAudioOutput (input.get(), sourceBuffers.audio);
61 pc.buffers.midi.copyFrom (sourceBuffers.midi);
65 if (
auto numChans =
juce::jmin (2u, sourceBuffers.audio.getNumChannels()))
67 const float* chans[3] = { sourceBuffers.audio.getChannel(0).data.data,
68 numChans > 1 ? sourceBuffers.audio.getChannel(1).data.data
72 const auto streamPos = TimePosition::fromSamples (getReferenceSampleRange().getStart(), sampleRate);
73 waveInputDevice.consumeNextAudioBlock (chans, (
int) numChans, (
int) sourceBuffers.audio.getNumFrames(),
74 (streamPos + offset).inSeconds());
Struct to describe a single iteration of a process call.