diff --git a/src/sfizz/Resources.h b/src/sfizz/Resources.h index 1367d714..2c6adcfc 100644 --- a/src/sfizz/Resources.h +++ b/src/sfizz/Resources.h @@ -11,6 +11,7 @@ #include "EQPool.h" #include "Logger.h" #include "Wavetables.h" +#include "Curve.h" namespace sfz { @@ -21,6 +22,7 @@ struct Resources BufferPool bufferPool; MidiState midiState; Logger logger; + CurveSet curves; FilePool filePool { logger }; FilterPool filterPool { midiState }; EQPool eqPool { midiState }; diff --git a/src/sfizz/Synth.cpp b/src/sfizz/Synth.cpp index 0870905f..5e4d7fe9 100644 --- a/src/sfizz/Synth.cpp +++ b/src/sfizz/Synth.cpp @@ -71,7 +71,7 @@ void sfz::Synth::onParseFullBlock(const std::string& header, const std::vectorsetGainToMain(1.0); effectBuses[0]->setSamplesPerBlock(samplesPerBlock); effectBuses[0]->setSampleRate(sampleRate); - curves = CurveSet::createPredefined(); + resources.curves = CurveSet::createPredefined(); resources.filePool.clear(); resources.wavePool.clearFileWaves(); resources.logger.clear(); + resources.midiState.reset(); numGroups = 0; numMasters = 0; fileTicket = -1; defaultSwitch = absl::nullopt; defaultPath = ""; - resources.midiState.reset(); ccNames.clear(); globalOpcodes.clear(); masterOpcodes.clear(); @@ -814,7 +814,7 @@ int sfz::Synth::getNumMasters() const noexcept } int sfz::Synth::getNumCurves() const noexcept { - return static_cast(curves.getNumCurves()); + return static_cast(resources.curves.getNumCurves()); } std::string sfz::Synth::exportMidnam(absl::string_view model) const diff --git a/src/sfizz/Synth.h b/src/sfizz/Synth.h index 6b3d4c37..6ee6da73 100644 --- a/src/sfizz/Synth.h +++ b/src/sfizz/Synth.h @@ -10,7 +10,6 @@ #include "Voice.h" #include "Region.h" #include "Effects.h" -#include "Curve.h" #include "LeakDetector.h" #include "MidiState.h" #include "AudioSpan.h" @@ -515,9 +514,6 @@ private: typedef std::unique_ptr EffectBusPtr; std::vector effectBuses; // 0 is "main", 1-N are "fx1"-"fxN" - // Curves - CurveSet curves; - int samplesPerBlock { config::defaultSamplesPerBlock }; float sampleRate { config::defaultSampleRate }; float volume { Default::globalVolume };