rework arpeggiator with blank notes and progressions

This commit is contained in:
Armin 2026-08-13 02:09:39 +02:00
commit d034139b5e
5 changed files with 219 additions and 104 deletions

View file

@ -30,6 +30,8 @@ public:
C3C4A,
C3C4B,
C3C4C,
C3C4D,
C3C4E,
numPatterns
};
@ -123,9 +125,16 @@ public:
}
if (pattern == Chord) {
static const bool chordBlanks[] =
{false, false, true, false, false, true, false, false,
true, false, false, true, false, true, false, true};
bool blank = chordBlanks[stepIndex % 16];
++stepIndex;
notesToStop = currentNotes;
notesToPlay = pool;
currentNotes.clear();
if (blank)
return;
notesToPlay = pool;
for (const auto& np : pool)
currentNotes.push_back(np.note);
return;
@ -145,11 +154,15 @@ public:
notesToStop = currentNotes;
currentNotes.clear();
currentNotes.push_back(np.note);
notesToPlay.push_back(np);
if (np.note != restNote) {
currentNotes.push_back(np.note);
notesToPlay.push_back(np);
}
}
private:
static constexpr int restNote = -1;
// Harmony patterns arpeggiate a third + fifth after each root: minor
// (root, +3, +7) or major (root, +4, +7). Each is a separate step.
bool hasHarmony() const {
@ -300,23 +313,30 @@ private:
}
break;
case PinkyUp:
case PinkyDown:
for (int hi = n - 1, lo = 0; hi >= lo; --hi, ++lo) {
if (pattern == PinkyUp) {
push(hi);
if (lo < hi) push(lo);
} else {
push(lo);
if (lo < hi) push(hi);
}
case PinkyDown: {
int anchor = heldNotes.empty() ? 48 : heldNotes.back();
int up = anchor + 12;
up = up > 127 ? 127 : up;
float vel = heldNotes.empty() ? 0.9f : velocities[heldNotes.back()];
NotePitch rest{restNote, vel};
order.clear();
if (pattern == PinkyUp) {
order = {{anchor, vel}, rest, {up, vel}, {anchor, vel},
rest, {up, vel}, {anchor, vel}, {anchor, vel}};
} else {
order = {{up, vel}, rest, {anchor, vel}, {up, vel},
rest, {anchor, vel}, {up, vel}, {up, vel}};
}
break;
}
case AsPlayed:
order = pool;
break;
case C3C4A:
case C3C4B:
case C3C4C: {
case C3C4C:
case C3C4D:
case C3C4E: {
int anchor = heldNotes.empty() ? 48 : heldNotes.back();
int up = anchor + 12;
up = up > 127 ? 127 : up;
@ -328,9 +348,20 @@ private:
} else if (pattern == C3C4B) {
order = {{up, vel}, {anchor, vel}, {anchor, vel}, {anchor, vel},
{anchor, vel}, {anchor, vel}, {anchor, vel}, {anchor, vel}};
} else {
} else if (pattern == C3C4C) {
order = {{anchor, vel}, {anchor, vel}, {anchor, vel}, {up, vel},
{anchor, vel}, {anchor, vel}, {anchor, vel}, {anchor, vel}};
} else if (pattern == C3C4D) {
order = {{anchor, vel}, {anchor, vel}, {up, vel}, {anchor, vel},
{anchor, vel}, {up, vel}, {anchor, vel}, {anchor, vel},
{up, vel}, {anchor, vel}, {anchor, vel}, {up, vel},
{anchor, vel}, {anchor, vel}, {anchor, vel}, {anchor, vel}};
} else {
NotePitch rest{restNote, vel};
order = {{anchor, vel}, {anchor, vel}, rest, {anchor, vel},
{anchor, vel}, rest, {anchor, vel}, {anchor, vel},
rest, {anchor, vel}, {anchor, vel}, rest,
{anchor, vel}, {anchor, vel}, {anchor, vel}, {anchor, vel}};
}
break;
}
@ -359,7 +390,9 @@ private:
}
if (direction == DirectionDown && pattern != Random && pattern != RandomOnce
&& pattern != AsPlayed && pattern != C3C4A && pattern != C3C4B && pattern != C3C4C)
&& pattern != AsPlayed && pattern != C3C4A && pattern != C3C4B
&& pattern != C3C4C && pattern != C3C4D && pattern != C3C4E
&& pattern != PinkyUp && pattern != PinkyDown)
std::sort(order.begin(), order.end(),
[](const NotePitch& a, const NotePitch& b) { return a.note > b.note; });

View file

@ -489,8 +489,75 @@ void MidiLed::paint(juce::Graphics& g) {
g.fillEllipse(centre.x - radius * 0.75f, centre.y - radius * 0.75f, radius * 1.5f, radius * 1.5f);
}
// --- Clickable state LED (on/off, direction) ---
LedToggle::LedToggle(juce::AudioProcessorValueTreeState& apvts, const juce::String& paramId,
const juce::String& onText, const juce::String& offText)
: apvts(apvts), paramId(paramId), onText(onText), offText(offText) {
startTimerHz(30);
setMouseCursor(juce::MouseCursor::PointingHandCursor);
}
void LedToggle::timerCallback() {
bool v = apvts.getRawParameterValue(paramId)->load() > 0.5f;
if (v != lit) {
lit = v;
repaint();
if (onChange)
onChange();
}
}
void LedToggle::mouseDown(const juce::MouseEvent&) {
auto* param = apvts.getParameter(paramId);
float newVal = param->getValue() > 0.5f ? 0.0f : 1.0f;
param->beginChangeGesture();
param->setValueNotifyingHost(newVal);
param->endChangeGesture();
}
void LedToggle::mouseEnter(const juce::MouseEvent&) {
setMouseCursor(juce::MouseCursor::PointingHandCursor);
}
void LedToggle::paint(juce::Graphics& g) {
auto b = getLocalBounds().toFloat();
float ledD = juce::jmin(22.0f, b.getHeight() - 8.0f);
float radius = ledD * 0.5f;
auto centre = juce::Point<float>(b.getX() + radius + 4.0f, b.getCentreY());
if (lit) {
float auraR = radius * 1.9f;
float maxAura = juce::jmin(centre.x - b.getX(), b.getRight() - centre.x,
centre.y - b.getY(), b.getBottom() - centre.y) - 1.0f;
auraR = juce::jmin(auraR, maxAura);
g.setColour(juce::Colour(0xffccaa44).withAlpha(0.2f));
g.fillEllipse(centre.x - auraR, centre.y - auraR, auraR * 2.0f, auraR * 2.0f);
}
g.setColour(juce::Colour(0xff1a1200));
g.fillEllipse(centre.x - radius, centre.y - radius, radius * 2.0f, radius * 2.0f);
g.setColour(juce::Colour(0xff555555));
g.drawEllipse(centre.x - radius, centre.y - radius, radius * 2.0f, radius * 2.0f, 1.5f);
g.setColour(lit ? juce::Colour(0xffeebb55) : juce::Colour(0xff3a2a06));
g.fillEllipse(centre.x - radius * 0.78f, centre.y - radius * 0.78f, radius * 1.56f, radius * 1.56f);
g.setFont(juce::Font(juce::FontOptions(10.0f).withStyle("Bold")));
g.setColour(lit ? juce::Colour(0xffeebb55) : juce::Colour(0xff666666));
g.drawText(lit ? onText : offText,
juce::Rectangle<float>(b.getX() + ledD + 12.0f, b.getY(),
b.getWidth() - ledD - 12.0f, b.getHeight()),
juce::Justification::centredLeft);
}
MainContentComponent::MainContentComponent(ChromaFlockProcessor& p)
: processorRef(p), vuMeter(p), waveformDisplay(p), pianoRoll(p), midiLed(p) {
: processorRef(p), vuMeter(p), waveformDisplay(p), pianoRoll(p), midiLed(p),
arpEnabledLed(p.apvts, "arpEnabled", "ON", "OFF"),
arpDirectionLed(p.apvts, "arpDirection", "ON", "OFF"),
delayPingPongLed(p.apvts, "delayPingPong", "ON", "OFF"),
lfo1SyncLed(p.apvts, "lfo1Sync", "SYNC ON", "SYNC OFF"),
lfo2SyncLed(p.apvts, "lfo2Sync", "SYNC ON", "SYNC OFF"),
delaySyncLed(p.apvts, "delaySync", "SYNC ON", "SYNC OFF") {
auto setupParam = [&](juce::Slider& knob, std::unique_ptr<SliderAttachment>& attach,
const juce::String& paramId, const juce::String& name) {
@ -571,32 +638,32 @@ MainContentComponent::MainContentComponent(ChromaFlockProcessor& p)
setupParam(lfo1DepthKnob, lfo1DepthAttach, "lfo1Depth", "DEPTH");
setupCB(lfo1ShapeBox, lfo1ShapeAttach, "lfo1Shape", {"Sine", "Triangle", "Saw", "Square"});
setupCB(lfo1DestBox, lfo1DestAttach, "lfo1Dest", {"Filter", "OSC1", "OSC2", "Both OSC", "OSC2 Phase"});
setupCB(lfo1SyncBox, lfo1SyncAttach, "lfo1Sync", {"Sync Off", "Sync On"});
lfo1SyncBox.onChange = [this]() {
setupSyncKnob(lfo1RateKnob, lfo1RateAttach, lfo1BeatAttach, "lfo1Rate", "lfo1Beat", lfo1SyncBox);
addAndMakeVisible(lfo1SyncLed);
lfo1SyncLed.onChange = [this]() {
setupSyncKnob(lfo1RateKnob, lfo1RateAttach, lfo1BeatAttach, "lfo1Rate", "lfo1Beat", lfo1SyncLed.isLit());
};
setupSyncKnob(lfo1RateKnob, lfo1RateAttach, lfo1BeatAttach, "lfo1Rate", "lfo1Beat", lfo1SyncBox);
setupSyncKnob(lfo1RateKnob, lfo1RateAttach, lfo1BeatAttach, "lfo1Rate", "lfo1Beat", lfo1SyncLed.isLit());
setupKnob(lfo2RateKnob, "RATE");
setupParam(lfo2DepthKnob, lfo2DepthAttach, "lfo2Depth", "DEPTH");
setupCB(lfo2ShapeBox, lfo2ShapeAttach, "lfo2Shape", {"Sine", "Triangle", "Saw", "Square"});
setupCB(lfo2DestBox, lfo2DestAttach, "lfo2Dest", {"Filter", "OSC1", "OSC2", "Both OSC", "OSC2 Phase"});
setupCB(lfo2SyncBox, lfo2SyncAttach, "lfo2Sync", {"Sync Off", "Sync On"});
lfo2SyncBox.onChange = [this]() {
setupSyncKnob(lfo2RateKnob, lfo2RateAttach, lfo2BeatAttach, "lfo2Rate", "lfo2Beat", lfo2SyncBox);
addAndMakeVisible(lfo2SyncLed);
lfo2SyncLed.onChange = [this]() {
setupSyncKnob(lfo2RateKnob, lfo2RateAttach, lfo2BeatAttach, "lfo2Rate", "lfo2Beat", lfo2SyncLed.isLit());
};
setupSyncKnob(lfo2RateKnob, lfo2RateAttach, lfo2BeatAttach, "lfo2Rate", "lfo2Beat", lfo2SyncBox);
setupSyncKnob(lfo2RateKnob, lfo2RateAttach, lfo2BeatAttach, "lfo2Rate", "lfo2Beat", lfo2SyncLed.isLit());
// FX2
setupKnob(delayTimeKnob, "TIME");
setupCB(delaySyncBox, delaySyncAttach, "delaySync", {"Sync Off", "Sync On"});
delaySyncBox.onChange = [this]() {
setupSyncKnob(delayTimeKnob, delayTimeAttach, delayBeatAttach, "delayTime", "delayBeat", delaySyncBox);
addAndMakeVisible(delaySyncLed);
delaySyncLed.onChange = [this]() {
setupSyncKnob(delayTimeKnob, delayTimeAttach, delayBeatAttach, "delayTime", "delayBeat", delaySyncLed.isLit());
};
setupSyncKnob(delayTimeKnob, delayTimeAttach, delayBeatAttach, "delayTime", "delayBeat", delaySyncBox);
setupSyncKnob(delayTimeKnob, delayTimeAttach, delayBeatAttach, "delayTime", "delayBeat", delaySyncLed.isLit());
setupParam(delayFbKnob, delayFbAttach, "delayFeedback", "FBACK");
setupParam(delayMixKnob, delayMixAttach, "delayMix", "MIX");
setupParam(delayPingPongKnob, delayPingPongAttach, "delayPingPong", "PING");
addAndMakeVisible(delayPingPongLed);
setupParam(reverbSizeKnob, reverbSizeAttach, "reverbSize", "SIZE");
setupParam(reverbDampKnob, reverbDampAttach, "reverbDamping", "DAMP");
setupParam(reverbMixKnob, reverbMixAttach, "reverbMix", "MIX");
@ -691,20 +758,21 @@ MainContentComponent::MainContentComponent(ChromaFlockProcessor& p)
label.setJustificationType(juce::Justification::centred);
addAndMakeVisible(label);
};
setupArpLabel(arpEnabledLabel, "ON");
setupArpLabel(arpEnabledLabel, "ON/OFF");
setupArpLabel(arpPatternLabel, "PATTERN");
setupArpLabel(arpOctavesLabel, "OCTAVES");
setupArpLabel(arpDirectionLabel, "DIR");
setupArpLabel(arpDirectionLabel, "INVERT");
setupArpLabel(arpRateLabel, "RATE");
setupCB(arpEnabledBox, arpEnabledAttach, "arpEnabled", {"Off", "On"});
addAndMakeVisible(arpEnabledLed);
addAndMakeVisible(arpDirectionLed);
setupCB(arpPatternBox, arpPatternAttach, "arpPattern",
{"Up / Minor", "Down / Minor", "Up & Down / Major", "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"});
"Up & Down / Minor", "C3/C4 1", "C3/C4 2", "C3/C4 3", "C3/C4 4", "C3/C4 5"});
setupCB(arpOctavesBox, arpOctavesAttach, "arpOctaves", {"1", "2", "3"});
setupCB(arpDirectionBox, arpDirectionAttach, "arpDirection", {"Up", "Down"});
setupCB(arpRateBox, arpRateAttach, "arpRate", {"1/32", "1/16", "1/8", "1/4", "1/2", "1", "2"});
setupCombo(uiScaleBox);
@ -762,11 +830,10 @@ void MainContentComponent::setupSyncKnob(juce::Slider& knob,
std::unique_ptr<SliderAttachment>& beatAttach,
const juce::String& rateId,
const juce::String& beatId,
juce::ComboBox& syncBox) {
bool on = syncBox.getSelectedId() == 2;
bool syncOn) {
rateAttach.reset();
beatAttach.reset();
if (on)
if (syncOn)
beatAttach = std::make_unique<SliderAttachment>(processorRef.apvts, beatId, knob);
else
rateAttach = std::make_unique<SliderAttachment>(processorRef.apvts, rateId, knob);
@ -916,9 +983,9 @@ void MainContentComponent::loadPresetFile() {
currentPresetIndex = -1;
patchLCD.setText(file.getFileNameWithoutExtension());
setupSyncKnob(lfo1RateKnob, lfo1RateAttach, lfo1BeatAttach, "lfo1Rate", "lfo1Beat", lfo1SyncBox);
setupSyncKnob(lfo2RateKnob, lfo2RateAttach, lfo2BeatAttach, "lfo2Rate", "lfo2Beat", lfo2SyncBox);
setupSyncKnob(delayTimeKnob, delayTimeAttach, delayBeatAttach, "delayTime", "delayBeat", delaySyncBox);
setupSyncKnob(lfo1RateKnob, lfo1RateAttach, lfo1BeatAttach, "lfo1Rate", "lfo1Beat", lfo1SyncLed.isLit());
setupSyncKnob(lfo2RateKnob, lfo2RateAttach, lfo2BeatAttach, "lfo2Rate", "lfo2Beat", lfo2SyncLed.isLit());
setupSyncKnob(delayTimeKnob, delayTimeAttach, delayBeatAttach, "delayTime", "delayBeat", delaySyncLed.isLit());
});
}
@ -930,11 +997,11 @@ void MainContentComponent::applyCurrentPreset() {
processorRef.presetManager.applyPreset(presets[currentPresetIndex].name, processorRef.apvts);
patchLCD.setText(presets[currentPresetIndex].name);
// The ComboBoxAttachment updates the sync boxes without firing onChange,
// so re-sync the rate/beat knob attachments to match.
setupSyncKnob(lfo1RateKnob, lfo1RateAttach, lfo1BeatAttach, "lfo1Rate", "lfo1Beat", lfo1SyncBox);
setupSyncKnob(lfo2RateKnob, lfo2RateAttach, lfo2BeatAttach, "lfo2Rate", "lfo2Beat", lfo2SyncBox);
setupSyncKnob(delayTimeKnob, delayTimeAttach, delayBeatAttach, "delayTime", "delayBeat", delaySyncBox);
// The LedToggle updates itself via its timer, so re-sync the rate/beat
// knob attachments to match.
setupSyncKnob(lfo1RateKnob, lfo1RateAttach, lfo1BeatAttach, "lfo1Rate", "lfo1Beat", lfo1SyncLed.isLit());
setupSyncKnob(lfo2RateKnob, lfo2RateAttach, lfo2BeatAttach, "lfo2Rate", "lfo2Beat", lfo2SyncLed.isLit());
setupSyncKnob(delayTimeKnob, delayTimeAttach, delayBeatAttach, "delayTime", "delayBeat", delaySyncLed.isLit());
}
void MainContentComponent::randomizeParameters() {
@ -957,9 +1024,9 @@ void MainContentComponent::randomizeParameters() {
patchLCD.setText("RANDOM");
// Re-sync the rate/beat knob attachments to match the randomized sync states.
setupSyncKnob(lfo1RateKnob, lfo1RateAttach, lfo1BeatAttach, "lfo1Rate", "lfo1Beat", lfo1SyncBox);
setupSyncKnob(lfo2RateKnob, lfo2RateAttach, lfo2BeatAttach, "lfo2Rate", "lfo2Beat", lfo2SyncBox);
setupSyncKnob(delayTimeKnob, delayTimeAttach, delayBeatAttach, "delayTime", "delayBeat", delaySyncBox);
setupSyncKnob(lfo1RateKnob, lfo1RateAttach, lfo1BeatAttach, "lfo1Rate", "lfo1Beat", lfo1SyncLed.isLit());
setupSyncKnob(lfo2RateKnob, lfo2RateAttach, lfo2BeatAttach, "lfo2Rate", "lfo2Beat", lfo2SyncLed.isLit());
setupSyncKnob(delayTimeKnob, delayTimeAttach, delayBeatAttach, "delayTime", "delayBeat", delaySyncLed.isLit());
}
void MainContentComponent::paint(juce::Graphics& g) {
@ -1219,14 +1286,14 @@ void MainContentComponent::resized() {
lfo1DepthKnob.setBounds(132, lfoKnobY, lfoKnobSize, lfoKnobSize);
lfo1ShapeBox.setBounds(242, lfoKnobY + (lfoKnobSize - 28) / 2, 105, 28);
lfo1DestBox.setBounds(357, lfoKnobY + (lfoKnobSize - 28) / 2, 105, 28);
lfo1SyncBox.setBounds(22, lfoKnobY + lfoKnobSize + 6, 200, 28);
lfo1SyncLed.setBounds(22, lfoKnobY + lfoKnobSize + 6, 200, 28);
// LFO 2 sub-section (X=560, Y=642, W=530, H=110)
lfo2RateKnob.setBounds(568, lfoKnobY, lfoKnobSize, lfoKnobSize);
lfo2DepthKnob.setBounds(678, lfoKnobY, lfoKnobSize, lfoKnobSize);
lfo2ShapeBox.setBounds(788, lfoKnobY + (lfoKnobSize - 28) / 2, 105, 28);
lfo2DestBox.setBounds(903, lfoKnobY + (lfoKnobSize - 28) / 2, 105, 28);
lfo2SyncBox.setBounds(568, lfoKnobY + lfoKnobSize + 6, 200, 28);
lfo2SyncLed.setBounds(568, lfoKnobY + lfoKnobSize + 6, 200, 28);
// --- FX2 SECTION ---
int fx2KnobY = lfoKnobY;
@ -1237,8 +1304,8 @@ void MainContentComponent::resized() {
delayTimeKnob.setBounds(dx, fx2KnobY, lfoKnobSize, lfoKnobSize);
delayFbKnob.setBounds(dx + dGap, fx2KnobY, lfoKnobSize, lfoKnobSize);
delayMixKnob.setBounds(dx + dGap * 2, fx2KnobY, lfoKnobSize, lfoKnobSize);
delayPingPongKnob.setBounds(dx + dGap * 3, fx2KnobY, lfoKnobSize, lfoKnobSize);
delaySyncBox.setBounds(dx, fx2KnobY + lfoKnobSize + 6, 250, 28);
delayPingPongLed.setBounds(dx + dGap * 3, fx2KnobY, lfoKnobSize, lfoKnobSize);
delaySyncLed.setBounds(dx, fx2KnobY + lfoKnobSize + 6, 250, 28);
// Reverb sub-section: SIZE, DAMP, MIX (right edge aligned to 1650)
{
@ -1297,7 +1364,7 @@ void MainContentComponent::resized() {
int x = arpX + (arpW - totalW) / 2;
arpEnabledLabel.setBounds(x, labelY, widths[0], labelH);
arpEnabledBox.setBounds(x, comboY, widths[0], comboH);
arpEnabledLed.setBounds(x, comboY, widths[0], comboH);
x += widths[0] + gap;
arpPatternLabel.setBounds(x, labelY, widths[1], labelH);
@ -1309,7 +1376,7 @@ void MainContentComponent::resized() {
x += widths[2] + gap;
arpDirectionLabel.setBounds(x, labelY, widths[3], labelH);
arpDirectionBox.setBounds(x, comboY, widths[3], comboH);
arpDirectionLed.setBounds(x, comboY, widths[3], comboH);
x += widths[3] + gap;
arpRateLabel.setBounds(x, labelY, widths[4], labelH);

View file

@ -79,6 +79,23 @@ private:
ChromaFlockProcessor& processor;
};
class LedToggle : public juce::Component, public juce::Timer {
public:
LedToggle(juce::AudioProcessorValueTreeState& apvts, const juce::String& paramId,
const juce::String& onText, const juce::String& offText);
void paint(juce::Graphics& g) override;
void mouseDown(const juce::MouseEvent&) override;
void mouseEnter(const juce::MouseEvent&) override;
void timerCallback() override;
bool isLit() const { return lit; }
std::function<void()> onChange;
private:
juce::AudioProcessorValueTreeState& apvts;
juce::String paramId;
juce::String onText, offText;
bool lit = false;
};
class PianoRollComponent : public juce::Component, public juce::Timer {
public:
explicit PianoRollComponent(ChromaFlockProcessor& p) : processor(p) { startTimerHz(60); }
@ -167,18 +184,19 @@ private:
// LFO controls
KnobSlider lfo1RateKnob, lfo1DepthKnob;
juce::ComboBox lfo1ShapeBox, lfo1DestBox, lfo1SyncBox;
juce::ComboBox lfo1ShapeBox, lfo1DestBox;
KnobSlider lfo2RateKnob, lfo2DepthKnob;
juce::ComboBox lfo2ShapeBox, lfo2DestBox, lfo2SyncBox;
juce::ComboBox lfo2ShapeBox, lfo2DestBox;
LedToggle lfo1SyncLed, lfo2SyncLed, delaySyncLed;
// FX2 controls
KnobSlider delayTimeKnob, delayFbKnob, delayMixKnob, delayPingPongKnob;
juce::ComboBox delaySyncBox;
KnobSlider delayTimeKnob, delayFbKnob, delayMixKnob;
KnobSlider reverbSizeKnob, reverbDampKnob, reverbMixKnob;
// Arpeggiator controls
juce::Label arpEnabledLabel, arpPatternLabel, arpOctavesLabel, arpDirectionLabel, arpRateLabel;
juce::ComboBox arpEnabledBox, arpPatternBox, arpOctavesBox, arpDirectionBox, arpRateBox;
juce::ComboBox arpPatternBox, arpOctavesBox, arpRateBox;
LedToggle arpEnabledLed, arpDirectionLed, delayPingPongLed;
// Preset menu
juce::TextButton presetButton{"PRESET"};
@ -212,19 +230,16 @@ private:
// LFO attachments
std::unique_ptr<SliderAttachment> lfo1RateAttach, lfo1DepthAttach, lfo1BeatAttach;
std::unique_ptr<ComboBoxAttachment> lfo1ShapeAttach, lfo1DestAttach, lfo1SyncAttach;
std::unique_ptr<ComboBoxAttachment> lfo1ShapeAttach, lfo1DestAttach;
std::unique_ptr<SliderAttachment> lfo2RateAttach, lfo2DepthAttach, lfo2BeatAttach;
std::unique_ptr<ComboBoxAttachment> lfo2ShapeAttach, lfo2DestAttach, lfo2SyncAttach;
std::unique_ptr<ComboBoxAttachment> lfo2ShapeAttach, lfo2DestAttach;
// FX2 attachments
std::unique_ptr<SliderAttachment> delayTimeAttach, delayFbAttach, delayMixAttach, delayBeatAttach;
std::unique_ptr<ComboBoxAttachment> delaySyncAttach;
std::unique_ptr<SliderAttachment> delayPingPongAttach;
std::unique_ptr<SliderAttachment> reverbSizeAttach, reverbDampAttach, reverbMixAttach;
// Arpeggiator attachments
std::unique_ptr<ComboBoxAttachment> arpEnabledAttach, arpPatternAttach, arpOctavesAttach;
std::unique_ptr<ComboBoxAttachment> arpDirectionAttach, arpRateAttach;
std::unique_ptr<ComboBoxAttachment> arpPatternAttach, arpOctavesAttach, arpRateAttach;
void setupLabel(juce::Label& label, const juce::String& text);
void setupKnob(juce::Slider& knob, const juce::String& name);
@ -234,7 +249,7 @@ private:
std::unique_ptr<SliderAttachment>& beatAttach,
const juce::String& rateId,
const juce::String& beatId,
juce::ComboBox& syncBox);
bool syncOn);
void showPresetMenu();
void showFileMenu();
void loadPresetFile();

View file

@ -284,7 +284,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"}, 0));
"C3/C4 1", "C3/C4 2", "C3/C4 3", "C3/C4 4", "C3/C4 5"}, 0));
layout.add(std::make_unique<juce::AudioParameterChoice>(
juce::ParameterID{"arpOctaves", 1}, "Arp Octaves",
juce::StringArray{"1", "2", "3"}, 1));

View file

@ -150,8 +150,8 @@ private:
{"envAttack", 0.001f}, {"envDecay", 0.25f}, {"envSustain", 0.6f}, {"envRelease", 0.15f},
{"pan", 0}, {"drive", 3.5f}, {"masterLevel", 0.625},
{"pitchBendRange", 2},
{"distType", 2}, {"distAmount", 0},
{"compThreshold", -14}, {"compRatio", 6}, {"compAttack", 2}, {"compRelease", 50}, {"compMakeup", 5},
{"distType", 2}, {"distAmount", 0.4f},
{"compThreshold", -19}, {"compRatio", 8}, {"compAttack", 2}, {"compRelease", 50}, {"compMakeup", 5},
{"autoPanRate", 2}, {"autoPanDepth", 0}, {"autoPanPhase", 0},
{"lfo1Rate", 0}, {"lfo1Depth", 0}, {"lfo1Shape", 0}, {"lfo1Dest", 0},
{"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0},
@ -402,29 +402,29 @@ private:
});
// --- FX ---
add("Wobble Cell", "FX1", {{{"osc1Wave", 2}, {"osc1Oct", -1}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.7f}, {"osc2Wave", 1}, {"osc2Oct", -1}, {"osc2Semi", 0}, {"osc2Fine", 0}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 400}, {"filterRes", 0.8f}, {"filterEnvAmt", 0.9f}, {"keyTrack", 0.3f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.3f}, {"fEnvSustain", 0.5f}, {"fEnvRelease", 0.3f}, {"envAttack", 0.005f}, {"envDecay", 0.3f}, {"envSustain", 0.8f}, {"envRelease", 0.3f}, {"pan", 0}, {"drive", 2.5f}, {"masterLevel", 0.618}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0}, {"compThreshold", -15}, {"compRatio", 5}, {"compAttack", 5}, {"compRelease", 80}, {"compMakeup", 4}, {"autoPanRate", 2}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 4.0f}, {"lfo1Depth", 0.7f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 8.0f}, {"lfo2Depth", 0.3f}, {"lfo2Shape", 3}, {"lfo2Dest", 3}, {"delayTime", 200}, {"delayFeedback", 0.3f}, {"delayMix", 0.15f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.5f}, {"reverbDamping", 0.4f}, {"reverbMix", 0.15f}}});
add("Wobble Cell", "FX1", {{{"osc1Wave", 2}, {"osc1Oct", -1}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.7f}, {"osc2Wave", 1}, {"osc2Oct", -1}, {"osc2Semi", 0}, {"osc2Fine", 0}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 400}, {"filterRes", 0.8f}, {"filterEnvAmt", 0.9f}, {"keyTrack", 0.3f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.3f}, {"fEnvSustain", 0.5f}, {"fEnvRelease", 0.3f}, {"envAttack", 0.005f}, {"envDecay", 0.3f}, {"envSustain", 0.8f}, {"envRelease", 0.3f}, {"pan", 0}, {"drive", 2.5f}, {"masterLevel", 0.618}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0.3f}, {"compThreshold", -20}, {"compRatio", 6}, {"compAttack", 5}, {"compRelease", 80}, {"compMakeup", 4}, {"autoPanRate", 2}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 4.0f}, {"lfo1Depth", 0.7f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 8.0f}, {"lfo2Depth", 0.3f}, {"lfo2Shape", 3}, {"lfo2Dest", 3}, {"delayTime", 200}, {"delayFeedback", 0.3f}, {"delayMix", 0.15f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.5f}, {"reverbDamping", 0.4f}, {"reverbMix", 0.15f}}});
add("Distortion Beam", "FX1", {{{"osc1Wave", 1}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.8f}, {"osc2Wave", 1}, {"osc2Oct", 0}, {"osc2Semi", 7}, {"osc2Fine", 0}, {"osc2Level", 0.6f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 600}, {"filterRes", 0.3f}, {"filterEnvAmt", 0.2f}, {"keyTrack", 0.5f}, {"fEnvAttack", 0.005f}, {"fEnvDecay", 0.3f}, {"fEnvSustain", 0.5f}, {"fEnvRelease", 0.3f}, {"envAttack", 0.005f}, {"envDecay", 0.2f}, {"envSustain", 0.8f}, {"envRelease", 0.3f}, {"pan", 0}, {"drive", 3.0f}, {"masterLevel", 0.734}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0}, {"compThreshold", -20}, {"compRatio", 4}, {"compAttack", 8}, {"compRelease", 100}, {"compMakeup", 6}, {"autoPanRate", 2}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 5.0f}, {"lfo1Depth", 0.2f}, {"lfo1Shape", 2}, {"lfo1Dest", 0}, {"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 150}, {"delayFeedback", 0.2f}, {"delayMix", 0.1f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.3f}, {"reverbDamping", 0.5f}, {"reverbMix", 0.1f}}});
add("Distortion Beam", "FX1", {{{"osc1Wave", 1}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.8f}, {"osc2Wave", 1}, {"osc2Oct", 0}, {"osc2Semi", 7}, {"osc2Fine", 0}, {"osc2Level", 0.6f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 600}, {"filterRes", 0.3f}, {"filterEnvAmt", 0.2f}, {"keyTrack", 0.5f}, {"fEnvAttack", 0.005f}, {"fEnvDecay", 0.3f}, {"fEnvSustain", 0.5f}, {"fEnvRelease", 0.3f}, {"envAttack", 0.005f}, {"envDecay", 0.2f}, {"envSustain", 0.8f}, {"envRelease", 0.3f}, {"pan", 0}, {"drive", 3.0f}, {"masterLevel", 0.734}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0.35f}, {"compThreshold", -25}, {"compRatio", 6}, {"compAttack", 8}, {"compRelease", 100}, {"compMakeup", 6}, {"autoPanRate", 2}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 5.0f}, {"lfo1Depth", 0.2f}, {"lfo1Shape", 2}, {"lfo1Dest", 0}, {"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 150}, {"delayFeedback", 0.2f}, {"delayMix", 0.1f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.3f}, {"reverbDamping", 0.5f}, {"reverbMix", 0.1f}}});
add("Pan Matrix", "FX1", {{{"osc1Wave", 0}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.6f}, {"osc2Wave", 3}, {"osc2Oct", 0}, {"osc2Semi", 0}, {"osc2Fine", 0}, {"osc2Level", 0.4f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 800}, {"filterRes", 0.1f}, {"filterEnvAmt", 0}, {"keyTrack", 0.5f}, {"fEnvAttack", 0.01f}, {"fEnvDecay", 0.3f}, {"fEnvSustain", 0.5f}, {"fEnvRelease", 0.5f}, {"envAttack", 0.01f}, {"envDecay", 0.3f}, {"envSustain", 0.7f}, {"envRelease", 0.5f}, {"pan", 0}, {"drive", 1.0f}, {"masterLevel", 1.0f}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0}, {"distSymmetry", 0}, {"distTone", 1.0f}, {"compThreshold", -20}, {"compRatio", 3}, {"compAttack", 10}, {"compRelease", 100}, {"compMakeup", 2}, {"autoPanRate", 2.0f}, {"autoPanDepth", 0.8f}, {"autoPanPhase", 0}, {"lfo1Rate", 0.3f}, {"lfo1Depth", 0.2f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.15f}, {"lfo2Depth", 0.15f}, {"lfo2Shape", 1}, {"lfo2Dest", 0}, {"delayTime", 300}, {"delayFeedback", 0.25f}, {"delayMix", 0.15f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.4f}, {"reverbDamping", 0.5f}, {"reverbMix", 0.15f}}});
add("Filtered Static", "FX1", {{{"osc1Wave", 4}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.7f}, {"osc2Wave", 4}, {"osc2Oct", 0}, {"osc2Semi", 0}, {"osc2Fine", 0}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 2}, {"filterCutoff", 400}, {"filterRes", 0.6f}, {"filterEnvAmt", 0.8f}, {"keyTrack", 0}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.5f}, {"fEnvSustain", 0.3f}, {"fEnvRelease", 0.5f}, {"envAttack", 0.01f}, {"envDecay", 0.5f}, {"envSustain", 0.5f}, {"envRelease", 1.0f}, {"pan", 0}, {"drive", 1.5f}, {"masterLevel", 1.0}, {"pitchBendRange", 2}, {"distType", 1}, {"distAmount", 0}, {"compThreshold", -18}, {"compRatio", 4}, {"compAttack", 5}, {"compRelease", 100}, {"compMakeup", 4}, {"autoPanRate", 0.5f}, {"autoPanDepth", 0.6f}, {"autoPanPhase", 0}, {"lfo1Rate", 2.5f}, {"lfo1Depth", 0.5f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.4f}, {"lfo2Depth", 0.3f}, {"lfo2Shape", 2}, {"lfo2Dest", 0}, {"delayTime", 250}, {"delayFeedback", 0.35f}, {"delayMix", 0.2f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.6f}, {"reverbDamping", 0.3f}, {"reverbMix", 0.25f}}});
add("Filtered Static", "FX1", {{{"osc1Wave", 4}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.7f}, {"osc2Wave", 4}, {"osc2Oct", 0}, {"osc2Semi", 0}, {"osc2Fine", 0}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 2}, {"filterCutoff", 400}, {"filterRes", 0.6f}, {"filterEnvAmt", 0.8f}, {"keyTrack", 0}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.5f}, {"fEnvSustain", 0.3f}, {"fEnvRelease", 0.5f}, {"envAttack", 0.01f}, {"envDecay", 0.5f}, {"envSustain", 0.5f}, {"envRelease", 1.0f}, {"pan", 0}, {"drive", 1.5f}, {"masterLevel", 1.0}, {"pitchBendRange", 2}, {"distType", 1}, {"distAmount", 0.2f}, {"compThreshold", -23}, {"compRatio", 5}, {"compAttack", 5}, {"compRelease", 100}, {"compMakeup", 4}, {"autoPanRate", 0.5f}, {"autoPanDepth", 0.6f}, {"autoPanPhase", 0}, {"lfo1Rate", 2.5f}, {"lfo1Depth", 0.5f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.4f}, {"lfo2Depth", 0.3f}, {"lfo2Shape", 2}, {"lfo2Dest", 0}, {"delayTime", 250}, {"delayFeedback", 0.35f}, {"delayMix", 0.2f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.6f}, {"reverbDamping", 0.3f}, {"reverbMix", 0.25f}}});
add("Echo Buffer", "FX2", {{{"osc1Wave", 1}, {"osc1Oct", -1}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.7f}, {"osc2Wave", 2}, {"osc2Oct", -1}, {"osc2Semi", 0}, {"osc2Fine", 5}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 500}, {"filterRes", 0.7f}, {"filterEnvAmt", 0.4f}, {"keyTrack", 0.3f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.3f}, {"fEnvSustain", 0.3f}, {"fEnvRelease", 0.3f}, {"envAttack", 0.001f}, {"envDecay", 0.2f}, {"envSustain", 0.7f}, {"envRelease", 0.2f}, {"pan", 0}, {"drive", 1.5f}, {"masterLevel", 0.93}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0}, {"compThreshold", -16}, {"compRatio", 4}, {"compAttack", 5}, {"compRelease", 80}, {"compMakeup", 3}, {"autoPanRate", 2}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 0}, {"lfo1Depth", 0}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 500}, {"delayFeedback", 0.7f}, {"delayMix", 0.4f}, {"lfo1Sync", 0}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.6f}, {"reverbDamping", 0.4f}, {"reverbMix", 0.3f}}});
add("Reverse Wash", "FX2", {{{"osc1Wave", 3}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.6f}, {"osc2Wave", 0}, {"osc2Oct", 1}, {"osc2Semi", 12}, {"osc2Fine", 0}, {"osc2Level", 0.4f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 600}, {"filterRes", 0.2f}, {"filterEnvAmt", 0.3f}, {"keyTrack", 0.5f}, {"fEnvAttack", 0.5f}, {"fEnvDecay", 1.0f}, {"fEnvSustain", 0.5f}, {"fEnvRelease", 2.0f}, {"envAttack", 0.3f}, {"envDecay", 0.8f}, {"envSustain", 0.6f}, {"envRelease", 1.5f}, {"pan", 0}, {"drive", 1.2f}, {"masterLevel", 0.325f}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0}, {"distSymmetry", 0}, {"distTone", 1.0f}, {"compThreshold", -20}, {"compRatio", 2}, {"compAttack", 20}, {"compRelease", 200}, {"compMakeup", 2}, {"autoPanRate", 0.3f}, {"autoPanDepth", 0.3f}, {"autoPanPhase", 0}, {"lfo1Rate", 0.1f}, {"lfo1Depth", 0.5f}, {"lfo1Shape", 0}, {"lfo1Dest", 4}, {"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 800}, {"delayFeedback", 0.6f}, {"delayMix", 0.5f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.95f}, {"reverbDamping", 0.1f}, {"reverbMix", 0.6f}}});
add("Laser Pulse", "FX2", {{{"osc1Wave", 1}, {"osc1Oct", 2}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.8f}, {"osc2Wave", 4}, {"osc2Oct", 0}, {"osc2Semi", 0}, {"osc2Fine", 0}, {"osc2Level", 0.3f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 200}, {"filterRes", 0.9f}, {"filterEnvAmt", 1.0f}, {"keyTrack", 0}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.08f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.05f}, {"envAttack", 0.001f}, {"envDecay", 0.1f}, {"envSustain", 0.0f}, {"envRelease", 0.05f}, {"pan", 0}, {"drive", 2.0f}, {"masterLevel", 1.0}, {"pitchBendRange", 2}, {"distType", 1}, {"distAmount", 0}, {"compThreshold", -15}, {"compRatio", 5}, {"compAttack", 1}, {"compRelease", 30}, {"compMakeup", 5}, {"autoPanRate", 2}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 12.0f}, {"lfo1Depth", 0.8f}, {"lfo1Shape", 2}, {"lfo1Dest", 0}, {"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 100}, {"delayFeedback", 0.4f}, {"delayMix", 0.25f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.3f}, {"reverbDamping", 0.6f}, {"reverbMix", 0.2f}}});
add("Laser Pulse", "FX2", {{{"osc1Wave", 1}, {"osc1Oct", 2}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.8f}, {"osc2Wave", 4}, {"osc2Oct", 0}, {"osc2Semi", 0}, {"osc2Fine", 0}, {"osc2Level", 0.3f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 200}, {"filterRes", 0.9f}, {"filterEnvAmt", 1.0f}, {"keyTrack", 0}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.08f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.05f}, {"envAttack", 0.001f}, {"envDecay", 0.1f}, {"envSustain", 0.0f}, {"envRelease", 0.05f}, {"pan", 0}, {"drive", 2.0f}, {"masterLevel", 1.0}, {"pitchBendRange", 2}, {"distType", 1}, {"distAmount", 0.25f}, {"compThreshold", -20}, {"compRatio", 6}, {"compAttack", 1}, {"compRelease", 30}, {"compMakeup", 5}, {"autoPanRate", 2}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 12.0f}, {"lfo1Depth", 0.8f}, {"lfo1Shape", 2}, {"lfo1Dest", 0}, {"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 100}, {"delayFeedback", 0.4f}, {"delayMix", 0.25f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.3f}, {"reverbDamping", 0.6f}, {"reverbMix", 0.2f}}});
add("Orbital Drone", "FX2", {{{"osc1Wave", 0}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", -7}, {"osc1Level", 0.5f}, {"osc2Wave", 3}, {"osc2Oct", 0}, {"osc2Semi", 7}, {"osc2Fine", 7}, {"osc2Level", 0.5f}, {"phaseOffset", 0.1f}, {"filterType", 0}, {"filterCutoff", 300}, {"filterRes", 0.5f}, {"filterEnvAmt", 0.2f}, {"keyTrack", 0.3f}, {"fEnvAttack", 2.0f}, {"fEnvDecay", 3.0f}, {"fEnvSustain", 0.7f}, {"fEnvRelease", 5.0f}, {"envAttack", 3.0f}, {"envDecay", 2.0f}, {"envSustain", 0.9f}, {"envRelease", 6.0f}, {"pan", 0}, {"drive", 1.1f}, {"masterLevel", 0.439f}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0}, {"compThreshold", -25}, {"compRatio", 2}, {"compAttack", 40}, {"compRelease", 500}, {"compMakeup", 3}, {"autoPanRate", 0.1f}, {"autoPanDepth", 0.6f}, {"autoPanPhase", 0}, {"lfo1Rate", 0.08f}, {"lfo1Depth", 0.6f}, {"lfo1Shape", 0}, {"lfo1Dest", 4}, {"lfo2Rate", 0.02f}, {"lfo2Depth", 0.25f}, {"lfo2Shape", 1}, {"lfo2Dest", 0}, {"delayTime", 900}, {"delayFeedback", 0.75f}, {"delayMix", 0.5f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.95f}, {"reverbDamping", 0.05f}, {"reverbMix", 0.7f}}});
add("Ring Logic", "FX2", {{{"osc1Wave", 1}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.7f}, {"osc2Wave", 0}, {"osc2Oct", 3}, {"osc2Semi", 5}, {"osc2Fine", 0}, {"osc2Level", 0.6f}, {"phaseOffset", 0.5f}, {"filterType", 2}, {"filterCutoff", 800}, {"filterRes", 0.3f}, {"filterEnvAmt", 0.5f}, {"keyTrack", 0.4f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.3f}, {"fEnvSustain", 0.4f}, {"fEnvRelease", 0.3f}, {"envAttack", 0.001f}, {"envDecay", 0.3f}, {"envSustain", 0.7f}, {"envRelease", 0.3f}, {"pan", 0}, {"drive", 2.0f}, {"masterLevel", 0.836}, {"pitchBendRange", 2}, {"distType", 3}, {"distAmount", 0}, {"compThreshold", -15}, {"compRatio", 4}, {"compAttack", 3}, {"compRelease", 50}, {"compMakeup", 4}, {"autoPanRate", 3.0f}, {"autoPanDepth", 0.5f}, {"autoPanPhase", 0}, {"lfo1Rate", 7.0f}, {"lfo1Depth", 0.6f}, {"lfo1Shape", 3}, {"lfo1Dest", 0}, {"lfo2Rate", 11.0f}, {"lfo2Depth", 0.4f}, {"lfo2Shape", 2}, {"lfo2Dest", 0}, {"delayTime", 180}, {"delayFeedback", 0.3f}, {"delayMix", 0.2f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.5f}, {"reverbDamping", 0.5f}, {"reverbMix", 0.2f}}});
add("Ring Logic", "FX2", {{{"osc1Wave", 1}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.7f}, {"osc2Wave", 0}, {"osc2Oct", 3}, {"osc2Semi", 5}, {"osc2Fine", 0}, {"osc2Level", 0.6f}, {"phaseOffset", 0.5f}, {"filterType", 2}, {"filterCutoff", 800}, {"filterRes", 0.3f}, {"filterEnvAmt", 0.5f}, {"keyTrack", 0.4f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.3f}, {"fEnvSustain", 0.4f}, {"fEnvRelease", 0.3f}, {"envAttack", 0.001f}, {"envDecay", 0.3f}, {"envSustain", 0.7f}, {"envRelease", 0.3f}, {"pan", 0}, {"drive", 2.0f}, {"masterLevel", 0.836}, {"pitchBendRange", 2}, {"distType", 3}, {"distAmount", 0.25f}, {"compThreshold", -20}, {"compRatio", 5}, {"compAttack", 3}, {"compRelease", 50}, {"compMakeup", 4}, {"autoPanRate", 3.0f}, {"autoPanDepth", 0.5f}, {"autoPanPhase", 0}, {"lfo1Rate", 7.0f}, {"lfo1Depth", 0.6f}, {"lfo1Shape", 3}, {"lfo1Dest", 0}, {"lfo2Rate", 11.0f}, {"lfo2Depth", 0.4f}, {"lfo2Shape", 2}, {"lfo2Dest", 0}, {"delayTime", 180}, {"delayFeedback", 0.3f}, {"delayMix", 0.2f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.5f}, {"reverbDamping", 0.5f}, {"reverbMix", 0.2f}}});
add("Glitch Buffer", "FX2", {{{"osc1Wave", 2}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.8f}, {"osc2Wave", 4}, {"osc2Oct", 0}, {"osc2Semi", 0}, {"osc2Fine", 0}, {"osc2Level", 0.4f}, {"phaseOffset", 0.5f}, {"filterType", 1}, {"filterCutoff", 600}, {"filterRes", 0.6f}, {"filterEnvAmt", 0.7f}, {"keyTrack", 0.2f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.05f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.03f}, {"envAttack", 0.001f}, {"envDecay", 0.05f}, {"envSustain", 0.0f}, {"envRelease", 0.03f}, {"pan", 0}, {"drive", 3.0f}, {"masterLevel", 1.0}, {"pitchBendRange", 2}, {"distType", 1}, {"distAmount", 0}, {"compThreshold", -12}, {"compRatio", 8}, {"compAttack", 1}, {"compRelease", 20}, {"compMakeup", 6}, {"autoPanRate", 8.0f}, {"autoPanDepth", 0.8f}, {"autoPanPhase", 0}, {"lfo1Rate", 15.0f}, {"lfo1Depth", 1.0f}, {"lfo1Shape", 3}, {"lfo1Dest", 0}, {"lfo2Rate", 0.1f}, {"lfo2Depth", 0.5f}, {"lfo2Shape", 3}, {"lfo2Dest", 3}, {"delayTime", 60}, {"delayFeedback", 0.5f}, {"delayMix", 0.3f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.4f}, {"reverbDamping", 0.3f}, {"reverbMix", 0.15f}}});
add("Glitch Buffer", "FX2", {{{"osc1Wave", 2}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.8f}, {"osc2Wave", 4}, {"osc2Oct", 0}, {"osc2Semi", 0}, {"osc2Fine", 0}, {"osc2Level", 0.4f}, {"phaseOffset", 0.5f}, {"filterType", 1}, {"filterCutoff", 600}, {"filterRes", 0.6f}, {"filterEnvAmt", 0.7f}, {"keyTrack", 0.2f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.05f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.03f}, {"envAttack", 0.001f}, {"envDecay", 0.05f}, {"envSustain", 0.0f}, {"envRelease", 0.03f}, {"pan", 0}, {"drive", 3.0f}, {"masterLevel", 1.0}, {"pitchBendRange", 2}, {"distType", 1}, {"distAmount", 0.35f}, {"compThreshold", -17}, {"compRatio", 10}, {"compAttack", 1}, {"compRelease", 20}, {"compMakeup", 6}, {"autoPanRate", 8.0f}, {"autoPanDepth", 0.8f}, {"autoPanPhase", 0}, {"lfo1Rate", 15.0f}, {"lfo1Depth", 1.0f}, {"lfo1Shape", 3}, {"lfo1Dest", 0}, {"lfo2Rate", 0.1f}, {"lfo2Depth", 0.5f}, {"lfo2Shape", 3}, {"lfo2Dest", 3}, {"delayTime", 60}, {"delayFeedback", 0.5f}, {"delayMix", 0.3f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.4f}, {"reverbDamping", 0.3f}, {"reverbMix", 0.15f}}});
// ======== INSANITY ========
add("Alien Protocol", "Insanity", {{{"osc1Wave", 1}, {"osc1Oct", 2}, {"osc1Semi", 0}, {"osc1Fine", 17}, {"osc1Level", 0.7f}, {"osc2Wave", 4}, {"osc2Oct", 1}, {"osc2Semi", 7}, {"osc2Fine", -13}, {"osc2Level", 0.6f}, {"phaseOffset", 0.73f}, {"filterType", 3}, {"filterCutoff", 900}, {"filterRes", 0.95f}, {"filterEnvAmt", 0.8f}, {"keyTrack", 0.3f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.15f}, {"fEnvSustain", 0.2f}, {"fEnvRelease", 0.1f}, {"envAttack", 0.001f}, {"envDecay", 0.2f}, {"envSustain", 0.6f}, {"envRelease", 0.15f}, {"pan", 0}, {"drive", 3.5f}, {"masterLevel", 1.0}, {"pitchBendRange", 2}, {"distType", 3}, {"distAmount", 0}, {"compThreshold", -18}, {"compRatio", 6}, {"compAttack", 2}, {"compRelease", 40}, {"compMakeup", 5}, {"autoPanRate", 7.0f}, {"autoPanDepth", 0.9f}, {"autoPanPhase", 0}, {"lfo1Rate", 0.8f}, {"lfo1Depth", 0.5f}, {"lfo1Shape", 3}, {"lfo1Dest", 4}, {"lfo2Rate", 19.0f}, {"lfo2Depth", 0.7f}, {"lfo2Shape", 3}, {"lfo2Dest", 1}, {"delayTime", 47}, {"delayFeedback", 0.6f}, {"delayMix", 0.35f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.7f}, {"reverbDamping", 0.2f}, {"reverbMix", 0.4f}}});
add("Alien Protocol", "Insanity", {{{"osc1Wave", 1}, {"osc1Oct", 2}, {"osc1Semi", 0}, {"osc1Fine", 17}, {"osc1Level", 0.7f}, {"osc2Wave", 4}, {"osc2Oct", 1}, {"osc2Semi", 7}, {"osc2Fine", -13}, {"osc2Level", 0.6f}, {"phaseOffset", 0.73f}, {"filterType", 3}, {"filterCutoff", 900}, {"filterRes", 0.95f}, {"filterEnvAmt", 0.8f}, {"keyTrack", 0.3f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.15f}, {"fEnvSustain", 0.2f}, {"fEnvRelease", 0.1f}, {"envAttack", 0.001f}, {"envDecay", 0.2f}, {"envSustain", 0.6f}, {"envRelease", 0.15f}, {"pan", 0}, {"drive", 3.5f}, {"masterLevel", 1.0}, {"pitchBendRange", 2}, {"distType", 3}, {"distAmount", 0.4f}, {"compThreshold", -23}, {"compRatio", 8}, {"compAttack", 2}, {"compRelease", 40}, {"compMakeup", 5}, {"autoPanRate", 7.0f}, {"autoPanDepth", 0.9f}, {"autoPanPhase", 0}, {"lfo1Rate", 0.8f}, {"lfo1Depth", 0.5f}, {"lfo1Shape", 3}, {"lfo1Dest", 4}, {"lfo2Rate", 19.0f}, {"lfo2Depth", 0.7f}, {"lfo2Shape", 3}, {"lfo2Dest", 1}, {"delayTime", 47}, {"delayFeedback", 0.6f}, {"delayMix", 0.35f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.7f}, {"reverbDamping", 0.2f}, {"reverbMix", 0.4f}}});
add("Siren Core", "Insanity", {
{"osc1Wave", 1}, {"osc1Oct", 1}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.9f},
@ -435,8 +435,8 @@ private:
{"envAttack", 0.01f}, {"envDecay", 0.3f}, {"envSustain", 0.9f}, {"envRelease", 1.0f},
{"pan", 0}, {"drive", 4.0f}, {"masterLevel", 0.624},
{"pitchBendRange", 2},
{"distType", 0}, {"distAmount", 0},
{"compThreshold", -10}, {"compRatio", 8}, {"compAttack", 1}, {"compRelease", 60}, {"compMakeup", 3},
{"distType", 0}, {"distAmount", 0.45f},
{"compThreshold", -15}, {"compRatio", 10}, {"compAttack", 1}, {"compRelease", 60}, {"compMakeup", 3},
{"autoPanRate", 0.3f}, {"autoPanDepth", 0.5f}, {"autoPanPhase", 0},
{"lfo1Rate", 0.15f}, {"lfo1Depth", 1.0f}, {"lfo1Shape", 0}, {"lfo1Dest", 1},
{"lfo2Rate", 0.12f}, {"lfo2Depth", 0.8f}, {"lfo2Shape", 0}, {"lfo2Dest", 2},
@ -445,13 +445,13 @@ private:
{"reverbSize", 0.8f}, {"reverbDamping", 0.1f}, {"reverbMix", 0.35f}
});
add("Plasma Ray", "Insanity", {{{"osc1Wave", 2}, {"osc1Oct", 3}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.8f}, {"osc2Wave", 4}, {"osc2Oct", 0}, {"osc2Semi", 0}, {"osc2Fine", 0}, {"osc2Level", 0.3f}, {"phaseOffset", 0.5f}, {"filterType", 3}, {"filterCutoff", 200}, {"filterRes", 1.0f}, {"filterEnvAmt", 1.0f}, {"keyTrack", 0.0f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.05f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.02f}, {"envAttack", 0.001f}, {"envDecay", 0.08f}, {"envSustain", 0.0f}, {"envRelease", 0.02f}, {"pan", 0}, {"drive", 5.0f}, {"masterLevel", 0.499}, {"pitchBendRange", 2}, {"distType", 1}, {"distAmount", 0}, {"compThreshold", -8}, {"compRatio", 12}, {"compAttack", 0.5f}, {"compRelease", 15}, {"compMakeup", 8}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 20.0f}, {"lfo1Depth", 1.0f}, {"lfo1Shape", 3}, {"lfo1Dest", 0}, {"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 25}, {"delayFeedback", 0.8f}, {"delayMix", 0.4f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.3f}, {"reverbDamping", 0.7f}, {"reverbMix", 0.15f}}});
add("Plasma Ray", "Insanity", {{{"osc1Wave", 2}, {"osc1Oct", 3}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.8f}, {"osc2Wave", 4}, {"osc2Oct", 0}, {"osc2Semi", 0}, {"osc2Fine", 0}, {"osc2Level", 0.3f}, {"phaseOffset", 0.5f}, {"filterType", 3}, {"filterCutoff", 200}, {"filterRes", 1.0f}, {"filterEnvAmt", 1.0f}, {"keyTrack", 0.0f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.05f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.02f}, {"envAttack", 0.001f}, {"envDecay", 0.08f}, {"envSustain", 0.0f}, {"envRelease", 0.02f}, {"pan", 0}, {"drive", 5.0f}, {"masterLevel", 0.499}, {"pitchBendRange", 2}, {"distType", 1}, {"distAmount", 0.55f}, {"compThreshold", -13}, {"compRatio", 14}, {"compAttack", 0.5f}, {"compRelease", 15}, {"compMakeup", 8}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 20.0f}, {"lfo1Depth", 1.0f}, {"lfo1Shape", 3}, {"lfo1Dest", 0}, {"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 25}, {"delayFeedback", 0.8f}, {"delayMix", 0.4f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.3f}, {"reverbDamping", 0.7f}, {"reverbMix", 0.15f}}});
add("Toxin Core", "Insanity", {{{"osc1Wave", 1}, {"osc1Oct", -1}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.8f}, {"osc2Wave", 2}, {"osc2Oct", -1}, {"osc2Semi", 6}, {"osc2Fine", 23}, {"osc2Level", 0.7f}, {"phaseOffset", 0.37f}, {"filterType", 0}, {"filterCutoff", 350}, {"filterRes", 0.92f}, {"filterEnvAmt", 0.85f}, {"keyTrack", 0.4f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.12f}, {"fEnvSustain", 0.15f}, {"fEnvRelease", 0.1f}, {"envAttack", 0.001f}, {"envDecay", 0.15f}, {"envSustain", 0.5f}, {"envRelease", 0.1f}, {"pan", 0}, {"drive", 4.5f}, {"masterLevel", 0.75}, {"pitchBendRange", 2}, {"distType", 2}, {"distAmount", 0}, {"compThreshold", -12}, {"compRatio", 10}, {"compAttack", 1}, {"compRelease", 30}, {"compMakeup", 6}, {"autoPanRate", 5.0f}, {"autoPanDepth", 0.7f}, {"autoPanPhase", 0}, {"lfo1Rate", 6.5f}, {"lfo1Depth", 0.8f}, {"lfo1Shape", 2}, {"lfo1Dest", 0}, {"lfo2Rate", 11.0f}, {"lfo2Depth", 0.5f}, {"lfo2Shape", 3}, {"lfo2Dest", 3}, {"delayTime", 73}, {"delayFeedback", 0.55f}, {"delayMix", 0.3f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.5f}, {"reverbDamping", 0.4f}, {"reverbMix", 0.2f}}});
add("Toxin Core", "Insanity", {{{"osc1Wave", 1}, {"osc1Oct", -1}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.8f}, {"osc2Wave", 2}, {"osc2Oct", -1}, {"osc2Semi", 6}, {"osc2Fine", 23}, {"osc2Level", 0.7f}, {"phaseOffset", 0.37f}, {"filterType", 0}, {"filterCutoff", 350}, {"filterRes", 0.92f}, {"filterEnvAmt", 0.85f}, {"keyTrack", 0.4f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.12f}, {"fEnvSustain", 0.15f}, {"fEnvRelease", 0.1f}, {"envAttack", 0.001f}, {"envDecay", 0.15f}, {"envSustain", 0.5f}, {"envRelease", 0.1f}, {"pan", 0}, {"drive", 4.5f}, {"masterLevel", 0.75}, {"pitchBendRange", 2}, {"distType", 2}, {"distAmount", 0.5f}, {"compThreshold", -17}, {"compRatio", 12}, {"compAttack", 1}, {"compRelease", 30}, {"compMakeup", 6}, {"autoPanRate", 5.0f}, {"autoPanDepth", 0.7f}, {"autoPanPhase", 0}, {"lfo1Rate", 6.5f}, {"lfo1Depth", 0.8f}, {"lfo1Shape", 2}, {"lfo1Dest", 0}, {"lfo2Rate", 11.0f}, {"lfo2Depth", 0.5f}, {"lfo2Shape", 3}, {"lfo2Dest", 3}, {"delayTime", 73}, {"delayFeedback", 0.55f}, {"delayMix", 0.3f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.5f}, {"reverbDamping", 0.4f}, {"reverbMix", 0.2f}}});
add("Fractured Signal", "Insanity", {{{"osc1Wave", 4}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.6f}, {"osc2Wave", 2}, {"osc2Oct", 0}, {"osc2Semi", 3}, {"osc2Fine", 37}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 2}, {"filterCutoff", 600}, {"filterRes", 0.8f}, {"filterEnvAmt", 0.7f}, {"keyTrack", 0.1f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.08f}, {"fEnvSustain", 0.3f}, {"fEnvRelease", 0.15f}, {"envAttack", 0.001f}, {"envDecay", 0.1f}, {"envSustain", 0.4f}, {"envRelease", 0.08f}, {"pan", 0}, {"drive", 3.0f}, {"masterLevel", 0.932}, {"pitchBendRange", 2}, {"distType", 1}, {"distAmount", 0}, {"compThreshold", -14}, {"compRatio", 8}, {"compAttack", 2}, {"compRelease", 25}, {"compMakeup", 5}, {"autoPanRate", 12.0f}, {"autoPanDepth", 0.8f}, {"autoPanPhase", 0}, {"lfo1Rate", 17.0f}, {"lfo1Depth", 0.6f}, {"lfo1Shape", 3}, {"lfo1Dest", 0}, {"lfo2Rate", 0.3f}, {"lfo2Depth", 0.9f}, {"lfo2Shape", 2}, {"lfo2Dest", 1}, {"delayTime", 33}, {"delayFeedback", 0.7f}, {"delayMix", 0.35f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.4f}, {"reverbDamping", 0.6f}, {"reverbMix", 0.25f}}});
add("Fractured Signal", "Insanity", {{{"osc1Wave", 4}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.6f}, {"osc2Wave", 2}, {"osc2Oct", 0}, {"osc2Semi", 3}, {"osc2Fine", 37}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 2}, {"filterCutoff", 600}, {"filterRes", 0.8f}, {"filterEnvAmt", 0.7f}, {"keyTrack", 0.1f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.08f}, {"fEnvSustain", 0.3f}, {"fEnvRelease", 0.15f}, {"envAttack", 0.001f}, {"envDecay", 0.1f}, {"envSustain", 0.4f}, {"envRelease", 0.08f}, {"pan", 0}, {"drive", 3.0f}, {"masterLevel", 0.932}, {"pitchBendRange", 2}, {"distType", 1}, {"distAmount", 0.35f}, {"compThreshold", -19}, {"compRatio", 10}, {"compAttack", 2}, {"compRelease", 25}, {"compMakeup", 5}, {"autoPanRate", 12.0f}, {"autoPanDepth", 0.8f}, {"autoPanPhase", 0}, {"lfo1Rate", 17.0f}, {"lfo1Depth", 0.6f}, {"lfo1Shape", 3}, {"lfo1Dest", 0}, {"lfo2Rate", 0.3f}, {"lfo2Depth", 0.9f}, {"lfo2Shape", 2}, {"lfo2Dest", 1}, {"delayTime", 33}, {"delayFeedback", 0.7f}, {"delayMix", 0.35f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.4f}, {"reverbDamping", 0.6f}, {"reverbMix", 0.25f}}});
add("Biomech Scar", "Insanity", {{{"osc1Wave", 1}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", -8}, {"osc1Level", 0.9f}, {"osc2Wave", 2}, {"osc2Oct", 0}, {"osc2Semi", 1}, {"osc2Fine", 11}, {"osc2Level", 0.8f}, {"phaseOffset", 0.42f}, {"filterType", 1}, {"filterCutoff", 500}, {"filterRes", 0.85f}, {"filterEnvAmt", 0.9f}, {"keyTrack", 0.5f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.1f}, {"fEnvSustain", 0.4f}, {"fEnvRelease", 0.08f}, {"envAttack", 0.001f}, {"envDecay", 0.12f}, {"envSustain", 0.7f}, {"envRelease", 0.1f}, {"pan", 0}, {"drive", 5.0f}, {"masterLevel", 0.522}, {"pitchBendRange", 2}, {"distType", 3}, {"distAmount", 0}, {"compThreshold", -10}, {"compRatio", 10}, {"compAttack", 0.5f}, {"compRelease", 20}, {"compMakeup", 8}, {"autoPanRate", 3.0f}, {"autoPanDepth", 0.6f}, {"autoPanPhase", 0}, {"lfo1Rate", 8.0f}, {"lfo1Depth", 0.7f}, {"lfo1Shape", 2}, {"lfo1Dest", 0}, {"lfo2Rate", 14.0f}, {"lfo2Depth", 0.4f}, {"lfo2Shape", 3}, {"lfo2Dest", 3}, {"delayTime", 55}, {"delayFeedback", 0.4f}, {"delayMix", 0.2f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.25f}, {"reverbDamping", 0.8f}, {"reverbMix", 0.1f}}});
add("Biomech Scar", "Insanity", {{{"osc1Wave", 1}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", -8}, {"osc1Level", 0.9f}, {"osc2Wave", 2}, {"osc2Oct", 0}, {"osc2Semi", 1}, {"osc2Fine", 11}, {"osc2Level", 0.8f}, {"phaseOffset", 0.42f}, {"filterType", 1}, {"filterCutoff", 500}, {"filterRes", 0.85f}, {"filterEnvAmt", 0.9f}, {"keyTrack", 0.5f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.1f}, {"fEnvSustain", 0.4f}, {"fEnvRelease", 0.08f}, {"envAttack", 0.001f}, {"envDecay", 0.12f}, {"envSustain", 0.7f}, {"envRelease", 0.1f}, {"pan", 0}, {"drive", 5.0f}, {"masterLevel", 0.522}, {"pitchBendRange", 2}, {"distType", 3}, {"distAmount", 0.55f}, {"compThreshold", -15}, {"compRatio", 12}, {"compAttack", 0.5f}, {"compRelease", 20}, {"compMakeup", 8}, {"autoPanRate", 3.0f}, {"autoPanDepth", 0.6f}, {"autoPanPhase", 0}, {"lfo1Rate", 8.0f}, {"lfo1Depth", 0.7f}, {"lfo1Shape", 2}, {"lfo1Dest", 0}, {"lfo2Rate", 14.0f}, {"lfo2Depth", 0.4f}, {"lfo2Shape", 3}, {"lfo2Dest", 3}, {"delayTime", 55}, {"delayFeedback", 0.4f}, {"delayMix", 0.2f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.25f}, {"reverbDamping", 0.8f}, {"reverbMix", 0.1f}}});
add("Scrap Hound", "Insanity", {
{"osc1Wave", 1}, {"osc1Oct", -2}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.9f},
@ -462,8 +462,8 @@ private:
{"envAttack", 0.001f}, {"envDecay", 0.25f}, {"envSustain", 0.6f}, {"envRelease", 0.2f},
{"pan", 0}, {"drive", 4.8f}, {"masterLevel", 0.413},
{"pitchBendRange", 2},
{"distType", 2}, {"distAmount", 0},
{"compThreshold", -8}, {"compRatio", 12}, {"compAttack", 1}, {"compRelease", 25}, {"compMakeup", 7},
{"distType", 2}, {"distAmount", 0.53f},
{"compThreshold", -13}, {"compRatio", 14}, {"compAttack", 1}, {"compRelease", 25}, {"compMakeup", 7},
{"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0},
{"lfo1Rate", 0.3f}, {"lfo1Depth", 0.4f}, {"lfo1Shape", 0}, {"lfo1Dest", 0},
{"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0},
@ -472,11 +472,11 @@ private:
{"reverbSize", 0.15f}, {"reverbDamping", 0.9f}, {"reverbMix", 0.05f}
});
add("Pixel Storm", "Insanity", {{{"osc1Wave", 2}, {"osc1Oct", 2}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.7f}, {"osc2Wave", 4}, {"osc2Oct", 1}, {"osc2Semi", 7}, {"osc2Fine", 0}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 1}, {"filterCutoff", 800}, {"filterRes", 0.95f}, {"filterEnvAmt", 1.0f}, {"keyTrack", 0.0f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.03f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.02f}, {"envAttack", 0.001f}, {"envDecay", 0.04f}, {"envSustain", 0.0f}, {"envRelease", 0.02f}, {"pan", 0}, {"drive", 3.0f}, {"masterLevel", 1.0}, {"pitchBendRange", 2}, {"distType", 1}, {"distAmount", 0}, {"compThreshold", -12}, {"compRatio", 10}, {"compAttack", 0.5f}, {"compRelease", 10}, {"compMakeup", 6}, {"autoPanRate", 20.0f}, {"autoPanDepth", 1.0f}, {"autoPanPhase", 0}, {"lfo1Rate", 20.0f}, {"lfo1Depth", 1.0f}, {"lfo1Shape", 3}, {"lfo1Dest", 0}, {"lfo2Rate", 15.0f}, {"lfo2Depth", 0.8f}, {"lfo2Shape", 3}, {"lfo2Dest", 3}, {"delayTime", 20}, {"delayFeedback", 0.6f}, {"delayMix", 0.3f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.3f}, {"reverbDamping", 0.5f}, {"reverbMix", 0.2f}}});
add("Pixel Storm", "Insanity", {{{"osc1Wave", 2}, {"osc1Oct", 2}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.7f}, {"osc2Wave", 4}, {"osc2Oct", 1}, {"osc2Semi", 7}, {"osc2Fine", 0}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 1}, {"filterCutoff", 800}, {"filterRes", 0.95f}, {"filterEnvAmt", 1.0f}, {"keyTrack", 0.0f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.03f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.02f}, {"envAttack", 0.001f}, {"envDecay", 0.04f}, {"envSustain", 0.0f}, {"envRelease", 0.02f}, {"pan", 0}, {"drive", 3.0f}, {"masterLevel", 1.0}, {"pitchBendRange", 2}, {"distType", 1}, {"distAmount", 0.35f}, {"compThreshold", -17}, {"compRatio", 12}, {"compAttack", 0.5f}, {"compRelease", 10}, {"compMakeup", 6}, {"autoPanRate", 20.0f}, {"autoPanDepth", 1.0f}, {"autoPanPhase", 0}, {"lfo1Rate", 20.0f}, {"lfo1Depth", 1.0f}, {"lfo1Shape", 3}, {"lfo1Dest", 0}, {"lfo2Rate", 15.0f}, {"lfo2Depth", 0.8f}, {"lfo2Shape", 3}, {"lfo2Dest", 3}, {"delayTime", 20}, {"delayFeedback", 0.6f}, {"delayMix", 0.3f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.3f}, {"reverbDamping", 0.5f}, {"reverbMix", 0.2f}}});
add("Venom Vector", "Insanity", {{{"osc1Wave", 1}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 3}, {"osc1Level", 0.85f}, {"osc2Wave", 0}, {"osc2Oct", 1}, {"osc2Semi", 7}, {"osc2Fine", -5}, {"osc2Level", 0.6f}, {"phaseOffset", 0.28f}, {"filterType", 0}, {"filterCutoff", 400}, {"filterRes", 0.98f}, {"filterEnvAmt", 0.95f}, {"keyTrack", 0.5f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.18f}, {"fEnvSustain", 0.1f}, {"fEnvRelease", 0.12f}, {"envAttack", 0.001f}, {"envDecay", 0.2f}, {"envSustain", 0.65f}, {"envRelease", 0.15f}, {"pan", 0}, {"drive", 3.8f}, {"masterLevel", 0.755}, {"pitchBendRange", 2}, {"distType", 3}, {"distAmount", 0}, {"compThreshold", -14}, {"compRatio", 8}, {"compAttack", 2}, {"compRelease", 35}, {"compMakeup", 5}, {"autoPanRate", 4.0f}, {"autoPanDepth", 0.5f}, {"autoPanPhase", 0}, {"lfo1Rate", 5.5f}, {"lfo1Depth", 0.85f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 9.0f}, {"lfo2Depth", 0.3f}, {"lfo2Shape", 2}, {"lfo2Dest", 1}, {"delayTime", 66}, {"delayFeedback", 0.5f}, {"delayMix", 0.25f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.45f}, {"reverbDamping", 0.5f}, {"reverbMix", 0.2f}}});
add("Venom Vector", "Insanity", {{{"osc1Wave", 1}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 3}, {"osc1Level", 0.85f}, {"osc2Wave", 0}, {"osc2Oct", 1}, {"osc2Semi", 7}, {"osc2Fine", -5}, {"osc2Level", 0.6f}, {"phaseOffset", 0.28f}, {"filterType", 0}, {"filterCutoff", 400}, {"filterRes", 0.98f}, {"filterEnvAmt", 0.95f}, {"keyTrack", 0.5f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.18f}, {"fEnvSustain", 0.1f}, {"fEnvRelease", 0.12f}, {"envAttack", 0.001f}, {"envDecay", 0.2f}, {"envSustain", 0.65f}, {"envRelease", 0.15f}, {"pan", 0}, {"drive", 3.8f}, {"masterLevel", 0.755}, {"pitchBendRange", 2}, {"distType", 3}, {"distAmount", 0.43f}, {"compThreshold", -19}, {"compRatio", 10}, {"compAttack", 2}, {"compRelease", 35}, {"compMakeup", 5}, {"autoPanRate", 4.0f}, {"autoPanDepth", 0.5f}, {"autoPanPhase", 0}, {"lfo1Rate", 5.5f}, {"lfo1Depth", 0.85f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 9.0f}, {"lfo2Depth", 0.3f}, {"lfo2Shape", 2}, {"lfo2Dest", 1}, {"delayTime", 66}, {"delayFeedback", 0.5f}, {"delayMix", 0.25f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.45f}, {"reverbDamping", 0.5f}, {"reverbMix", 0.2f}}});
add("Eagle Protocol", "Insanity", {{{"osc1Wave", 0}, {"osc1Oct", 3}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.8f}, {"osc2Wave", 1}, {"osc2Oct", 3}, {"osc2Semi", 0}, {"osc2Fine", 7}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 3}, {"filterCutoff", 1200}, {"filterRes", 0.9f}, {"filterEnvAmt", 0.7f}, {"keyTrack", 0.8f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.1f}, {"fEnvSustain", 0.3f}, {"fEnvRelease", 0.08f}, {"envAttack", 0.001f}, {"envDecay", 0.15f}, {"envSustain", 0.5f}, {"envRelease", 0.1f}, {"pan", 0}, {"drive", 2.5f}, {"masterLevel", 0.735}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0}, {"compThreshold", -16}, {"compRatio", 6}, {"compAttack", 2}, {"compRelease", 30}, {"compMakeup", 4}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 10.0f}, {"lfo1Depth", 1.0f}, {"lfo1Shape", 0}, {"lfo1Dest", 1}, {"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 40}, {"delayFeedback", 0.7f}, {"delayMix", 0.4f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.6f}, {"reverbDamping", 0.3f}, {"reverbMix", 0.3f}}});
add("Eagle Protocol", "Insanity", {{{"osc1Wave", 0}, {"osc1Oct", 3}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.8f}, {"osc2Wave", 1}, {"osc2Oct", 3}, {"osc2Semi", 0}, {"osc2Fine", 7}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 3}, {"filterCutoff", 1200}, {"filterRes", 0.9f}, {"filterEnvAmt", 0.7f}, {"keyTrack", 0.8f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.1f}, {"fEnvSustain", 0.3f}, {"fEnvRelease", 0.08f}, {"envAttack", 0.001f}, {"envDecay", 0.15f}, {"envSustain", 0.5f}, {"envRelease", 0.1f}, {"pan", 0}, {"drive", 2.5f}, {"masterLevel", 0.735}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0.3f}, {"compThreshold", -21}, {"compRatio", 7}, {"compAttack", 2}, {"compRelease", 30}, {"compMakeup", 4}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 10.0f}, {"lfo1Depth", 1.0f}, {"lfo1Shape", 0}, {"lfo1Dest", 1}, {"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 40}, {"delayFeedback", 0.7f}, {"delayMix", 0.4f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.6f}, {"reverbDamping", 0.3f}, {"reverbMix", 0.3f}}});
// ======== TEXTURES ========
@ -782,8 +782,8 @@ private:
{"envAttack", 0.5f}, {"envDecay", 0.5f}, {"envSustain", 0.8f}, {"envRelease", 1.5f},
{"pan", 0}, {"drive", 3.5f}, {"masterLevel", 0.584},
{"pitchBendRange", 2},
{"distType", 3}, {"distAmount", 0},
{"compThreshold", -12}, {"compRatio", 6}, {"compAttack", 5}, {"compRelease", 80}, {"compMakeup", 4},
{"distType", 3}, {"distAmount", 0.4f},
{"compThreshold", -17}, {"compRatio", 8}, {"compAttack", 5}, {"compRelease", 80}, {"compMakeup", 4},
{"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0},
{"lfo1Rate", 0.15f}, {"lfo1Depth", 0.4f}, {"lfo1Shape", 0}, {"lfo1Dest", 0},
{"lfo2Rate", 0.08f}, {"lfo2Depth", 0.2f}, {"lfo2Shape", 1}, {"lfo2Dest", 0},
@ -801,8 +801,8 @@ private:
{"envAttack", 0.3f}, {"envDecay", 0.8f}, {"envSustain", 0.6f}, {"envRelease", 2.0f},
{"pan", 0}, {"drive", 2.5f}, {"masterLevel", 0.746},
{"pitchBendRange", 2},
{"distType", 0}, {"distAmount", 0},
{"compThreshold", -15}, {"compRatio", 5}, {"compAttack", 2}, {"compRelease", 60}, {"compMakeup", 4},
{"distType", 0}, {"distAmount", 0.3f},
{"compThreshold", -20}, {"compRatio", 6}, {"compAttack", 2}, {"compRelease", 60}, {"compMakeup", 4},
{"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0},
{"lfo1Rate", 0.2f}, {"lfo1Depth", 0.6f}, {"lfo1Shape", 0}, {"lfo1Dest", 0},
{"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0},
@ -843,8 +843,8 @@ private:
{"envAttack", 0.001f}, {"envDecay", 0.2f}, {"envSustain", 0.7f}, {"envRelease", 0.15f},
{"pan", 0}, {"drive", 4.0f}, {"masterLevel", 0.457},
{"pitchBendRange", 2},
{"distType", 1}, {"distAmount", 0},
{"compThreshold", -10}, {"compRatio", 8}, {"compAttack", 1}, {"compRelease", 30}, {"compMakeup", 6},
{"distType", 1}, {"distAmount", 0.45f},
{"compThreshold", -15}, {"compRatio", 10}, {"compAttack", 1}, {"compRelease", 30}, {"compMakeup", 6},
{"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0},
{"lfo1Rate", 0.3f}, {"lfo1Depth", 0.3f}, {"lfo1Shape", 0}, {"lfo1Dest", 0},
{"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0},
@ -853,9 +853,9 @@ private:
{"reverbSize", 0.1f}, {"reverbDamping", 0.9f}, {"reverbMix", 0.03f}
});
add("Storm Drain", "Bass", {{{"osc1Wave", 2}, {"osc1Oct", -2}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.9f}, {"osc2Wave", 0}, {"osc2Oct", -1}, {"osc2Semi", 0}, {"osc2Fine", 0}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 200}, {"filterRes", 0.7f}, {"filterEnvAmt", 0.6f}, {"keyTrack", 0.3f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.2f}, {"fEnvSustain", 0.1f}, {"fEnvRelease", 0.15f}, {"envAttack", 0.001f}, {"envDecay", 0.3f}, {"envSustain", 0.6f}, {"envRelease", 0.2f}, {"pan", 0}, {"drive", 3.0f}, {"masterLevel", 0.539}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0}, {"compThreshold", -12}, {"compRatio", 6}, {"compAttack", 2}, {"compRelease", 40}, {"compMakeup", 5}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 0.2f}, {"lfo1Depth", 0.5f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 100}, {"delayFeedback", 0.3f}, {"delayMix", 0.12f}, {"lfo1Sync", 0}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.15f}, {"reverbDamping", 0.85f}, {"reverbMix", 0.05f}}});
add("Storm Drain", "Bass", {{{"osc1Wave", 2}, {"osc1Oct", -2}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.9f}, {"osc2Wave", 0}, {"osc2Oct", -1}, {"osc2Semi", 0}, {"osc2Fine", 0}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 200}, {"filterRes", 0.7f}, {"filterEnvAmt", 0.6f}, {"keyTrack", 0.3f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.2f}, {"fEnvSustain", 0.1f}, {"fEnvRelease", 0.15f}, {"envAttack", 0.001f}, {"envDecay", 0.3f}, {"envSustain", 0.6f}, {"envRelease", 0.2f}, {"pan", 0}, {"drive", 3.0f}, {"masterLevel", 0.539}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0.35f}, {"compThreshold", -17}, {"compRatio", 8}, {"compAttack", 2}, {"compRelease", 40}, {"compMakeup", 5}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 0.2f}, {"lfo1Depth", 0.5f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 100}, {"delayFeedback", 0.3f}, {"delayMix", 0.12f}, {"lfo1Sync", 0}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.15f}, {"reverbDamping", 0.85f}, {"reverbMix", 0.05f}}});
add("Cyber Sub", "Bass", {{{"osc1Wave", 1}, {"osc1Oct", -1}, {"osc1Semi", 0}, {"osc1Fine", -8}, {"osc1Level", 0.8f}, {"osc2Wave", 1}, {"osc2Oct", -1}, {"osc2Semi", 5}, {"osc2Fine", 12}, {"osc2Level", 0.7f}, {"phaseOffset", 0.25f}, {"filterType", 1}, {"filterCutoff", 300}, {"filterRes", 0.75f}, {"filterEnvAmt", 0.6f}, {"keyTrack", 0.3f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.18f}, {"fEnvSustain", 0.15f}, {"fEnvRelease", 0.12f}, {"envAttack", 0.001f}, {"envDecay", 0.25f}, {"envSustain", 0.65f}, {"envRelease", 0.2f}, {"pan", 0}, {"drive", 3.5f}, {"masterLevel", 0.562}, {"pitchBendRange", 2}, {"distType", 3}, {"distAmount", 0}, {"compThreshold", -12}, {"compRatio", 7}, {"compAttack", 2}, {"compRelease", 35}, {"compMakeup", 5}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 4.0f}, {"lfo1Depth", 0.6f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.15f}, {"lfo2Depth", 0.3f}, {"lfo2Shape", 2}, {"lfo2Dest", 0}, {"delayTime", 90}, {"delayFeedback", 0.3f}, {"delayMix", 0.15f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.2f}, {"reverbDamping", 0.8f}, {"reverbMix", 0.08f}}});
add("Cyber Sub", "Bass", {{{"osc1Wave", 1}, {"osc1Oct", -1}, {"osc1Semi", 0}, {"osc1Fine", -8}, {"osc1Level", 0.8f}, {"osc2Wave", 1}, {"osc2Oct", -1}, {"osc2Semi", 5}, {"osc2Fine", 12}, {"osc2Level", 0.7f}, {"phaseOffset", 0.25f}, {"filterType", 1}, {"filterCutoff", 300}, {"filterRes", 0.75f}, {"filterEnvAmt", 0.6f}, {"keyTrack", 0.3f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.18f}, {"fEnvSustain", 0.15f}, {"fEnvRelease", 0.12f}, {"envAttack", 0.001f}, {"envDecay", 0.25f}, {"envSustain", 0.65f}, {"envRelease", 0.2f}, {"pan", 0}, {"drive", 3.5f}, {"masterLevel", 0.562}, {"pitchBendRange", 2}, {"distType", 3}, {"distAmount", 0.4f}, {"compThreshold", -17}, {"compRatio", 9}, {"compAttack", 2}, {"compRelease", 35}, {"compMakeup", 5}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 4.0f}, {"lfo1Depth", 0.6f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.15f}, {"lfo2Depth", 0.3f}, {"lfo2Shape", 2}, {"lfo2Dest", 0}, {"delayTime", 90}, {"delayFeedback", 0.3f}, {"delayMix", 0.15f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.2f}, {"reverbDamping", 0.8f}, {"reverbMix", 0.08f}}});
add("808 Pulse", "Bass", {
{"osc1Wave", 0}, {"osc1Oct", -3}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 1.0f},
@ -882,7 +882,7 @@ private:
add("Solar Nova", "Lead", {{{"osc1Wave", 0}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 3}, {"osc1Level", 0.7f}, {"osc2Wave", 0}, {"osc2Oct", 1}, {"osc2Semi", 12}, {"osc2Fine", -5}, {"osc2Level", 0.5f}, {"phaseOffset", 0.35f}, {"filterType", 0}, {"filterCutoff", 4000}, {"filterRes", 0.15f}, {"filterEnvAmt", 0.5f}, {"keyTrack", 0.8f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.3f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.2f}, {"envAttack", 0.001f}, {"envDecay", 0.3f}, {"envSustain", 0.7f}, {"envRelease", 0.4f}, {"pan", 0}, {"drive", 1.3f}, {"masterLevel", 0.768f}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0}, {"distSymmetry", 0}, {"distTone", 1.0f}, {"compThreshold", -16}, {"compRatio", 2}, {"compAttack", 5}, {"compRelease", 100}, {"compMakeup", 2}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 0.2f}, {"lfo1Depth", 0.15f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.1f}, {"lfo2Depth", 0.1f}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 300}, {"delayFeedback", 0.25f}, {"delayMix", 0.15f}, {"lfo1Sync", 0}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.3f}, {"reverbDamping", 0.5f}, {"reverbMix", 0.12f}}});
add("Quantum Beam", "Lead", {{{"osc1Wave", 1}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.85f}, {"osc2Wave", 0}, {"osc2Oct", 0}, {"osc2Semi", 5}, {"osc2Fine", 0}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 3000}, {"filterRes", 0.5f}, {"filterEnvAmt", 0.8f}, {"keyTrack", 0.7f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.1f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.08f}, {"envAttack", 0.001f}, {"envDecay", 0.12f}, {"envSustain", 0.7f}, {"envRelease", 0.15f}, {"pan", 0}, {"drive", 2.5f}, {"masterLevel", 0.651}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0}, {"compThreshold", -12}, {"compRatio", 4}, {"compAttack", 1}, {"compRelease", 40}, {"compMakeup", 3}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 7.0f}, {"lfo1Depth", 0.6f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.3f}, {"lfo2Depth", 0.2f}, {"lfo2Shape", 1}, {"lfo2Dest", 0}, {"delayTime", 120}, {"delayFeedback", 0.25f}, {"delayMix", 0.12f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.2f}, {"reverbDamping", 0.7f}, {"reverbMix", 0.08f}}});
add("Quantum Beam", "Lead", {{{"osc1Wave", 1}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.85f}, {"osc2Wave", 0}, {"osc2Oct", 0}, {"osc2Semi", 5}, {"osc2Fine", 0}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 3000}, {"filterRes", 0.5f}, {"filterEnvAmt", 0.8f}, {"keyTrack", 0.7f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.1f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.08f}, {"envAttack", 0.001f}, {"envDecay", 0.12f}, {"envSustain", 0.7f}, {"envRelease", 0.15f}, {"pan", 0}, {"drive", 2.5f}, {"masterLevel", 0.651}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0.3f}, {"compThreshold", -17}, {"compRatio", 5}, {"compAttack", 1}, {"compRelease", 40}, {"compMakeup", 3}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 7.0f}, {"lfo1Depth", 0.6f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.3f}, {"lfo2Depth", 0.2f}, {"lfo2Shape", 1}, {"lfo2Dest", 0}, {"delayTime", 120}, {"delayFeedback", 0.25f}, {"delayMix", 0.12f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.2f}, {"reverbDamping", 0.7f}, {"reverbMix", 0.08f}}});
add("Android Flock", "Lead", {{{"osc1Wave", 0}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", -7}, {"osc1Level", 0.7f}, {"osc2Wave", 0}, {"osc2Oct", 0}, {"osc2Semi", 0}, {"osc2Fine", 7}, {"osc2Level", 0.7f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 3000}, {"filterRes", 0.35f}, {"filterEnvAmt", 0.6f}, {"keyTrack", 0.7f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.2f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.15f}, {"envAttack", 0.001f}, {"envDecay", 0.2f}, {"envSustain", 0.7f}, {"envRelease", 0.3f}, {"pan", 0}, {"drive", 1.2f}, {"masterLevel", 0.712f}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0}, {"distSymmetry", 0}, {"distTone", 1.0f}, {"compThreshold", -16}, {"compRatio", 2}, {"compAttack", 3}, {"compRelease", 80}, {"compMakeup", 2}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 0.15f}, {"lfo1Depth", 0.2f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.12f}, {"lfo2Depth", 0.15f}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 250}, {"delayFeedback", 0.2f}, {"delayMix", 0.1f}, {"lfo1Sync", 0}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.25f}, {"reverbDamping", 0.6f}, {"reverbMix", 0.1f}}});
@ -947,13 +947,13 @@ private:
// ======== MORE FX ========
add("Bootleg Signal", "FX", {{{"osc1Wave", 4}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.7f}, {"osc2Wave", 2}, {"osc2Oct", 0}, {"osc2Semi", 3}, {"osc2Fine", 31}, {"osc2Level", 0.4f}, {"phaseOffset", 0.5f}, {"filterType", 2}, {"filterCutoff", 500}, {"filterRes", 0.8f}, {"filterEnvAmt", 0.6f}, {"keyTrack", 0.0f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.1f}, {"fEnvSustain", 0.3f}, {"fEnvRelease", 0.15f}, {"envAttack", 0.001f}, {"envDecay", 0.15f}, {"envSustain", 0.5f}, {"envRelease", 0.1f}, {"pan", 0}, {"drive", 2.5f}, {"masterLevel", 0.785}, {"pitchBendRange", 2}, {"distType", 1}, {"distAmount", 0}, {"compThreshold", -15}, {"compRatio", 5}, {"compAttack", 3}, {"compRelease", 40}, {"compMakeup", 4}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 3.0f}, {"lfo1Depth", 0.5f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.2f}, {"lfo2Depth", 0.7f}, {"lfo2Shape", 2}, {"lfo2Dest", 0}, {"delayTime", 120}, {"delayFeedback", 0.5f}, {"delayMix", 0.3f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.4f}, {"reverbDamping", 0.5f}, {"reverbMix", 0.2f}}});
add("Bootleg Signal", "FX", {{{"osc1Wave", 4}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.7f}, {"osc2Wave", 2}, {"osc2Oct", 0}, {"osc2Semi", 3}, {"osc2Fine", 31}, {"osc2Level", 0.4f}, {"phaseOffset", 0.5f}, {"filterType", 2}, {"filterCutoff", 500}, {"filterRes", 0.8f}, {"filterEnvAmt", 0.6f}, {"keyTrack", 0.0f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.1f}, {"fEnvSustain", 0.3f}, {"fEnvRelease", 0.15f}, {"envAttack", 0.001f}, {"envDecay", 0.15f}, {"envSustain", 0.5f}, {"envRelease", 0.1f}, {"pan", 0}, {"drive", 2.5f}, {"masterLevel", 0.785}, {"pitchBendRange", 2}, {"distType", 1}, {"distAmount", 0.3f}, {"compThreshold", -20}, {"compRatio", 6}, {"compAttack", 3}, {"compRelease", 40}, {"compMakeup", 4}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 3.0f}, {"lfo1Depth", 0.5f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.2f}, {"lfo2Depth", 0.7f}, {"lfo2Shape", 2}, {"lfo2Dest", 0}, {"delayTime", 120}, {"delayFeedback", 0.5f}, {"delayMix", 0.3f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.4f}, {"reverbDamping", 0.5f}, {"reverbMix", 0.2f}}});
add("Vapor Trace", "FX", {{{"osc1Wave", 3}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 5}, {"osc1Level", 0.5f}, {"osc2Wave", 0}, {"osc2Oct", 1}, {"osc2Semi", 12}, {"osc2Fine", -5}, {"osc2Level", 0.4f}, {"phaseOffset", 0.6f}, {"filterType", 0}, {"filterCutoff", 600}, {"filterRes", 0.15f}, {"filterEnvAmt", 0.2f}, {"keyTrack", 0.5f}, {"fEnvAttack", 1.5f}, {"fEnvDecay", 2.0f}, {"fEnvSustain", 0.5f}, {"fEnvRelease", 3.0f}, {"envAttack", 2.5f}, {"envDecay", 1.0f}, {"envSustain", 0.7f}, {"envRelease", 4.0f}, {"pan", 0}, {"drive", 1.0f}, {"masterLevel", 1.0f}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0}, {"distSymmetry", 0}, {"distTone", 1.0f}, {"compThreshold", -25}, {"compRatio", 2}, {"compAttack", 30}, {"compRelease", 300}, {"compMakeup", 2}, {"autoPanRate", 0.25f}, {"autoPanDepth", 0.7f}, {"autoPanPhase", 0}, {"lfo1Rate", 0.2f}, {"lfo1Depth", 0.2f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.1f}, {"lfo2Depth", 0.15f}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 500}, {"delayFeedback", 0.6f}, {"delayMix", 0.4f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.85f}, {"reverbDamping", 0.15f}, {"reverbMix", 0.55f}}});
add("Candy Overdrive", "FX", {{{"osc1Wave", 0}, {"osc1Oct", 1}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.7f}, {"osc2Wave", 3}, {"osc2Oct", 1}, {"osc2Semi", 7}, {"osc2Fine", 0}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 1000}, {"filterRes", 0.1f}, {"filterEnvAmt", 0.5f}, {"keyTrack", 0.8f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.1f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.08f}, {"envAttack", 0.001f}, {"envDecay", 0.12f}, {"envSustain", 0.3f}, {"envRelease", 0.1f}, {"pan", 0}, {"drive", 1.0f}, {"masterLevel", 1.0f}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0}, {"distSymmetry", 0}, {"distTone", 1.0f}, {"compThreshold", -18}, {"compRatio", 3}, {"compAttack", 3}, {"compRelease", 40}, {"compMakeup", 2}, {"autoPanRate", 3.0f}, {"autoPanDepth", 0.5f}, {"autoPanPhase", 0}, {"lfo1Rate", 6.0f}, {"lfo1Depth", 0.3f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.5f}, {"lfo2Depth", 0.2f}, {"lfo2Shape", 1}, {"lfo2Dest", 0}, {"delayTime", 200}, {"delayFeedback", 0.35f}, {"delayMix", 0.2f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.5f}, {"reverbDamping", 0.4f}, {"reverbMix", 0.25f}}});
add("Polymorph Unit", "FX", {{{"osc1Wave", 1}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.7f}, {"osc2Wave", 2}, {"osc2Oct", 0}, {"osc2Semi", 1}, {"osc2Fine", 8}, {"osc2Level", 0.6f}, {"phaseOffset", 0.3f}, {"filterType", 0}, {"filterCutoff", 400}, {"filterRes", 0.8f}, {"filterEnvAmt", 0.7f}, {"keyTrack", 0.4f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.15f}, {"fEnvSustain", 0.2f}, {"fEnvRelease", 0.1f}, {"envAttack", 0.001f}, {"envDecay", 0.2f}, {"envSustain", 0.6f}, {"envRelease", 0.15f}, {"pan", 0}, {"drive", 3.0f}, {"masterLevel", 0.776}, {"pitchBendRange", 2}, {"distType", 3}, {"distAmount", 0}, {"compThreshold", -14}, {"compRatio", 6}, {"compAttack", 2}, {"compRelease", 40}, {"compMakeup", 4}, {"autoPanRate", 4.0f}, {"autoPanDepth", 0.5f}, {"autoPanPhase", 0}, {"lfo1Rate", 5.0f}, {"lfo1Depth", 0.6f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 8.0f}, {"lfo2Depth", 0.3f}, {"lfo2Shape", 2}, {"lfo2Dest", 0}, {"delayTime", 80}, {"delayFeedback", 0.4f}, {"delayMix", 0.2f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.5f}, {"reverbDamping", 0.4f}, {"reverbMix", 0.2f}}});
add("Polymorph Unit", "FX", {{{"osc1Wave", 1}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.7f}, {"osc2Wave", 2}, {"osc2Oct", 0}, {"osc2Semi", 1}, {"osc2Fine", 8}, {"osc2Level", 0.6f}, {"phaseOffset", 0.3f}, {"filterType", 0}, {"filterCutoff", 400}, {"filterRes", 0.8f}, {"filterEnvAmt", 0.7f}, {"keyTrack", 0.4f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.15f}, {"fEnvSustain", 0.2f}, {"fEnvRelease", 0.1f}, {"envAttack", 0.001f}, {"envDecay", 0.2f}, {"envSustain", 0.6f}, {"envRelease", 0.15f}, {"pan", 0}, {"drive", 3.0f}, {"masterLevel", 0.776}, {"pitchBendRange", 2}, {"distType", 3}, {"distAmount", 0.35f}, {"compThreshold", -19}, {"compRatio", 8}, {"compAttack", 2}, {"compRelease", 40}, {"compMakeup", 4}, {"autoPanRate", 4.0f}, {"autoPanDepth", 0.5f}, {"autoPanPhase", 0}, {"lfo1Rate", 5.0f}, {"lfo1Depth", 0.6f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 8.0f}, {"lfo2Depth", 0.3f}, {"lfo2Shape", 2}, {"lfo2Dest", 0}, {"delayTime", 80}, {"delayFeedback", 0.4f}, {"delayMix", 0.2f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.5f}, {"reverbDamping", 0.4f}, {"reverbMix", 0.2f}}});
// ======== PIANO ========
@ -1191,7 +1191,7 @@ private:
{"reverbSize", 0.2f}, {"reverbDamping", 0.7f}, {"reverbMix", 0.08f}
});
add("Squelch Circuit", "Bass", {{{"osc1Wave", 1}, {"osc1Oct", -1}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.9f}, {"osc2Wave", 1}, {"osc2Oct", -1}, {"osc2Semi", 0}, {"osc2Fine", 0}, {"osc2Level", 0.4f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 250}, {"filterRes", 0.95f}, {"filterEnvAmt", 0.9f}, {"keyTrack", 0.4f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.25f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.2f}, {"envAttack", 0.001f}, {"envDecay", 0.2f}, {"envSustain", 0.3f}, {"envRelease", 0.15f}, {"pan", 0}, {"drive", 2.8f}, {"masterLevel", 0.599}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0}, {"compThreshold", -12}, {"compRatio", 6}, {"compAttack", 1}, {"compRelease", 30}, {"compMakeup", 5}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 3.0f}, {"lfo1Depth", 0.4f}, {"lfo1Shape", 2}, {"lfo1Dest", 0}, {"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 90}, {"delayFeedback", 0.2f}, {"delayMix", 0.1f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.15f}, {"reverbDamping", 0.8f}, {"reverbMix", 0.05f}}});
add("Squelch Circuit", "Bass", {{{"osc1Wave", 1}, {"osc1Oct", -1}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.9f}, {"osc2Wave", 1}, {"osc2Oct", -1}, {"osc2Semi", 0}, {"osc2Fine", 0}, {"osc2Level", 0.4f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 250}, {"filterRes", 0.95f}, {"filterEnvAmt", 0.9f}, {"keyTrack", 0.4f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.25f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.2f}, {"envAttack", 0.001f}, {"envDecay", 0.2f}, {"envSustain", 0.3f}, {"envRelease", 0.15f}, {"pan", 0}, {"drive", 2.8f}, {"masterLevel", 0.599}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0.33f}, {"compThreshold", -17}, {"compRatio", 7}, {"compAttack", 1}, {"compRelease", 30}, {"compMakeup", 5}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 3.0f}, {"lfo1Depth", 0.4f}, {"lfo1Shape", 2}, {"lfo1Dest", 0}, {"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 90}, {"delayFeedback", 0.2f}, {"delayMix", 0.1f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.15f}, {"reverbDamping", 0.8f}, {"reverbMix", 0.05f}}});
add("Reso Core", "Bass", {
{"osc1Wave", 0}, {"osc1Oct", -3}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 1.0f},
@ -1478,7 +1478,7 @@ private:
// ======== MORE FX 2 ========
add("Byte Crusher", "FX", {{{"osc1Wave", 2}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.8f}, {"osc2Wave", 1}, {"osc2Oct", 0}, {"osc2Semi", 7}, {"osc2Fine", 0}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 800}, {"filterRes", 0.3f}, {"filterEnvAmt", 0.4f}, {"keyTrack", 0.5f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.15f}, {"fEnvSustain", 0.4f}, {"fEnvRelease", 0.15f}, {"envAttack", 0.001f}, {"envDecay", 0.2f}, {"envSustain", 0.7f}, {"envRelease", 0.2f}, {"pan", 0}, {"drive", 2.0f}, {"masterLevel", 0.709}, {"pitchBendRange", 2}, {"distType", 2}, {"distAmount", 0}, {"compThreshold", -14}, {"compRatio", 5}, {"compAttack", 2}, {"compRelease", 50}, {"compMakeup", 4}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 6.0f}, {"lfo1Depth", 0.3f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.2f}, {"lfo2Depth", 0.5f}, {"lfo2Shape", 2}, {"lfo2Dest", 0}, {"delayTime", 150}, {"delayFeedback", 0.3f}, {"delayMix", 0.15f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.4f}, {"reverbDamping", 0.5f}, {"reverbMix", 0.2f}}});
add("Byte Crusher", "FX", {{{"osc1Wave", 2}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.8f}, {"osc2Wave", 1}, {"osc2Oct", 0}, {"osc2Semi", 7}, {"osc2Fine", 0}, {"osc2Level", 0.5f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 800}, {"filterRes", 0.3f}, {"filterEnvAmt", 0.4f}, {"keyTrack", 0.5f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.15f}, {"fEnvSustain", 0.4f}, {"fEnvRelease", 0.15f}, {"envAttack", 0.001f}, {"envDecay", 0.2f}, {"envSustain", 0.7f}, {"envRelease", 0.2f}, {"pan", 0}, {"drive", 2.0f}, {"masterLevel", 0.709}, {"pitchBendRange", 2}, {"distType", 2}, {"distAmount", 0.25f}, {"compThreshold", -19}, {"compRatio", 6}, {"compAttack", 2}, {"compRelease", 50}, {"compMakeup", 4}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 6.0f}, {"lfo1Depth", 0.3f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.2f}, {"lfo2Depth", 0.5f}, {"lfo2Shape", 2}, {"lfo2Dest", 0}, {"delayTime", 150}, {"delayFeedback", 0.3f}, {"delayMix", 0.15f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.4f}, {"reverbDamping", 0.5f}, {"reverbMix", 0.2f}}});
add("Comb Array", "FX", {{{"osc1Wave", 4}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.6f}, {"osc2Wave", 4}, {"osc2Oct", 1}, {"osc2Semi", 0}, {"osc2Fine", 0}, {"osc2Level", 0.4f}, {"phaseOffset", 0.5f}, {"filterType", 1}, {"filterCutoff", 600}, {"filterRes", 0.9f}, {"filterEnvAmt", 0.7f}, {"keyTrack", 0.0f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.2f}, {"fEnvSustain", 0.4f}, {"fEnvRelease", 0.2f}, {"envAttack", 0.001f}, {"envDecay", 0.3f}, {"envSustain", 0.6f}, {"envRelease", 0.3f}, {"pan", 0}, {"drive", 1.8f}, {"masterLevel", 0.933f}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0}, {"compThreshold", -16}, {"compRatio", 4}, {"compAttack", 3}, {"compRelease", 60}, {"compMakeup", 3}, {"autoPanRate", 0.3f}, {"autoPanDepth", 0.5f}, {"autoPanPhase", 0}, {"lfo1Rate", 3.0f}, {"lfo1Depth", 0.4f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.1f}, {"lfo2Depth", 0.3f}, {"lfo2Shape", 1}, {"lfo2Dest", 0}, {"delayTime", 300}, {"delayFeedback", 0.5f}, {"delayMix", 0.3f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 1}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.5f}, {"reverbDamping", 0.4f}, {"reverbMix", 0.25f}}});
@ -1524,7 +1524,7 @@ private:
{"reverbSize", 0.5f}, {"reverbDamping", 0.3f}, {"reverbMix", 0.22f}
});
add("Acid Emitter", "Lead", {{{"osc1Wave", 1}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.85f}, {"osc2Wave", 1}, {"osc2Oct", 0}, {"osc2Semi", 12}, {"osc2Fine", 0}, {"osc2Level", 0.4f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 800}, {"filterRes", 0.95f}, {"filterEnvAmt", 0.95f}, {"keyTrack", 0.4f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.2f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.15f}, {"envAttack", 0.001f}, {"envDecay", 0.18f}, {"envSustain", 0.6f}, {"envRelease", 0.2f}, {"pan", 0}, {"drive", 2.6f}, {"masterLevel", 0.585}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0}, {"compThreshold", -12}, {"compRatio", 5}, {"compAttack", 1}, {"compRelease", 30}, {"compMakeup", 4}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 4.0f}, {"lfo1Depth", 0.3f}, {"lfo1Shape", 2}, {"lfo1Dest", 0}, {"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 130}, {"delayFeedback", 0.25f}, {"delayMix", 0.12f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.2f}, {"reverbDamping", 0.7f}, {"reverbMix", 0.08f}}});
add("Acid Emitter", "Lead", {{{"osc1Wave", 1}, {"osc1Oct", 0}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.85f}, {"osc2Wave", 1}, {"osc2Oct", 0}, {"osc2Semi", 12}, {"osc2Fine", 0}, {"osc2Level", 0.4f}, {"phaseOffset", 0.5f}, {"filterType", 0}, {"filterCutoff", 800}, {"filterRes", 0.95f}, {"filterEnvAmt", 0.95f}, {"keyTrack", 0.4f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.2f}, {"fEnvSustain", 0.0f}, {"fEnvRelease", 0.15f}, {"envAttack", 0.001f}, {"envDecay", 0.18f}, {"envSustain", 0.6f}, {"envRelease", 0.2f}, {"pan", 0}, {"drive", 2.6f}, {"masterLevel", 0.585}, {"pitchBendRange", 2}, {"distType", 0}, {"distAmount", 0.31f}, {"compThreshold", -17}, {"compRatio", 6}, {"compAttack", 1}, {"compRelease", 30}, {"compMakeup", 4}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 4.0f}, {"lfo1Depth", 0.3f}, {"lfo1Shape", 2}, {"lfo1Dest", 0}, {"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0}, {"delayTime", 130}, {"delayFeedback", 0.25f}, {"delayMix", 0.12f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 1}, {"delayBeat", 4}, {"reverbSize", 0.2f}, {"reverbDamping", 0.7f}, {"reverbMix", 0.08f}}});
add("Deep Cell", "Bass", {
{"osc1Wave", 1}, {"osc1Oct", -2}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.85f},
@ -1545,7 +1545,7 @@ private:
{"reverbSize", 0.15f}, {"reverbDamping", 0.8f}, {"reverbMix", 0.05f}
});
add("Neural Drain", "Bass", {{{"osc1Wave", 1}, {"osc1Oct", -2}, {"osc1Semi", 0}, {"osc1Fine", -10}, {"osc1Level", 0.9f}, {"osc2Wave", 2}, {"osc2Oct", -1}, {"osc2Semi", 5}, {"osc2Fine", 14}, {"osc2Level", 0.6f}, {"phaseOffset", 0.3f}, {"filterType", 1}, {"filterCutoff", 300}, {"filterRes", 0.9f}, {"filterEnvAmt", 0.95f}, {"keyTrack", 0.2f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.12f}, {"fEnvSustain", 0.1f}, {"fEnvRelease", 0.1f}, {"envAttack", 0.001f}, {"envDecay", 0.2f}, {"envSustain", 0.5f}, {"envRelease", 0.15f}, {"pan", 0}, {"drive", 4.0f}, {"masterLevel", 0.449}, {"pitchBendRange", 2}, {"distType", 3}, {"distAmount", 0}, {"compThreshold", -10}, {"compRatio", 8}, {"compAttack", 1}, {"compRelease", 25}, {"compMakeup", 6}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 5.0f}, {"lfo1Depth", 0.5f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.2f}, {"lfo2Depth", 0.3f}, {"lfo2Shape", 2}, {"lfo2Dest", 0}, {"delayTime", 80}, {"delayFeedback", 0.3f}, {"delayMix", 0.12f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.1f}, {"reverbDamping", 0.9f}, {"reverbMix", 0.03f}}});
add("Neural Drain", "Bass", {{{"osc1Wave", 1}, {"osc1Oct", -2}, {"osc1Semi", 0}, {"osc1Fine", -10}, {"osc1Level", 0.9f}, {"osc2Wave", 2}, {"osc2Oct", -1}, {"osc2Semi", 5}, {"osc2Fine", 14}, {"osc2Level", 0.6f}, {"phaseOffset", 0.3f}, {"filterType", 1}, {"filterCutoff", 300}, {"filterRes", 0.9f}, {"filterEnvAmt", 0.95f}, {"keyTrack", 0.2f}, {"fEnvAttack", 0.001f}, {"fEnvDecay", 0.12f}, {"fEnvSustain", 0.1f}, {"fEnvRelease", 0.1f}, {"envAttack", 0.001f}, {"envDecay", 0.2f}, {"envSustain", 0.5f}, {"envRelease", 0.15f}, {"pan", 0}, {"drive", 4.0f}, {"masterLevel", 0.449}, {"pitchBendRange", 2}, {"distType", 3}, {"distAmount", 0.45f}, {"compThreshold", -15}, {"compRatio", 10}, {"compAttack", 1}, {"compRelease", 25}, {"compMakeup", 6}, {"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0}, {"lfo1Rate", 5.0f}, {"lfo1Depth", 0.5f}, {"lfo1Shape", 0}, {"lfo1Dest", 0}, {"lfo2Rate", 0.2f}, {"lfo2Depth", 0.3f}, {"lfo2Shape", 2}, {"lfo2Dest", 0}, {"delayTime", 80}, {"delayFeedback", 0.3f}, {"delayMix", 0.12f}, {"lfo1Sync", 1}, {"lfo1Beat", 4}, {"lfo2Sync", 0}, {"lfo2Beat", 4}, {"delaySync", 0}, {"delayBeat", 4}, {"reverbSize", 0.1f}, {"reverbDamping", 0.9f}, {"reverbMix", 0.03f}}});
add("Prism Wash", "Pad", {
{"osc1Wave", 0}, {"osc1Oct", 1}, {"osc1Semi", 0}, {"osc1Fine", 0}, {"osc1Level", 0.45f},
@ -1646,8 +1646,8 @@ private:
{"envAttack", 0.005f}, {"envDecay", 0.25f}, {"envSustain", 0.8f}, {"envRelease", 0.2f},
{"pan", 0}, {"drive", 2.5f}, {"masterLevel", 0.686},
{"pitchBendRange", 2},
{"distType", 0}, {"distAmount", 0},
{"compThreshold", -12}, {"compRatio", 5}, {"compAttack", 2}, {"compRelease", 40}, {"compMakeup", 4},
{"distType", 0}, {"distAmount", 0.3f},
{"compThreshold", -17}, {"compRatio", 6}, {"compAttack", 2}, {"compRelease", 40}, {"compMakeup", 4},
{"autoPanRate", 0}, {"autoPanDepth", 0}, {"autoPanPhase", 0},
{"lfo1Rate", 4.0f}, {"lfo1Depth", 0.2f}, {"lfo1Shape", 0}, {"lfo1Dest", 0},
{"lfo2Rate", 0}, {"lfo2Depth", 0}, {"lfo2Shape", 0}, {"lfo2Dest", 0},