mirror of
https://codeberg.org/armin/chromaflock.git
synced 2026-09-01 04:10:47 +02:00
Add per-note velocity routing to filter cutoff and resonance
This commit is contained in:
parent
9e84707f93
commit
9ef77e04ab
6 changed files with 63 additions and 20 deletions
|
|
@ -640,6 +640,8 @@ MainContentComponent::MainContentComponent(ChromaFlockProcessor& p)
|
|||
setupParam(filterResKnob, filterResAttach, "filterRes", "RES");
|
||||
setupParam(filterEnvAmtKnob, filterEnvAmtAttach, "filterEnvAmt", "ENV AMT");
|
||||
setupParam(keyTrackKnob, keyTrackAttach, "keyTrack", "KEY TRK");
|
||||
setupParam(velToCutKnob, velToCutAttach, "velToCut", "VEL CUT");
|
||||
setupParam(velToResKnob, velToResAttach, "velToRes", "VEL RES");
|
||||
|
||||
setupLabel(envLabel, "AMP ENV");
|
||||
setupParam(envAttackKnob, envAttackAttach, "envAttack", "ATTACK");
|
||||
|
|
@ -1247,12 +1249,23 @@ void MainContentComponent::resized() {
|
|||
phaseOffsetKnob.setBounds(528 + (knobSize + knobSpacing) * 4, knobY2, knobSize, knobSize);
|
||||
|
||||
filterLabel.setBounds(1152, sectionY, 498, labelH);
|
||||
filterTypeBox.setBounds(1162, sectionY + labelH + 4, 200, 28);
|
||||
int knobYF = sectionY + labelH + comboH + 8;
|
||||
filterCutoffKnob.setBounds(1162, knobYF, knobSize, knobSize);
|
||||
filterResKnob.setBounds(1162 + knobSize + knobSpacing, knobYF, knobSize, knobSize);
|
||||
filterEnvAmtKnob.setBounds(1162 + (knobSize + knobSpacing) * 2, knobYF, knobSize, knobSize);
|
||||
keyTrackKnob.setBounds(1162 + (knobSize + knobSpacing) * 3, knobYF, knobSize, knobSize);
|
||||
filterTypeBox.setBounds(1430, 88, 220, 28);
|
||||
// FILTER holds 6 knobs (incl. per-note VEL CUT / VEL RES), so the type
|
||||
// dropdown sits in the header row and the knobs form a 3x2 grid.
|
||||
{
|
||||
int fSize = 78;
|
||||
int fGap = 6;
|
||||
int gridW = 3 * fSize + 2 * fGap;
|
||||
int fSx = 1152 + (498 - gridW) / 2;
|
||||
int fRow1Y = 124;
|
||||
int fRow2Y = fRow1Y + fSize + fGap;
|
||||
filterCutoffKnob.setBounds(fSx, fRow1Y, fSize, fSize);
|
||||
filterResKnob.setBounds(fSx + fSize + fGap, fRow1Y, fSize, fSize);
|
||||
filterEnvAmtKnob.setBounds(fSx + (fSize + fGap) * 2, fRow1Y, fSize, fSize);
|
||||
keyTrackKnob.setBounds(fSx, fRow2Y, fSize, fSize);
|
||||
velToCutKnob.setBounds(fSx + fSize + fGap, fRow2Y, fSize, fSize);
|
||||
velToResKnob.setBounds(fSx + (fSize + fGap) * 2, fRow2Y, fSize, fSize);
|
||||
}
|
||||
|
||||
envLabel.setBounds(10, 302, 563, labelH);
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue