Mercurial > hg > svcore
diff transform/RealTimeEffectModelTransformer.cpp @ 1105:a27b1ce86e4f 3.0-integration
Merge from branch simple-fft-model
author | Chris Cannam |
---|---|
date | Fri, 26 Jun 2015 14:07:25 +0100 |
parents | 4d9816ba0ebe |
children | e994747fb9dd |
line wrap: on
line diff
--- a/transform/RealTimeEffectModelTransformer.cpp Fri Jun 12 12:41:19 2015 +0100 +++ b/transform/RealTimeEffectModelTransformer.cpp Fri Jun 26 14:07:25 2015 +0100 @@ -191,10 +191,14 @@ if (channelCount == 1) { if (inbufs && inbufs[0]) { - got = input->getData - (m_input.getChannel(), blockFrame, blockSize, inbufs[0]); + auto data = input->getData + (m_input.getChannel(), blockFrame, blockSize); + got = data.size(); + for (sv_frame_t i = 0; i < got; ++i) { + inbufs[0][i] = data[i]; + } while (got < blockSize) { - inbufs[0][got++] = 0.0; + inbufs[0][got++] = 0.f; } for (int ch = 1; ch < (int)m_plugin->getAudioInputCount(); ++ch) { for (sv_frame_t i = 0; i < blockSize; ++i) { @@ -204,9 +208,14 @@ } } else { if (inbufs && inbufs[0]) { - got = input->getMultiChannelData(0, channelCount - 1, - blockFrame, blockSize, - inbufs); + auto data = input->getMultiChannelData + (0, channelCount - 1, blockFrame, blockSize); + if (!data.empty()) got = data[0].size(); + for (int ch = 0; ch < channelCount; ++ch) { + for (sv_frame_t i = 0; i < got; ++i) { + inbufs[ch][i] = data[ch][i]; + } + } while (got < blockSize) { for (int ch = 0; ch < channelCount; ++ch) { inbufs[ch][got] = 0.0;