From 06595c0ae64fdbe45962a28798cdd84135061709 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Mon, 22 Jun 2020 21:58:34 +0200 Subject: [PATCH] Minor clean up for oscillator initialization --- src/sfizz/Voice.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/sfizz/Voice.cpp b/src/sfizz/Voice.cpp index 53066593..75374065 100644 --- a/src/sfizz/Voice.cpp +++ b/src/sfizz/Voice.cpp @@ -65,19 +65,21 @@ void sfz::Voice::startVoice(Region* region, int delay, int number, float value, wave = resources.wavePool.getWaveSaw(); break; } - const int quality = region->oscillatorQuality ? *region->oscillatorQuality : Default::oscillatorQuality; + const float phase = region->getPhase(); + const int quality = region->oscillatorQuality.value_or(Default::oscillatorQuality); for (WavetableOscillator& osc : waveOscillators) { osc.setWavetable(wave); - osc.setPhase(region->getPhase()); + osc.setPhase(phase); osc.setQuality(quality); } setupOscillatorUnison(); } else if (region->oscillator) { const WavetableMulti* wave = resources.wavePool.getFileWave(region->sampleId.filename()); - const int quality = region->oscillatorQuality ? *region->oscillatorQuality : Default::oscillatorQuality; + const float phase = region->getPhase(); + const int quality = region->oscillatorQuality.value_or(Default::oscillatorQuality); for (WavetableOscillator& osc : waveOscillators) { osc.setWavetable(wave); - osc.setPhase(region->getPhase()); + osc.setPhase(phase); osc.setQuality(quality); } setupOscillatorUnison();