mirror of
https://codeberg.org/armin/chromaflock.git
synced 2026-09-01 04:10:47 +02:00
Fix menu scaling issues, fix preset menu layout, add LED display (to
show patch), add prev/next patch buttons
This commit is contained in:
parent
827eca7e61
commit
79be724e5d
5 changed files with 281 additions and 175 deletions
|
|
@ -31,12 +31,12 @@ juce::AudioProcessorValueTreeState::ParameterLayout ChromaFlockProcessor::create
|
|||
juce::ParameterID{"osc1Fine", 1}, "OSC1 Fine",
|
||||
juce::NormalisableRange<float>(-100.0f, 100.0f, 1.0f), 0.0f));
|
||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||
juce::ParameterID{"osc1Level", 1}, "OSC1 Level", zeroOne, 0.7f));
|
||||
juce::ParameterID{"osc1Level", 1}, "OSC1 Level", zeroOne, 0.5f));
|
||||
|
||||
// OSC 2
|
||||
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
||||
juce::ParameterID{"osc2Wave", 1}, "OSC2 Wave",
|
||||
juce::StringArray{"Sine", "Saw", "Square", "Triangle", "Noise"}, 2));
|
||||
juce::StringArray{"Sine", "Saw", "Square", "Triangle", "Noise"}, 3));
|
||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||
juce::ParameterID{"osc2Oct", 1}, "OSC2 Octave",
|
||||
juce::NormalisableRange<float>(-3.0f, 3.0f, 1.0f), -1.0f));
|
||||
|
|
@ -47,7 +47,7 @@ juce::AudioProcessorValueTreeState::ParameterLayout ChromaFlockProcessor::create
|
|||
juce::ParameterID{"osc2Fine", 1}, "OSC2 Fine",
|
||||
juce::NormalisableRange<float>(-100.0f, 100.0f, 1.0f), 7.0f));
|
||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||
juce::ParameterID{"osc2Level", 1}, "OSC2 Level", zeroOne, 0.7f));
|
||||
juce::ParameterID{"osc2Level", 1}, "OSC2 Level", zeroOne, 0.5f));
|
||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||
juce::ParameterID{"phaseOffset", 1}, "Phase Offset", zeroOne, 0.5f));
|
||||
|
||||
|
|
@ -59,7 +59,7 @@ juce::AudioProcessorValueTreeState::ParameterLayout ChromaFlockProcessor::create
|
|||
juce::ParameterID{"filterCutoff", 1}, "Filter Cutoff",
|
||||
juce::NormalisableRange<float>(50.0f, 20000.0f, 0.1f, 0.25f), 8000.0f));
|
||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||
juce::ParameterID{"filterRes", 1}, "Filter Resonance", zeroOne, 0.7f));
|
||||
juce::ParameterID{"filterRes", 1}, "Filter Resonance", zeroOne, 0.2f));
|
||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||
juce::ParameterID{"filterEnvAmt", 1}, "Filter Env Amount", zeroOne, 0.0f));
|
||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||
|
|
@ -81,7 +81,7 @@ juce::AudioProcessorValueTreeState::ParameterLayout ChromaFlockProcessor::create
|
|||
// AMP ENVELOPE
|
||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||
juce::ParameterID{"envAttack", 1}, "Attack",
|
||||
juce::NormalisableRange<float>(0.001f, 5.0f, 0.001f, 0.3f), 0.01f));
|
||||
juce::NormalisableRange<float>(0.001f, 5.0f, 0.001f, 0.3f), 0.03f));
|
||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||
juce::ParameterID{"envDecay", 1}, "Decay",
|
||||
juce::NormalisableRange<float>(0.001f, 5.0f, 0.001f, 0.3f), 0.3f));
|
||||
|
|
@ -97,9 +97,9 @@ juce::AudioProcessorValueTreeState::ParameterLayout ChromaFlockProcessor::create
|
|||
juce::NormalisableRange<float>(-1.0f, 1.0f, 0.01f), 0.0f));
|
||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||
juce::ParameterID{"drive", 1}, "Drive",
|
||||
juce::NormalisableRange<float>(1.0f, 5.0f, 0.01f, 0.5f), 1.5f));
|
||||
juce::NormalisableRange<float>(1.0f, 5.0f, 0.01f, 0.5f), 1.2f));
|
||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||
juce::ParameterID{"masterLevel", 1}, "Master Level", zeroOne, 0.8f));
|
||||
juce::ParameterID{"masterLevel", 1}, "Master Level", zeroOne, 0.7f));
|
||||
|
||||
// PITCH BEND
|
||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||
|
|
@ -175,12 +175,6 @@ juce::AudioProcessorValueTreeState::ParameterLayout ChromaFlockProcessor::create
|
|||
juce::ParameterID{"delayFeedback", 1}, "Delay Feedback", zeroOne, 0.3f));
|
||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||
juce::ParameterID{"delayMix", 1}, "Delay Mix", zeroOne, 0.25f));
|
||||
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
||||
juce::ParameterID{"delayPingPong", 1}, "Delay PingPong",
|
||||
juce::StringArray{"Off", "On"}, 0));
|
||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||
juce::ParameterID{"delaySpread", 1}, "Delay Spread",
|
||||
juce::NormalisableRange<float>(0.25f, 0.75f, 0.01f), 0.5f));
|
||||
|
||||
// REVERB
|
||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||
|
|
@ -293,8 +287,7 @@ void ChromaFlockProcessor::processBlock(juce::AudioBuffer<float>& buffer, juce::
|
|||
float panRate = getParam("autoPanRate");
|
||||
float panDepth = getParam("autoPanDepth");
|
||||
|
||||
delay.setParameters(getParam("delayTime"), getParam("delayFeedback"), getParam("delayMix"),
|
||||
static_cast<int>(getParam("delayPingPong")) == 1, getParam("delaySpread"));
|
||||
delay.setParameters(getParam("delayTime"), getParam("delayFeedback"), getParam("delayMix"));
|
||||
reverbFX.setParameters(getParam("reverbSize"), getParam("reverbDamping"), 0.8f, getParam("reverbMix"));
|
||||
|
||||
// FX processing: distortion → compression → auto-pan
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue