From 434868e52e466fa189dc4a79b521616d60eaa67b Mon Sep 17 00:00:00 2001 From: Paul Fd Date: Mon, 6 Apr 2020 19:07:46 +0200 Subject: [PATCH] Add a clear() method in the resources --- src/sfizz/Resources.h | 9 +++++++++ src/sfizz/Synth.cpp | 7 ++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/sfizz/Resources.h b/src/sfizz/Resources.h index 2c6adcfc..17f924a9 100644 --- a/src/sfizz/Resources.h +++ b/src/sfizz/Resources.h @@ -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(); + } }; } diff --git a/src/sfizz/Synth.cpp b/src/sfizz/Synth.cpp index 5e4d7fe9..c618f154 100644 --- a/src/sfizz/Synth.cpp +++ b/src/sfizz/Synth.cpp @@ -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;