Add a clear() method in the resources

This commit is contained in:
Paul Fd 2020-04-06 19:07:46 +02:00
parent da6df7db8a
commit 434868e52e
2 changed files with 11 additions and 5 deletions

View file

@ -40,5 +40,14 @@ struct Resources
bufferPool.setBufferSize(samplesPerBlock);
midiState.setSamplesPerBlock(samplesPerBlock);
}
void clear()
{
curves = CurveSet::createPredefined();
filePool.clear();
wavePool.clearFileWaves();
logger.clear();
midiState.reset();
}
};
}

View file

@ -130,17 +130,14 @@ void sfz::Synth::clear()
list.clear();
for (auto& list : ccActivationLists)
list.clear();
regions.clear();
effectBuses.clear();
effectBuses.emplace_back(new EffectBus);
effectBuses[0]->setGainToMain(1.0);
effectBuses[0]->setSamplesPerBlock(samplesPerBlock);
effectBuses[0]->setSampleRate(sampleRate);
resources.curves = CurveSet::createPredefined();
resources.filePool.clear();
resources.wavePool.clearFileWaves();
resources.logger.clear();
resources.midiState.reset();
resources.clear();
numGroups = 0;
numMasters = 0;
fileTicket = -1;