MCPcopy Create free account
hub / github.com/apohl79/audiogridder / processBlock

Method processBlock

Server/Source/AudioWorker.cpp:173–191  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

171
172template <typename T>
173void AudioWorker::processBlock(AudioBuffer<T>& buffer, MidiBuffer& midi) {
174 int numChannels = jmax(m_channelsIn + m_channelsSC, m_channelsOut) + m_chain->getExtraChannels();
175 if (numChannels <= buffer.getNumChannels()) {
176 m_chain->processBlock(buffer, midi);
177 } else {
178 // we received less channels, now we need to map the input/output data
179 auto* procBuffer = getProcBuffer<T>();
180 procBuffer->setSize(numChannels, buffer.getNumSamples());
181 if (m_activeChannels.getNumActiveChannels(true) > 0) {
182 m_channelMapper.map(&buffer, procBuffer);
183 TimeTrace::addTracePoint("pb_ch_map");
184 } else {
185 procBuffer->clear();
186 }
187 m_chain->processBlock(*procBuffer, midi);
188 m_channelMapper.mapReverse(procBuffer, &buffer);
189 TimeTrace::addTracePoint("pb_ch_map_reverse");
190 }
191}
192
193void AudioWorker::shutdown() {
194 traceScope();

Callers

nothing calls this directly

Calls 8

getExtraChannelsMethod · 0.80
setSizeMethod · 0.80
getNumSamplesMethod · 0.80
mapMethod · 0.80
mapReverseMethod · 0.80
getNumChannelsMethod · 0.45
getNumActiveChannelsMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected