57 if (timeNow > lastCallbackTime + 150)
63 lastCallbackTime = timeNow;
65 auto& destAudio = pc.buffers.audio;
66 auto numSamples = destAudio.getNumFrames();
67 const auto numChannelsToRead =
std::min (destAudio.getNumChannels(),
68 audioFifo.getNumChannels());
69 jassert (destAudio.getNumChannels() >= audioFifo.getNumChannels());
71 if (
auto numToRead =
std::min ((choc::buffer::FrameCount) audioFifo.getNumReady(), numSamples))
73 auto destSubView = destAudio.getFirstChannels (numChannelsToRead)
74 .getStart (numToRead);
75 audioFifo.readAdding (destSubView);
78 auto lastChannelView = destSubView.getChannel (destSubView.getNumChannels() - 1);
80 for (
auto c = numChannelsToRead; c < destAudio.getNumChannels(); ++c)
81 copy (destAudio.getChannel (c).getStart (numToRead), lastChannelView);
Struct to describe a single iteration of a process call.