mirror of
https://codeberg.org/armin/chromaflock.git
synced 2026-09-01 04:10:47 +02:00
updateeeees
This commit is contained in:
parent
8768d13338
commit
462891fb11
5 changed files with 69 additions and 99 deletions
|
|
@ -273,6 +273,9 @@ juce::AudioProcessorValueTreeState::ParameterLayout ChromaFlockProcessor::create
|
|||
juce::ParameterID{"reverbDamping", 1}, "Reverb Damping", zeroOne, 0.5f));
|
||||
layout.add(std::make_unique<juce::AudioParameterFloat>(
|
||||
juce::ParameterID{"reverbMix", 1}, "Reverb Mix", zeroOne, 0.2f));
|
||||
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
||||
juce::ParameterID{"reverbOn", 1}, "Reverb On",
|
||||
juce::StringArray{"Off", "On"}, 1));
|
||||
|
||||
// ARPEGGIATOR
|
||||
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
||||
|
|
@ -284,7 +287,7 @@ juce::AudioProcessorValueTreeState::ParameterLayout ChromaFlockProcessor::create
|
|||
"Down & Up / Major", "Random", "As Played", "Chord", "Up & Down X",
|
||||
"Down & Up X", "Random Once", "Octave Up", "Octave Down", "Pinky Up",
|
||||
"Pinky Down", "Up / Major", "Down / Major", "Up & Down / Minor",
|
||||
"C3/C4 1", "C3/C4 2", "C3/C4 3", "C3/C4 4", "C3/C4 5"}, 0));
|
||||
"Stab 1", "Stab 2", "Stab 3", "Stab 4", "Stab 5"}, 0));
|
||||
layout.add(std::make_unique<juce::AudioParameterChoice>(
|
||||
juce::ParameterID{"arpOctaves", 1}, "Arp Octaves",
|
||||
juce::StringArray{"1", "2", "3"}, 1));
|
||||
|
|
@ -460,10 +463,12 @@ void ChromaFlockProcessor::processBlock(juce::AudioBuffer<float>& buffer, juce::
|
|||
std::vector<int> stopNotes;
|
||||
std::vector<Arpeggiator::NotePitch> playNotes;
|
||||
arp.step(stopNotes, playNotes);
|
||||
bool isRest = playNotes.empty();
|
||||
for (int n : stopNotes)
|
||||
synth.noteOff(1, juce::jlimit(0, 127, n + transpose), 0.0f, true);
|
||||
synth.noteOff(1, juce::jlimit(0, 127, n + transpose), 0.0f, !isRest);
|
||||
for (const auto& np : playNotes)
|
||||
synth.noteOn(1, juce::jlimit(0, 127, np.note + transpose), np.velocity);
|
||||
if (np.note >= 0 && np.note <= 127)
|
||||
synth.noteOn(1, juce::jlimit(0, 127, np.note + transpose), np.velocity);
|
||||
arpSampleCount = 0.0;
|
||||
}
|
||||
|
||||
|
|
@ -475,10 +480,12 @@ void ChromaFlockProcessor::processBlock(juce::AudioBuffer<float>& buffer, juce::
|
|||
std::vector<int> stopNotes;
|
||||
std::vector<Arpeggiator::NotePitch> playNotes;
|
||||
arp.step(stopNotes, playNotes);
|
||||
bool isRest = playNotes.empty();
|
||||
for (int n : stopNotes)
|
||||
synth.noteOff(1, juce::jlimit(0, 127, n + transpose), 0.0f, true);
|
||||
synth.noteOff(1, juce::jlimit(0, 127, n + transpose), 0.0f, !isRest);
|
||||
for (const auto& np : playNotes)
|
||||
synth.noteOn(1, juce::jlimit(0, 127, np.note + transpose), np.velocity);
|
||||
if (np.note >= 0 && np.note <= 127)
|
||||
synth.noteOn(1, juce::jlimit(0, 127, np.note + transpose), np.velocity);
|
||||
}
|
||||
} else {
|
||||
arpSampleCount = 0.0;
|
||||
|
|
@ -520,7 +527,8 @@ void ChromaFlockProcessor::processBlock(juce::AudioBuffer<float>& buffer, juce::
|
|||
}
|
||||
delay.setParameters(delayTimeMs, getParam("delayFeedback"), getParam("delayMix"),
|
||||
getParam("delayPingPong") > 0.5f);
|
||||
reverbFX.setParameters(getParam("reverbSize"), getParam("reverbDamping"), 0.8f, getParam("reverbMix"));
|
||||
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"),
|
||||
getParam("limiterRelease"));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue