From 7e8cdff4075a4c1328ef75bd0f91755345488e7a Mon Sep 17 00:00:00 2001 From: Paul Fd Date: Tue, 31 Mar 2020 10:40:44 +0200 Subject: [PATCH] Modifier loops can be const --- src/sfizz/EQPool.cpp | 12 ++++++------ src/sfizz/FilterPool.cpp | 12 ++++++------ src/sfizz/Voice.cpp | 24 ++++++++++++------------ 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/sfizz/EQPool.cpp b/src/sfizz/EQPool.cpp index a9f8c2bc..515f26ef 100644 --- a/src/sfizz/EQPool.cpp +++ b/src/sfizz/EQPool.cpp @@ -29,17 +29,17 @@ void sfz::EQHolder::setup(const EQDescription& description, unsigned numChannels // Setup the modulated values lastFrequency = baseFrequency; - for (auto& mod : description.frequencyCC) + for (const auto& mod : description.frequencyCC) lastFrequency += midiState.getCCValue(mod.cc) * mod.value; lastFrequency = Default::eqFrequencyRange.clamp(lastFrequency); lastBandwidth = baseBandwidth; - for (auto& mod : description.bandwidthCC) + for (const auto& mod : description.bandwidthCC) lastBandwidth += midiState.getCCValue(mod.cc) * mod.value; lastBandwidth = Default::eqBandwidthRange.clamp(lastBandwidth); lastGain = baseGain; - for (auto& mod : description.gainCC) + for (const auto& mod : description.gainCC) lastGain += midiState.getCCValue(mod.cc) * mod.value; lastGain = Default::filterGainRange.clamp(lastGain); @@ -62,17 +62,17 @@ void sfz::EQHolder::process(const float** inputs, float** outputs, unsigned numF // TODO: Once the midistate envelopes are done, add modulation in there! // For now we take the last value lastFrequency = baseFrequency; - for (auto& mod : description->frequencyCC) + for (const auto& mod : description->frequencyCC) lastFrequency += midiState.getCCValue(mod.cc) * mod.value; lastFrequency = Default::eqFrequencyRange.clamp(lastFrequency); lastBandwidth = baseBandwidth; - for (auto& mod : description->bandwidthCC) + for (const auto& mod : description->bandwidthCC) lastBandwidth += midiState.getCCValue(mod.cc) * mod.value; lastBandwidth = Default::eqBandwidthRange.clamp(lastBandwidth); lastGain = baseGain; - for (auto& mod : description->gainCC) + for (const auto& mod : description->gainCC) lastGain += midiState.getCCValue(mod.cc) * mod.value; lastGain = Default::filterGainRange.clamp(lastGain); diff --git a/src/sfizz/FilterPool.cpp b/src/sfizz/FilterPool.cpp index f28002f4..062e4e95 100644 --- a/src/sfizz/FilterPool.cpp +++ b/src/sfizz/FilterPool.cpp @@ -41,17 +41,17 @@ void sfz::FilterHolder::setup(const FilterDescription& description, unsigned num // Setup the modulated values lastCutoff = baseCutoff; - for (auto& mod : description.cutoffCC) + for (const auto& mod : description.cutoffCC) lastCutoff *= centsFactor(midiState.getCCValue(mod.cc) * mod.value); lastCutoff = Default::filterCutoffRange.clamp(lastCutoff); lastResonance = baseResonance; - for (auto& mod : description.resonanceCC) + for (const auto& mod : description.resonanceCC) lastResonance += midiState.getCCValue(mod.cc) * mod.value; lastResonance = Default::filterResonanceRange.clamp(lastResonance); lastGain = baseGain; - for (auto& mod : description.gainCC) + for (const auto& mod : description.gainCC) lastGain += midiState.getCCValue(mod.cc) * mod.value; lastGain = Default::filterGainRange.clamp(lastGain); @@ -71,17 +71,17 @@ void sfz::FilterHolder::process(const float** inputs, float** outputs, unsigned // For now we take the last value // TODO: the template deduction could be automatic here? lastCutoff = baseCutoff; - for (auto& mod : description->cutoffCC) + for (const auto& mod : description->cutoffCC) lastCutoff *= centsFactor(midiState.getCCValue(mod.cc) * mod.value); lastCutoff = Default::filterCutoffRange.clamp(lastCutoff); lastResonance = baseResonance; - for (auto& mod : description->resonanceCC) + for (const auto& mod : description->resonanceCC) lastResonance += midiState.getCCValue(mod.cc) * mod.value; lastResonance = Default::filterResonanceRange.clamp(lastResonance); lastGain = baseGain; - for (auto& mod : description->gainCC) + for (const auto& mod : description->gainCC) lastGain += midiState.getCCValue(mod.cc) * mod.value; lastGain = Default::filterGainRange.clamp(lastGain); diff --git a/src/sfizz/Voice.cpp b/src/sfizz/Voice.cpp index aa50fde3..8881d453 100644 --- a/src/sfizz/Voice.cpp +++ b/src/sfizz/Voice.cpp @@ -250,7 +250,7 @@ void sfz::Voice::ampStageMono(AudioSpan buffer) noexcept // Amplitude envelope fill(*modulationSpan, baseGain); - for (auto& mod : region->amplitudeCC) { + for (const auto& mod : region->amplitudeCC) { const auto events = resources.midiState.getCCEvents(mod.cc); linearEnvelope(events, *tempSpan, [&mod](float x) { return x * mod.value; }); applyGain(*tempSpan, *modulationSpan); @@ -259,12 +259,12 @@ void sfz::Voice::ampStageMono(AudioSpan buffer) noexcept // Crossfade envelopes fill(*modulationSpan, 1.0f); - for (auto& mod : region->crossfadeCCInRange) { + for (const auto& mod : region->crossfadeCCInRange) { const auto events = resources.midiState.getCCEvents(mod.cc); linearEnvelope(events, *tempSpan, [&](float x) { return crossfadeIn(mod.value, x, xfCurve); }); applyGain(*tempSpan, *modulationSpan); } - for (auto& mod : region->crossfadeCCOutRange) { + for (const auto& mod : region->crossfadeCCOutRange) { const auto events = resources.midiState.getCCEvents(mod.cc); linearEnvelope(events, *tempSpan, [&](float x) { return crossfadeOut(mod.value, x, xfCurve); }); applyGain(*tempSpan, *modulationSpan); @@ -273,7 +273,7 @@ void sfz::Voice::ampStageMono(AudioSpan buffer) noexcept // Volume envelope fill(*modulationSpan, db2mag(baseVolumedB)); - for (auto& mod : region->volumeCC) { + for (const auto& mod : region->volumeCC) { const auto events = resources.midiState.getCCEvents(mod.cc); multiplicativeEnvelope(events, *tempSpan, [&](float x) { return db2mag(x * mod.value); }); applyGain(*tempSpan, *modulationSpan); @@ -300,7 +300,7 @@ void sfz::Voice::ampStageStereo(AudioSpan buffer) noexcept // Amplitude envelope fill(*modulationSpan, baseGain); - for (auto& mod : region->amplitudeCC) { + for (const auto& mod : region->amplitudeCC) { const auto events = resources.midiState.getCCEvents(mod.cc); linearEnvelope(events, *tempSpan, [&mod](float x) { return x * mod.value; }); applyGain(*tempSpan, *modulationSpan); @@ -309,12 +309,12 @@ void sfz::Voice::ampStageStereo(AudioSpan buffer) noexcept // Crossfade envelopes fill(*modulationSpan, 1.0f); - for (auto& mod : region->crossfadeCCInRange) { + for (const auto& mod : region->crossfadeCCInRange) { const auto events = resources.midiState.getCCEvents(mod.cc); linearEnvelope(events, *tempSpan, [&](float x) { return crossfadeIn(mod.value, x, xfCurve); }); applyGain(*tempSpan, *modulationSpan); } - for (auto& mod : region->crossfadeCCOutRange) { + for (const auto& mod : region->crossfadeCCOutRange) { const auto events = resources.midiState.getCCEvents(mod.cc); linearEnvelope(events, *tempSpan, [&](float x) { return crossfadeOut(mod.value, x, xfCurve); }); applyGain(*tempSpan, *modulationSpan); @@ -323,7 +323,7 @@ void sfz::Voice::ampStageStereo(AudioSpan buffer) noexcept // Volume envelope fill(*modulationSpan, db2mag(baseVolumedB)); - for (auto& mod : region->volumeCC) { + for (const auto& mod : region->volumeCC) { const auto events = resources.midiState.getCCEvents(mod.cc); multiplicativeEnvelope(events, *tempSpan, [&](float x) { return db2mag(x * mod.value); }); applyGain(*tempSpan, *modulationSpan); @@ -353,7 +353,7 @@ void sfz::Voice::panStageMono(AudioSpan buffer) noexcept // Apply panning fill(*modulationSpan, region->pan); - for (auto& mod : region->panCC) { + for (const auto& mod : region->panCC) { const auto events = resources.midiState.getCCEvents(mod.cc); linearEnvelope(events, *tempSpan, [&mod](float x) { return x * mod.value; }); add(*tempSpan, *modulationSpan); @@ -376,7 +376,7 @@ void sfz::Voice::panStageStereo(AudioSpan buffer) noexcept // Apply panning // panningModulation(*modulationSpan); fill(*modulationSpan, region->pan); - for (auto& mod : region->panCC) { + for (const auto& mod : region->panCC) { const auto events = resources.midiState.getCCEvents(mod.cc); linearEnvelope(events, *tempSpan, [&mod](float x) { return x * mod.value; }); add(*tempSpan, *modulationSpan); @@ -386,7 +386,7 @@ void sfz::Voice::panStageStereo(AudioSpan buffer) noexcept // Apply the width/position process // widthModulation(*modulationSpan); fill(*modulationSpan, region->width); - for (auto& mod : region->widthCC) { + for (const auto& mod : region->widthCC) { const auto events = resources.midiState.getCCEvents(mod.cc); linearEnvelope(events, *tempSpan, [&mod](float x) { return x * mod.value; }); add(*tempSpan, *modulationSpan); @@ -395,7 +395,7 @@ void sfz::Voice::panStageStereo(AudioSpan buffer) noexcept // positionModulation(*modulationSpan); fill(*modulationSpan, region->position); - for (auto& mod : region->positionCC) { + for (const auto& mod : region->positionCC) { const auto events = resources.midiState.getCCEvents(mod.cc); linearEnvelope(events, *tempSpan, [&mod](float x) { return x * mod.value; }); add(*tempSpan, *modulationSpan);