Moved curves to resources

This commit is contained in:
Paul Fd 2020-04-06 00:20:11 +02:00
parent 4c6febeca3
commit 4ea11a31bf
3 changed files with 6 additions and 8 deletions

View file

@ -11,6 +11,7 @@
#include "EQPool.h" #include "EQPool.h"
#include "Logger.h" #include "Logger.h"
#include "Wavetables.h" #include "Wavetables.h"
#include "Curve.h"
namespace sfz namespace sfz
{ {
@ -21,6 +22,7 @@ struct Resources
BufferPool bufferPool; BufferPool bufferPool;
MidiState midiState; MidiState midiState;
Logger logger; Logger logger;
CurveSet curves;
FilePool filePool { logger }; FilePool filePool { logger };
FilterPool filterPool { midiState }; FilterPool filterPool { midiState };
EQPool eqPool { midiState }; EQPool eqPool { midiState };

View file

@ -71,7 +71,7 @@ void sfz::Synth::onParseFullBlock(const std::string& header, const std::vector<O
buildRegion(members); buildRegion(members);
break; break;
case hash("curve"): case hash("curve"):
curves.addCurveFromHeader(members); resources.curves.addCurveFromHeader(members);
break; break;
case hash("effect"): case hash("effect"):
handleEffectOpcodes(members); handleEffectOpcodes(members);
@ -136,16 +136,16 @@ void sfz::Synth::clear()
effectBuses[0]->setGainToMain(1.0); effectBuses[0]->setGainToMain(1.0);
effectBuses[0]->setSamplesPerBlock(samplesPerBlock); effectBuses[0]->setSamplesPerBlock(samplesPerBlock);
effectBuses[0]->setSampleRate(sampleRate); effectBuses[0]->setSampleRate(sampleRate);
curves = CurveSet::createPredefined(); resources.curves = CurveSet::createPredefined();
resources.filePool.clear(); resources.filePool.clear();
resources.wavePool.clearFileWaves(); resources.wavePool.clearFileWaves();
resources.logger.clear(); resources.logger.clear();
resources.midiState.reset();
numGroups = 0; numGroups = 0;
numMasters = 0; numMasters = 0;
fileTicket = -1; fileTicket = -1;
defaultSwitch = absl::nullopt; defaultSwitch = absl::nullopt;
defaultPath = ""; defaultPath = "";
resources.midiState.reset();
ccNames.clear(); ccNames.clear();
globalOpcodes.clear(); globalOpcodes.clear();
masterOpcodes.clear(); masterOpcodes.clear();
@ -814,7 +814,7 @@ int sfz::Synth::getNumMasters() const noexcept
} }
int sfz::Synth::getNumCurves() const noexcept int sfz::Synth::getNumCurves() const noexcept
{ {
return static_cast<int>(curves.getNumCurves()); return static_cast<int>(resources.curves.getNumCurves());
} }
std::string sfz::Synth::exportMidnam(absl::string_view model) const std::string sfz::Synth::exportMidnam(absl::string_view model) const

View file

@ -10,7 +10,6 @@
#include "Voice.h" #include "Voice.h"
#include "Region.h" #include "Region.h"
#include "Effects.h" #include "Effects.h"
#include "Curve.h"
#include "LeakDetector.h" #include "LeakDetector.h"
#include "MidiState.h" #include "MidiState.h"
#include "AudioSpan.h" #include "AudioSpan.h"
@ -515,9 +514,6 @@ private:
typedef std::unique_ptr<EffectBus> EffectBusPtr; typedef std::unique_ptr<EffectBus> EffectBusPtr;
std::vector<EffectBusPtr> effectBuses; // 0 is "main", 1-N are "fx1"-"fxN" std::vector<EffectBusPtr> effectBuses; // 0 is "main", 1-N are "fx1"-"fxN"
// Curves
CurveSet curves;
int samplesPerBlock { config::defaultSamplesPerBlock }; int samplesPerBlock { config::defaultSamplesPerBlock };
float sampleRate { config::defaultSampleRate }; float sampleRate { config::defaultSampleRate };
float volume { Default::globalVolume }; float volume { Default::globalVolume };