Use an intermediate method to set the sample rate and block size for the resources
This commit is contained in:
parent
406b7a08d7
commit
7cb92e05d2
2 changed files with 15 additions and 4 deletions
|
|
@ -25,5 +25,18 @@ struct Resources
|
|||
FilterPool filterPool { midiState };
|
||||
EQPool eqPool { midiState };
|
||||
WavetablePool wavePool;
|
||||
|
||||
void setSampleRate(float samplerate)
|
||||
{
|
||||
midiState.setSampleRate(samplerate);
|
||||
filterPool.setSampleRate(samplerate);
|
||||
eqPool.setSampleRate(samplerate);
|
||||
}
|
||||
|
||||
void setSamplesPerBlock(int samplesPerBlock)
|
||||
{
|
||||
bufferPool.setBufferSize(samplesPerBlock);
|
||||
midiState.setSamplesPerBlock(samplesPerBlock);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -510,7 +510,7 @@ void sfz::Synth::setSamplesPerBlock(int samplesPerBlock) noexcept
|
|||
this->tempMixNodeBuffer.resize(samplesPerBlock);
|
||||
for (auto& voice : voices)
|
||||
voice->setSamplesPerBlock(samplesPerBlock);
|
||||
resources.midiState.setSamplesPerBlock(samplesPerBlock);
|
||||
resources.setSamplesPerBlock(samplesPerBlock);
|
||||
|
||||
for (auto& bus : effectBuses) {
|
||||
if (bus)
|
||||
|
|
@ -529,9 +529,7 @@ void sfz::Synth::setSampleRate(float sampleRate) noexcept
|
|||
for (auto& voice : voices)
|
||||
voice->setSampleRate(sampleRate);
|
||||
|
||||
resources.filterPool.setSampleRate(sampleRate);
|
||||
resources.eqPool.setSampleRate(sampleRate);
|
||||
resources.midiState.setSampleRate(sampleRate);
|
||||
resources.setSampleRate(sampleRate);
|
||||
|
||||
for (auto& bus : effectBuses) {
|
||||
if (bus)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue