Add ping-pong delay, fix preset save extension, align reverb/scale UI

This commit is contained in:
Armin 2026-07-16 00:49:09 +02:00
commit af87193643
5 changed files with 129 additions and 1110 deletions

View file

@ -257,6 +257,9 @@ juce::AudioProcessorValueTreeState::ParameterLayout ChromaFlockProcessor::create
juce::NormalisableRange<float>(0.0f, static_cast<float>(numBeats - 1), 1.0f), 4.0f,
juce::AudioParameterFloatAttributes()
.withStringFromValueFunction(beatValueToText)));
layout.add(std::make_unique<juce::AudioParameterChoice>(
juce::ParameterID{"delayPingPong", 1}, "Delay Ping-Pong",
juce::StringArray{"Off", "On"}, 0));
// REVERB
layout.add(std::make_unique<juce::AudioParameterFloat>(
@ -420,7 +423,8 @@ void ChromaFlockProcessor::processBlock(juce::AudioBuffer<float>& buffer, juce::
int bi = juce::jlimit(0, numBeats - 1, juce::roundToInt(getParam("delayBeat")));
delayTimeMs = beatValues[bi] * 60000.0f / static_cast<float>(currentBpm);
}
delay.setParameters(delayTimeMs, getParam("delayFeedback"), getParam("delayMix"));
delay.setParameters(delayTimeMs, getParam("delayFeedback"), getParam("delayMix"),
getParam("delayPingPong") > 0.5f);
reverbFX.setParameters(getParam("reverbSize"), getParam("reverbDamping"), 0.8f, getParam("reverbMix"));
limiter.setParameters(getParam("limiterThreshold"), getParam("limiterCeiling"),
getParam("limiterRelease"));