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 "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 };

View file

@ -71,7 +71,7 @@ void sfz::Synth::onParseFullBlock(const std::string& header, const std::vector<O
buildRegion(members);
break;
case hash("curve"):
curves.addCurveFromHeader(members);
resources.curves.addCurveFromHeader(members);
break;
case hash("effect"):
handleEffectOpcodes(members);
@ -136,16 +136,16 @@ void sfz::Synth::clear()
effectBuses[0]->setGainToMain(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<int>(curves.getNumCurves());
return static_cast<int>(resources.curves.getNumCurves());
}
std::string sfz::Synth::exportMidnam(absl::string_view model) const

View file

@ -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<EffectBus> EffectBusPtr;
std::vector<EffectBusPtr> effectBuses; // 0 is "main", 1-N are "fx1"-"fxN"
// Curves
CurveSet curves;
int samplesPerBlock { config::defaultSamplesPerBlock };
float sampleRate { config::defaultSampleRate };
float volume { Default::globalVolume };