Minor clean up for oscillator initialization

This commit is contained in:
Jean Pierre Cimalando 2020-06-22 21:58:34 +02:00
parent 3cd56b4697
commit 06595c0ae6

View file

@ -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();