Set client sampling rate in time for it to be available the first time process is called

include/FluidSCWrapper.hpp
nix
Owen Green 7 years ago
parent a77c46c198
commit 82cc1dc77f

@ -97,6 +97,7 @@ public:
return; return;
} }
mClient.sampleRate(fullSampleRate());
mInputConnections.reserve(mClient.audioChannelsIn()); mInputConnections.reserve(mClient.audioChannelsIn());
mOutputConnections.reserve(mClient.audioChannelsOut()); mOutputConnections.reserve(mClient.audioChannelsOut());
mAudioInputs.reserve(mClient.audioChannelsIn()); mAudioInputs.reserve(mClient.audioChannelsIn());
@ -115,11 +116,12 @@ public:
} }
for (int i = 0; i < static_cast<int>(mClient.controlChannelsOut()); ++i) { mOutputs.emplace_back(nullptr, 0, 0); } for (int i = 0; i < static_cast<int>(mClient.controlChannelsOut()); ++i) { mOutputs.emplace_back(nullptr, 0, 0); }
set_calc_function<RealTime, &RealTime::next>(); set_calc_function<RealTime, &RealTime::next>();
Wrapper::getInterfaceTable()->fClearUnitOutputs(this, 1); Wrapper::getInterfaceTable()->fClearUnitOutputs(this, 1);
mClient.sampleRate(fullSampleRate());
} }
@ -137,7 +139,7 @@ public:
{ {
if (mOutputConnections[i]) mOutputs[i].reset(out(static_cast<int>(i)), 0, fullBufferSize()); if (mOutputConnections[i]) mOutputs[i].reset(out(static_cast<int>(i)), 0, fullBufferSize());
} }
for (size_t i = 0; i < mClient.controlChannelsOut(); ++i) { mOutputs[i].reset(out(static_cast<int>(i)), 0, 1); } for (size_t i = 0; i < mClient.controlChannelsOut(); ++i) { mOutputs[i].reset(out(i), 0, 1); }
mClient.process(mAudioInputs, mOutputs); mClient.process(mAudioInputs, mOutputs);
} }
@ -177,7 +179,7 @@ public:
if (args->tags && ((std::string{args->tags}.size() - 1) != Client::getParameterDescriptors().count())) if (args->tags && ((std::string{args->tags}.size() - 1) != Client::getParameterDescriptors().count()))
{ {
std::cout << "ERROR: " << Wrapper::getName() << " wrong number of arguments. Expected " std::cout << "ERROR: " << Wrapper::getName() << " wrong number of arguments. Expected "
<< Client::getParameterDescriptors().count() << ", got " << (std::string{args->tags}.size() - 1) << Client::getParameterDescriptors().count() << ", got " << (std::string{args->tags}.size() - 1)
<< ". Your .sc file and binary plugin might be different versions." << std::endl; << ". Your .sc file and binary plugin might be different versions." << std::endl;
return; return;

Loading…
Cancel
Save