Add per-note velocity routing to filter cutoff and resonance

This commit is contained in:
Armin 2026-08-30 00:01:53 +02:00
commit 9ef77e04ab
6 changed files with 63 additions and 20 deletions

View file

@ -107,6 +107,10 @@ juce::AudioProcessorValueTreeState::ParameterLayout ChromaFlockProcessor::create
juce::ParameterID{"filterEnvAmt", 1}, "Filter Env Amount", zeroOne, 0.0f));
layout.add(std::make_unique<juce::AudioParameterFloat>(
juce::ParameterID{"keyTrack", 1}, "Key Tracking", zeroOne, 0.5f));
layout.add(std::make_unique<juce::AudioParameterFloat>(
juce::ParameterID{"velToCut", 1}, "Vel -> Cutoff", zeroOne, 0.0f));
layout.add(std::make_unique<juce::AudioParameterFloat>(
juce::ParameterID{"velToRes", 1}, "Vel -> Resonance", zeroOne, 0.0f));
// FILTER ENVELOPE
layout.add(std::make_unique<juce::AudioParameterFloat>(
@ -370,9 +374,9 @@ void ChromaFlockProcessor::updateVoiceParameters() {
getParam("phaseOffset"),
getParam("filterCutoff"),
getParam("filterRes"),
static_cast<FilterType>(static_cast<int>(getParam("filterType"))),
static_cast<FilterType>(static_cast<int>(getParam("filterType"))),
getParam("filterEnvAmt"),
getParam("keyTrack"),
getParam("keyTrack"),
getParam("envAttack"),
getParam("envDecay"),
getParam("envSustain"),
@ -391,7 +395,9 @@ void ChromaFlockProcessor::updateVoiceParameters() {
l2Rate,
getParam("lfo2Depth"),
static_cast<int>(getParam("lfo2Shape")),
static_cast<int>(getParam("lfo2Dest"))
static_cast<int>(getParam("lfo2Dest")),
getParam("velToCut"),
getParam("velToRes")
);
}
}