Add delay invert + flatten LEDs; fix flatten to narrow bounce width instead of shortening tail

This commit is contained in:
Armin 2026-08-13 04:28:58 +02:00
commit cd2caf7821
4 changed files with 67 additions and 18 deletions

View file

@ -265,6 +265,12 @@ juce::AudioProcessorValueTreeState::ParameterLayout ChromaFlockProcessor::create
layout.add(std::make_unique<juce::AudioParameterChoice>(
juce::ParameterID{"delayPingPong", 1}, "Delay Ping-Pong",
juce::StringArray{"Off", "On"}, 0));
layout.add(std::make_unique<juce::AudioParameterChoice>(
juce::ParameterID{"delayInvert", 1}, "Delay Invert",
juce::StringArray{"Off", "On"}, 0));
layout.add(std::make_unique<juce::AudioParameterChoice>(
juce::ParameterID{"delayFlatten", 1}, "Delay Flatten",
juce::StringArray{"Off", "On"}, 0));
// REVERB
layout.add(std::make_unique<juce::AudioParameterFloat>(
@ -526,7 +532,9 @@ void ChromaFlockProcessor::processBlock(juce::AudioBuffer<float>& buffer, juce::
delayTimeMs = beatValues[bi] * 60000.0f / static_cast<float>(currentBpm);
}
delay.setParameters(delayTimeMs, getParam("delayFeedback"), getParam("delayMix"),
getParam("delayPingPong") > 0.5f);
getParam("delayPingPong") > 0.5f,
getParam("delayInvert") > 0.5f,
getParam("delayFlatten") > 0.5f);
float reverbMix = getParam("reverbOn") > 0.5f ? getParam("reverbMix") : 0.0f;
reverbFX.setParameters(getParam("reverbSize"), getParam("reverbDamping"), 0.8f, reverbMix);
limiter.setParameters(getParam("limiterThreshold"), getParam("limiterCeiling"),