diff --git a/src/sfizz/Synth.cpp b/src/sfizz/Synth.cpp index fb9ef7ee..27a5c0cb 100644 --- a/src/sfizz/Synth.cpp +++ b/src/sfizz/Synth.cpp @@ -1951,7 +1951,11 @@ void sfz::Synth::setBroadcastCallback(sfizz_receive_t* broadcast, void* data) void Synth::Impl::collectUsedCCsFromRegion(BitArray& usedCCs, const Region& region) { + collectUsedCCsFromCCMap(usedCCs, region.delayCC); collectUsedCCsFromCCMap(usedCCs, region.offsetCC); + collectUsedCCsFromCCMap(usedCCs, region.endCC); + collectUsedCCsFromCCMap(usedCCs, region.loopStartCC); + collectUsedCCsFromCCMap(usedCCs, region.loopEndCC); collectUsedCCsFromCCMap(usedCCs, region.amplitudeEG.ccAttack); collectUsedCCsFromCCMap(usedCCs, region.amplitudeEG.ccRelease); collectUsedCCsFromCCMap(usedCCs, region.amplitudeEG.ccDecay); @@ -1977,6 +1981,11 @@ void Synth::Impl::collectUsedCCsFromRegion(BitArray& usedCCs, co collectUsedCCsFromCCMap(usedCCs, region.filterEG->ccStart); collectUsedCCsFromCCMap(usedCCs, region.filterEG->ccSustain); } + for (const LFODescription& lfo : region.lfos) { + collectUsedCCsFromCCMap(usedCCs, lfo.phaseCC); + collectUsedCCsFromCCMap(usedCCs, lfo.delayCC); + collectUsedCCsFromCCMap(usedCCs, lfo.fadeCC); + } collectUsedCCsFromCCMap(usedCCs, region.ccConditions); collectUsedCCsFromCCMap(usedCCs, region.ccTriggers); collectUsedCCsFromCCMap(usedCCs, region.crossfadeCCInRange);