diff --git a/Source/PluginProcessor.cpp b/Source/PluginProcessor.cpp index 6831686..3eeb696 100644 --- a/Source/PluginProcessor.cpp +++ b/Source/PluginProcessor.cpp @@ -72,7 +72,7 @@ public: if (doChorus) { - // 3-voice ensemble with a touch of internal regeneration + // 3-voice ensemble chorus const double w = chPh * 2.0 * juce::MathConstants::pi; const float t1 = (float) std::sin (w); const float t2 = (float) std::sin (w + 2.09439f); @@ -85,8 +85,6 @@ public: + chorusL.popSample (0, chBase + chDepth * t2)); const float mR = 0.5f * (chorusR.popSample (0, chBase + chDepth * t2) + chorusR.popSample (0, chBase + chDepth * t3)); - chorusL.pushSample (0, mL * 0.30f); - chorusR.pushSample (0, mR * 0.30f); outL += mL * wet * 0.8f; outR += mR * wet * 0.8f; } @@ -107,20 +105,20 @@ public: float revL = 0.0f, revR = 0.0f; for (int i = 0; i < 6; ++i) { - float o = combL[i].process (inL * 0.25f, 0.84f, 0.30f); + float o = combL[i].process (inL * 0.25f, 0.78f, 0.55f); revL += o * 0.22f; - o = combR[i].process (inR * 0.25f, 0.84f, 0.30f); + o = combR[i].process (inR * 0.25f, 0.78f, 0.55f); revR += o * 0.22f; } apL[0].process (revL, 0.70f); apL[1].process (revL, 0.57f); apR[0].process (revR, 0.70f); apR[1].process (revR, 0.57f); - const float revWet = (type == 7 ? wet : wet * 0.8f); + const float revWet = wet * 0.8f; outL += revL * revWet; outR += revR * revWet; } - L[s] = outL; - R[s] = outR; + L[s] = std::tanh (outL * 0.85f); + R[s] = std::tanh (outR * 0.85f); } } @@ -533,7 +531,7 @@ void RMX19AudioProcessor::processBlock (juce::AudioBuffer& buffer, juce:: { float x = ch[s]; // Soft knee limiting at ~-1dBFS with smooth tanh curve - x = std::tanh (x * 0.89f) * 1.12f; + x = std::tanh (x * 0.89f); if (! std::isfinite (x)) x = 0.0f; ch[s] = juce::jlimit (-1.0f, 1.0f, x); } @@ -576,7 +574,7 @@ void RMX19AudioProcessor::processBlock (juce::AudioBuffer& buffer, juce:: for (int s = 0; s < numSamples; ++s) { float x = ch[s]; - x = std::tanh (x * 0.89f) * 1.12f; + x = std::tanh (x * 0.89f); if (! std::isfinite (x)) x = 0.0f; ch[s] = juce::jlimit (-1.0f, 1.0f, x); } diff --git a/Source/PresetBank.cpp b/Source/PresetBank.cpp index f25dddd..e42cf19 100644 --- a/Source/PresetBank.cpp +++ b/Source/PresetBank.cpp @@ -26,7 +26,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 0, 0.00, 0.50, 0.30} }, +10, 0, 0.00, 0.00, 0.00} }, // 2 Glass Pad { "Glass Pad", "POLY PAD", { O_TRI, O_TRI, 12, 60, 1, 1400, 0.55f, 75, 30, 0.80f, 1.8f, 0.90f, 1.60f, @@ -35,7 +35,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 1, 0.38, 0.50, 0.30} }, +10, 1, 0.38, 0.00, 0.00} }, // 3 Dream Pad { "Dream Pad", "POLY PAD", { O_SUP, O_SUP, -7, 50, 1, 3000, 0.25f, 70, 40, 1.10f, 2.4f, 0.85f, 1.80f, @@ -44,7 +44,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 0.40f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 0, 0.00, 0.50, 0.30} }, +10, 0, 0.00, 0.00, 0.00} }, // 15 Choir Layered { "Choir Layered", "POLY PAD",{ O_SUP, O_PUL, 9, 48, 1, 2600, 0.14f, 62, 45, 0.35f, 0.80f, 0.85f, 1.10f, @@ -53,7 +53,7 @@ static const Patch defs[] = { 7, 0.50, 0.28, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0.00, 0.50, 0.30} }, +8, 0, 0.00, 0.00, 0.00} }, // 17 Shimmer Pad { "Shimmer Pad", "POLY PAD", { O_CHD, O_SUP, 14, 55, 1, 1800, 0.50f, 60, 20, 0.50f, 2.0f, 0.85f, 2.0f, @@ -62,7 +62,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 1, 0.51, 0.50, 0.30} }, +10, 1, 0.51, 0.00, 0.00} }, // 25 Deep Space Pad { "Deep Space Pad","POLY PAD", { O_DSW, O_SAW, 16, 60, 1, 1500, 0.45f, 70, 35, 0.90f, 2.4f, 0.85f, 2.2f, @@ -71,7 +71,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 1, 0.51, 0.50, 0.30} }, +10, 1, 0.51, 0.00, 0.00} }, // 34 Space Choir { "Space Choir", "POLY PAD", { O_SUP, O_TRI, 12, 50, 1, 2400, 0.35f, 65, 45, 0.45f, 1.4f, 0.82f, 1.7f, @@ -80,7 +80,7 @@ static const Patch defs[] = { 7, 0.50, 0.28, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 1, 0.47, 0.50, 0.30} }, +8, 1, 0.47, 0.00, 0.00} }, // 39 Crystal Pad { "Crystal Pad", "POLY PAD", { O_TNE, O_SIN, 18, 55, 1, 3600, 0.40f, 50, 25, 0.60f, 2.2f, 0.85f, 2.0f, @@ -89,7 +89,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 1, 0.48, 0.50, 0.30} }, +10, 1, 0.48, 0.00, 0.00} }, // 41 Infinite Pad { "Infinite Pad", "POLY PAD", { O_PWM, O_PWM, 20, 50, 1, 1800, 0.30f, 75, 35, 2.0f, 3.5f, 0.90f, 4.0f, @@ -98,7 +98,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 0.85f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 0, 0.00, 0.50, 0.30} }, +10, 0, 0.00, 0.00, 0.00} }, // 42 Nebula { "Nebula", "POLY PAD", { O_TRI, O_PUL, 15, 55, 1, 2000, 0.25f, 65, 30, 1.8f, 3.0f, 0.88f, 3.5f, @@ -107,7 +107,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 0.99f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 0, 0.00, 0.50, 0.30} }, +10, 0, 0.00, 0.00, 0.00} }, // 43 Cathedral Pad { "Cathedral Pad","POLY PAD", { O_CHD, O_SAW, 12, 45, 2, 1600, 0.45f, 80, 40, 2.5f, 4.0f, 0.92f, 5.0f, @@ -116,7 +116,7 @@ static const Patch defs[] = { 7, 0.40, 0.40, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0.00, 0.50, 0.30} }, +6, 0, 0.00, 0.00, 0.00} }, // 45 Monolith { "Monolith", "POLY PAD", { O_SIN, O_SIN, 0, 50, 1, 320, 0.25f, 40, 15, 2.0f, 3.0f, 0.88f, 4.5f, @@ -125,7 +125,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 0.92f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 0, 0.00, 0.50, 0.30} }, +10, 0, 0.00, 0.00, 0.00} }, // 46 Quantum Drift { "Quantum Drift","POLY PAD", { O_SEQ, O_SAW, 22, 48, 2, 2200, 0.40f, 70, 30, 0.80f, 2.2f, 0.88f, 3.0f, @@ -134,7 +134,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 0.87f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 0, 0.00, 0.50, 0.30} }, +10, 0, 0.00, 0.00, 0.00} }, // 47 Horizon { "Horizon", "POLY PAD", { O_TRI, O_SUP, 4, 50, 1, 1800, 0.20f, 65, 35, 1.5f, 2.8f, 0.90f, 3.5f, @@ -143,7 +143,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 0, 0.00, 0.50, 0.30} }, +10, 0, 0.00, 0.00, 0.00} }, // 52 Abyss { "Abyss", "POLY PAD", { O_DSW, O_TRI, 14, 50, 1, 1200, 0.35f, 80, 30, 2.5f, 3.5f, 0.90f, 5.0f, @@ -152,7 +152,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 0.98f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 0, 0.00, 0.50, 0.30} }, +10, 0, 0.00, 0.00, 0.00} }, // 53 Shimmer Reverb { "Shimmer Reverb","POLY PAD",{ O_CHD, O_SIN, 8, 55, 2, 3400, 0.50f, 75, 25, 3.0f, 4.0f, 0.92f, 5.5f, @@ -161,7 +161,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 1, 0.44, 0.50, 0.30} }, +10, 1, 0.44, 0.00, 0.00} }, // 54 Temple { "Temple", "POLY PAD", { O_PUL, O_SAW, 6, 48, 1, 1600, 0.30f, 70, 35, 2.0f, 3.0f, 0.88f, 4.5f, @@ -170,7 +170,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 0.94f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 0, 0.00, 0.50, 0.30} }, +10, 0, 0.00, 0.00, 0.00} }, // 55 Silk Pad { "Silk Pad", "POLY PAD", { O_PWM, O_TRI, 6, 55, 1, 3400, 0.20f, 55, 25, 1.2f, 2.5f, 0.90f, 3.0f, @@ -179,7 +179,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 0, 0.00, 0.50, 0.30} }, +10, 0, 0.00, 0.00, 0.00} }, // 56 Glass Cloud { "Glass Cloud", "POLY PAD", { O_TNE, O_TRI, 16, 50, 1, 3800, 0.35f, 65, 20, 1.5f, 2.8f, 0.88f, 3.5f, @@ -188,7 +188,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 1, 0.51, 0.50, 0.30} }, +10, 1, 0.51, 0.00, 0.00} }, // 57 Velvet Pad { "Velvet Pad", "POLY PAD", { O_PWM, O_TRI, 10, 52, 1, 1600, 0.25f, 70, 30, 1.8f, 3.0f, 0.90f, 3.5f, @@ -197,7 +197,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 0.77f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 0, 0.00, 0.50, 0.30} }, +10, 0, 0.00, 0.00, 0.00} }, // == KEY =============================================================== // 5 Electric Piano { "Electric Piano", "KEY", { O_PUL, O_TRI, 5, 62, 1, 2800, 0.25f, 45, 40, @@ -207,7 +207,7 @@ static const Patch defs[] = { 4, 0.30, 0.32, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -4, 1, 0.37, 0.30, 0.18} }, +4, 1, 0.37, 0.00, 0.00} }, // 6 Acoustic Piano { "Acoustic Piano", "KEY", { O_SAW, O_TRI, 3, 55, 1, 5200, 0.18f, 30, 60, 0.003f, 2.2f, 0.25f, 0.50f, @@ -216,7 +216,7 @@ static const Patch defs[] = { 4, 0.30, 0.32, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -4, 1, 0.41, 0.30, 0.18} }, +4, 1, 0.41, 0.00, 0.00} }, // 7 Toy Piano { "Toy Piano", "KEY", { O_TNE, O_PUL, 0, 70, 1, 2100, 0.50f, 30, 45, 0.002f, 0.35f, 0.0f, 0.18f, @@ -225,7 +225,7 @@ static const Patch defs[] = { 4, 0.30, 0.32, 0.90f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -4, 1, 0.53, 0.30, 0.18} }, +4, 1, 0.53, 0.00, 0.00} }, // 8 Clavinet 70 { "Clavinet 70", "KEY", { O_WRP, O_PUL, 0, 40, 1, 1500, 0.40f, 60, 30, 0.002f, 0.50f, 0.45f, 0.12f, @@ -234,7 +234,7 @@ static const Patch defs[] = { 4, 0.30, 0.32, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0.00, 0.30, 0.18} }, +4, 0, 0.00, 0.00, 0.00} }, // 9 Organ Drawbar { "Organ Drawbar", "KEY", { O_CHD, O_SAW, 0, 50, 1, 10000, 0.10f, 20, 80, 0.010f, 0.10f, 0.98f, 0.10f, @@ -243,7 +243,7 @@ static const Patch defs[] = { 7, 0.40, 0.40, 0.72f, 0.0f, 8, 0.0f, 0, 0, 0, 0, 0, 0, 0, -6, 2, 0.39, 0.30, 0.18} }, +6, 2, 0.39, 0.00, 0.00} }, // 10 FM E.Piano { "FM E.Piano", "KEY", { O_FM, O_FM, 0, 30, 1, 4000, 0.12f, 50, 50, 0.002f, 1.0f, 0.50f, 0.30f, @@ -252,7 +252,7 @@ static const Patch defs[] = { 4, 0.30, 0.32, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -4, 1, 0.42, 0.30, 0.18} }, +4, 1, 0.42, 0.00, 0.00} }, // 19 Church Bell { "Church Bell", "KEY", { O_TNE, O_SIN, 0, 40, 1, 3200, 0.40f, 40, 30, 0.002f, 2.5f, 0.10f, 1.8f, @@ -261,7 +261,7 @@ static const Patch defs[] = { 7, 0.40, 0.40, 1.00f, 0.0f, 10, 0.0f, 0, 0, 0, 0, 0, 0, 0, -6, 1, 0.41, 0.30, 0.18} }, +6, 1, 0.41, 0.00, 0.00} }, // 20 E.Piano 2 { "E.Piano 2", "KEY", { O_TNE, O_TRI, 4, 58, 1, 2500, 0.30f, 40, 35, 0.003f, 1.2f, 0.40f, 0.5f, @@ -270,7 +270,7 @@ static const Patch defs[] = { 4, 0.30, 0.32, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -4, 1, 0.44, 0.30, 0.18} }, +4, 1, 0.44, 0.00, 0.00} }, // 26 Liquid Keys { "Liquid Keys", "KEY", { O_PWM, O_TRI, 8, 55, 1, 2800, 0.30f, 55, 30, 0.30f, 1.6f, 0.60f, 0.90f, @@ -279,7 +279,7 @@ static const Patch defs[] = { 4, 0.30, 0.32, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0.00, 0.30, 0.18} }, +4, 0, 0.00, 0.00, 0.00} }, // 29 Glassy Chime { "Glassy Chime", "KEY", { O_TNE, O_TRI, 20, 65, 1, 4200, 0.35f, 35, 40, 0.005f, 2.0f, 0.30f, 1.6f, @@ -288,7 +288,7 @@ static const Patch defs[] = { 4, 0.30, 0.32, 1.00f, 0.0f, 10, 0.0f, 0, 0, 0, 0, 0, 0, 0, -4, 1, 0.41, 0.30, 0.18} }, +4, 1, 0.41, 0.00, 0.00} }, // 30 Chorus Organ { "Chorus Organ", "KEY", { O_SPL, O_SPL, 0, 42, 1, 8000, 0.14f, 30, 75, 0.010f, 0.10f, 0.95f, 0.12f, @@ -297,7 +297,7 @@ static const Patch defs[] = { 7, 0.40, 0.40, 0.74f, 0.0f, 8, 0.0f, 0, 0, 0, 0, 0, 0, 0, -6, 0, 0.00, 0.30, 0.18} }, +6, 0, 0.00, 0.00, 0.00} }, // 35 Retro Clav { "Retro Clav", "KEY", { O_PUL, O_TRI, 2, 55, 1, 2600, 0.35f, 40, 35, 0.003f, 0.60f, 0.40f, 0.15f, @@ -306,7 +306,7 @@ static const Patch defs[] = { 4, 0.30, 0.32, 1.00f, 0.0f, 10, 0.0f, 0, 0, 0, 0, 0, 0, 0, -4, 0, 0.00, 0.30, 0.18} }, +4, 0, 0.00, 0.00, 0.00} }, // 40 Funk Wah { "Funk Wah", "KEY", { O_PUL, O_SAW, 0, 40, 1, 1800, 0.55f, 75, 20, 0.004f, 0.70f, 0.50f, 0.20f, @@ -315,7 +315,7 @@ static const Patch defs[] = { 4, 0.30, 0.32, 1.00f, 0.0f, 1, 0.03f, 0, 0, 0, 0, 0, 0, 0, -4, 2, 0.30, 0.30, 0.18} }, +4, 2, 0.30, 0.00, 0.00} }, // == BASS ============================================================== // 11 Analog Bass { "Analog Bass", "BASS", { O_PUL, O_SIN, 0, 80, 1, 700, 0.35f, 35, 10, @@ -325,7 +325,7 @@ static const Patch defs[] = { 2, 0.16, 0.19, 1.00f, 0.0f, 1, 0.04f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.39, 0.45, 0.35} }, +0, 2, 0.39, 0.00, 0.00} }, // 12 Sub Rez Bass { "Sub Rez Bass", "BASS", { O_DSW, O_PUL, -4, 45, 1, 520, 0.70f, 55, 15, 0.004f, 0.40f, 0.70f, 0.10f, @@ -334,7 +334,7 @@ static const Patch defs[] = { 2, 0.16, 0.19, 0.75f, 0.0f, 1, 0.03f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.45, 0.60, 0.45} }, +0, 2, 0.45, 0.00, 0.00} }, // 21 Acid Bass { "Acid Bass", "BASS", { O_SAW, O_PUL, 0, 72, 1, 650, 0.60f, 70, 0, 0.002f, 0.30f, 0.75f, 0.15f, @@ -343,7 +343,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 0.85f, 0.0f, 1, 0.04f, 0, 0, 0, 0, 0, 0, 0, -3, 2, 0.35, 0.50, 0.35} }, +3, 2, 0.35, 0.00, 0.00} }, // 22 Analog Bass II { "Analog Bass II", "BASS", { O_HSY, O_SIN, 0, 82, 1, 420, 0.40f, 45, 20, 0.002f, 0.25f, 0.80f, 0.12f, @@ -352,7 +352,7 @@ static const Patch defs[] = { 2, 0.16, 0.19, 0.87f, 0.0f, 1, 0.08f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.36, 0.45, 0.35} }, +0, 2, 0.36, 0.00, 0.00} }, // 33 Sine Sub Bass { "Sine Sub Bass","BASS", { O_SIN, O_SIN, 0, 100, 1, 380, 0.20f, 55, 10, 0.003f, 0.35f, 0.85f, 0.10f, @@ -361,7 +361,7 @@ static const Patch defs[] = { 2, 0.16, 0.19, 0.92f, 0.0f, 1, 0.05f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.38, 0.45, 0.35} }, +0, 2, 0.38, 0.00, 0.00} }, // == LEAD ============================================================== // 13 Saw Lead { "Saw Lead", "LEAD", { O_SAW, O_SAW, 14, 50, 1, 3800, 0.25f, 30, 60, @@ -371,7 +371,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 1.00f, 0.0f, 1, 0.06f, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0.00, 0.35, 0.25} }, +5, 0, 0.00, 0.00, 0.00} }, // 14 Mr. Square { "Mr. Square", "LEAD", { O_SPL, O_SPL, 7, 60, 1, 2400, 0.22f, 20, 70, 0.003f, 0.25f, 0.72f, 0.18f, @@ -380,7 +380,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 1.00f, 0.0f, 1, 0.05f, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0.00, 0.35, 0.25} }, +5, 0, 0.00, 0.00, 0.00} }, // 16 8bit Chiptune { "8bit Chiptune", "LEAD", { O_SPL, O_PUL, 0, 30, 1, 9000, 0.10f, 10, 70, 0.003f, 0.12f, 0.90f, 0.12f, @@ -389,7 +389,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 0.97f, 0.0f, 6, 0.0f, 0, 0, 0, 0, 0, 0, 0, -5, 2, 0.31, 0.35, 0.25} }, +5, 2, 0.31, 0.00, 0.00} }, // 23 Detuned Lead { "Detuned Lead", "LEAD", { O_SUP, O_SAW, 18, 45, 1, 4100, 0.20f, 35, 60, 0.004f, 0.22f, 0.85f, 0.16f, @@ -398,7 +398,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 0.95f, 0.0f, 1, 0.05f, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0.00, 0.35, 0.25} }, +5, 0, 0.00, 0.00, 0.00} }, // 24 Square Lead { "Square Lead", "LEAD", { O_PUL, O_PUL, 10, 55, 1, 5200, 0.25f, 30, 65, 0.004f, 0.35f, 0.72f, 0.20f, @@ -407,7 +407,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 1.00f, 0.0f, 1, 0.06f, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0.00, 0.35, 0.25} }, +5, 0, 0.00, 0.00, 0.00} }, // 28 Octave Lead { "Octave Lead", "LEAD", { O_DSW, O_PUL, 0, 45, 1, 4200, 0.20f, 25, 65, 0.004f, 0.28f, 0.78f, 0.18f, @@ -416,7 +416,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 1.00f, 0.0f, 1, 0.05f, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0.00, 0.35, 0.25} }, +5, 0, 0.00, 0.00, 0.00} }, // 32 Pulse Echo { "Pulse Echo", "LEAD", { O_PUL, O_PUL, 0, 35, 1, 6000, 0.18f, 15, 60, 0.005f, 0.32f, 0.70f, 0.20f, @@ -425,7 +425,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 1.00f, 0.0f, 1, 0.04f, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0.00, 0.35, 0.25} }, +5, 0, 0.00, 0.00, 0.00} }, // 37 Echo Flute { "Echo Flute", "LEAD", { O_TRI, O_SIN, 0, 85, 1, 3000, 0.15f, 20, 55, 0.05f, 0.50f, 0.75f, 0.25f, @@ -434,7 +434,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 1.00f, 0.0f, 1, 0.06f, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0.00, 0.35, 0.25} }, +5, 0, 0.00, 0.00, 0.00} }, // 48 Delay Garden { "Delay Garden", "LEAD", { O_SUP, O_PUL, 12, 50, 1, 3200, 0.20f, 55, 40, 0.005f, 0.40f, 0.75f, 0.30f, @@ -443,7 +443,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 1.00f, 0.0f, 1, 0.06f, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0.00, 0.35, 0.25} }, +5, 0, 0.00, 0.00, 0.00} }, // 49 Cosmic Echo { "Cosmic Echo", "LEAD", { O_TNE, O_TRI, 0, 70, 1, 2600, 0.30f, 50, 35, 0.015f, 0.50f, 0.70f, 0.40f, @@ -452,7 +452,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 1.00f, 0.0f, 1, 0.05f, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0.00, 0.35, 0.25} }, +5, 0, 0.00, 0.00, 0.00} }, // 50 Stellar Delay { "Stellar Delay", "LEAD", { O_HSY, O_PUL, 10, 45, 1, 2800, 0.35f, 50, 35, 0.008f, 0.45f, 0.72f, 0.35f, @@ -461,7 +461,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 1.00f, 0.0f, 1, 0.05f, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0.00, 0.35, 0.25} }, +5, 0, 0.00, 0.00, 0.00} }, // 51 Pulse Train { "Pulse Train", "LEAD", { O_PWM, O_PWM, 0, 60, 1, 4000, 0.25f, 45, 55, 0.005f, 0.35f, 0.80f, 0.25f, @@ -470,7 +470,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 0.72f, 0.0f, 1, 0.04f, 0, 0, 0, 0, 0, 0, 0, -5, 0, 0.00, 0.35, 0.25} }, +5, 0, 0.00, 0.00, 0.00} }, // == STRINGS =========================================================== // 4 Movie Strings { "Movie Strings", "STRINGS", { O_SAW, O_SAW, 6, 45, 1, 2200, 0.15f, 65, 55, @@ -480,7 +480,7 @@ static const Patch defs[] = { 5, 0.36, 0.30, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0.00, 0.55, 0.28} }, +8, 0, 0.00, 0.00, 0.00} }, // 18 Strings Ensemble { "Strings Ens.", "STRINGS", { O_SUP, O_SUP, 8, 58, 1, 3000, 0.10f, 65, 55, 0.25f, 1.2f, 0.82f, 1.8f, @@ -489,7 +489,7 @@ static const Patch defs[] = { 5, 0.36, 0.30, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0.00, 0.55, 0.28} }, +8, 0, 0.00, 0.00, 0.00} }, // 31 Night Strings { "Night Strings","STRINGS", { O_SAW, O_TRI, 10, 52, 0, 2600, 0.10f, 60, 50, 1.10f, 2.6f, 0.85f, 2.0f, @@ -498,7 +498,7 @@ static const Patch defs[] = { 5, 0.36, 0.30, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0.00, 0.55, 0.28} }, +8, 0, 0.00, 0.00, 0.00} }, // 36 High Strings { "High Strings", "STRINGS", { O_SUP, O_PUL, 6, 60, 1, 3400, 0.10f, 55, 60, 0.20f, 1.0f, 0.80f, 1.6f, @@ -507,7 +507,7 @@ static const Patch defs[] = { 5, 0.36, 0.30, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0.00, 0.55, 0.28} }, +8, 0, 0.00, 0.00, 0.00} }, // 44 Frozen Strings { "Frozen Strings","STRINGS", { O_SUP, O_PWM, 10, 55, 1, 2400, 0.12f, 60, 55, 0.20f, 1.0f, 0.80f, 1.6f, @@ -516,7 +516,7 @@ static const Patch defs[] = { 5, 0.36, 0.30, 0.70f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 1, 0.35, 0.55, 0.28} }, +8, 1, 0.35, 0.00, 0.00} }, // 58 Deep Strings { "Deep Strings", "STRINGS", { O_DSW, O_SAW, 12, 50, 1, 1800, 0.12f, 65, 50, 0.40f, 1.4f, 0.82f, 1.5f, @@ -525,7 +525,7 @@ static const Patch defs[] = { 5, 0.36, 0.30, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0.00, 0.55, 0.28} }, +8, 0, 0.00, 0.00, 0.00} }, // 59 Vinyl Strings { "Vinyl Strings","STRINGS", { O_SAW, O_TRI, 8, 48, 1, 2000, 0.15f, 60, 45, 0.35f, 1.2f, 0.78f, 1.4f, @@ -534,7 +534,7 @@ static const Patch defs[] = { 5, 0.36, 0.30, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0.00, 0.55, 0.28} }, +8, 0, 0.00, 0.00, 0.00} }, // 60 Brass Ensemble { "Brass Ens.", "STRINGS", { O_WRP, O_SAW, 5, 55, 1, 2600, 0.20f, 50, 50, 0.15f, 0.80f, 0.75f, 0.50f, @@ -543,7 +543,7 @@ static const Patch defs[] = { 5, 0.36, 0.30, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0.00, 0.55, 0.28} }, +8, 0, 0.00, 0.00, 0.00} }, // == DUB =============================================================== // 27 Techno Bass { "Techno Bass", "DUB", { O_DSW, O_PUL, 0, 88, 1, 480, 0.45f, 60, 10, @@ -553,7 +553,7 @@ static const Patch defs[] = { 6, 0.32, 0.30, 0.75f, 0.0f, 1, 0.03f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.42, 0.40, 0.25} }, +0, 2, 0.42, 0.00, 0.00} }, // 38 Dub Rez Bass { "Dub Rez Bass", "DUB", { O_SAW, O_PUL, -5, 60, 1, 500, 0.65f, 45, 5, 0.004f, 0.35f, 0.80f, 0.12f, @@ -562,7 +562,7 @@ static const Patch defs[] = { 6, 0.32, 0.30, 0.62f, 0.0f, 1, 0.05f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.40, 0.55, 0.40} }, +0, 2, 0.40, 0.00, 0.00} }, // 61 Dub Sub { "Dub Sub", "DUB", { O_SIN, O_SIN, 0, 100, 1, 350, 0.15f, 30, 15, 0.003f, 0.40f, 0.85f, 0.15f, @@ -571,7 +571,7 @@ static const Patch defs[] = { 6, 0.32, 0.30, 1.00f, 0.0f, 1, 0.04f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.33, 0.40, 0.25} }, +0, 2, 0.33, 0.00, 0.00} }, // 62 Dub Wobble { "Dub Wobble", "DUB", { O_SAW, O_PUL, 0, 75, 1, 400, 0.55f, 65, 20, 0.003f, 0.35f, 0.78f, 0.12f, @@ -580,7 +580,7 @@ static const Patch defs[] = { 6, 0.32, 0.30, 0.90f, 0.0f, 1, 0.03f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.50, 0.60, 0.45} }, +0, 2, 0.50, 0.00, 0.00} }, // 63 Dub Rumble { "Dub Rumble", "DUB", { O_HSY, O_SIN, -3, 65, 1, 380, 0.40f, 50, 10, 0.004f, 0.30f, 0.82f, 0.10f, @@ -589,7 +589,7 @@ static const Patch defs[] = { 6, 0.32, 0.30, 1.00f, 0.0f, 1, 0.04f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.30, 0.40, 0.25} }, +0, 2, 0.30, 0.00, 0.00} }, // 64 Dub Delay Bass { "Dub Delay Bs", "DUB", { O_PWM, O_SIN, 0, 78, 1, 420, 0.50f, 55, 15, 0.003f, 0.30f, 0.80f, 0.10f, @@ -598,7 +598,7 @@ static const Patch defs[] = { 6, 0.32, 0.30, 0.70f, 0.0f, 1, 0.03f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.30, 0.40, 0.25} }, +0, 2, 0.30, 0.00, 0.00} }, // == CHORDS ============================================================ // 65 Chord Stab { "Chord Stab", "CHORDS", { O_CHD, O_SAW, 6, 55, 1, 3200, 0.20f, 40, 30, @@ -608,7 +608,7 @@ static const Patch defs[] = { 5, 0.36, 0.30, 0.84f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 2, 0.33, 0.40, 0.20} }, +8, 2, 0.33, 0.00, 0.00} }, // 66 Super Chord { "Super Chord", "CHORDS", { O_SUP, O_SUP, 10, 50, 1, 2800, 0.18f, 45, 35, 0.004f, 0.25f, 0.0f, 0.12f, @@ -617,7 +617,7 @@ static const Patch defs[] = { 5, 0.36, 0.30, 0.84f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 2, 0.34, 0.40, 0.20} }, +8, 2, 0.34, 0.00, 0.00} }, // 67 Poly Brass { "Poly Brass", "CHORDS", { O_WRP, O_SAW, 8, 52, 1, 3000, 0.25f, 35, 40, 0.005f, 0.30f, 0.0f, 0.15f, @@ -626,7 +626,7 @@ static const Patch defs[] = { 5, 0.36, 0.30, 0.82f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0.00, 0.40, 0.20} }, +8, 0, 0.00, 0.00, 0.00} }, // 68 Saw Stack { "Saw Stack", "CHORDS", { O_SUP, O_SAW, 14, 55, 1, 2600, 0.15f, 50, 30, 0.003f, 0.18f, 0.0f, 0.08f, @@ -635,7 +635,7 @@ static const Patch defs[] = { 5, 0.36, 0.30, 0.82f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0.00, 0.40, 0.20} }, +8, 0, 0.00, 0.00, 0.00} }, // 69 Deep Chord { "Deep Chord", "CHORDS", { O_CHD, O_TRI, 4, 50, 1, 2200, 0.22f, 55, 35, 0.004f, 0.22f, 0.0f, 0.12f, @@ -644,7 +644,7 @@ static const Patch defs[] = { 5, 0.36, 0.30, 0.84f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 2, 0.30, 0.40, 0.20} }, +8, 2, 0.30, 0.00, 0.00} }, // 70 Synth Stab { "Synth Stab", "CHORDS", { O_PWM, O_SAW, 5, 58, 1, 3500, 0.30f, 35, 25, 0.003f, 0.15f, 0.0f, 0.08f, @@ -653,7 +653,7 @@ static const Patch defs[] = { 5, 0.36, 0.30, 0.86f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0.00, 0.40, 0.20} }, +8, 0, 0.00, 0.00, 0.00} }, // == SYNTH ============================================================= // 71 Poly Sync { "Poly Sync", "SYNTH", { O_HSY, O_HSY, 8, 55, 1, 3400, 0.25f, 40, 35, @@ -663,7 +663,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 1.00f, 0.0f, 10, 0.0f, 0, 0, 0, 0, 0, 0, 0, -5, 2, 0.25, 0.45, 0.30} }, +5, 2, 0.25, 0.00, 0.00} }, // 72 Dark Synth { "Dark Synth", "SYNTH", { O_DSW, O_SAW, 12, 48, 1, 2000, 0.35f, 60, 25, 0.008f, 0.35f, 0.70f, 0.20f, @@ -672,7 +672,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 1.00f, 0.0f, 10, 0.0f, 0, 0, 0, 0, 0, 0, 0, -5, 2, 0.25, 0.45, 0.30} }, +5, 2, 0.25, 0.00, 0.00} }, // 73 Bright Synth { "Bright Synth", "SYNTH", { O_HSY, O_TRI, 10, 50, 1, 4200, 0.15f, 30, 45, 0.004f, 0.25f, 0.80f, 0.15f, @@ -681,7 +681,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 1.00f, 0.0f, 10, 0.0f, 0, 0, 0, 0, 0, 0, 0, -5, 2, 0.25, 0.45, 0.30} }, +5, 2, 0.25, 0.00, 0.00} }, // 74 Mono Synth { "Mono Synth", "SYNTH", { O_PWM, O_SAW, 0, 60, 1, 3000, 0.30f, 45, 40, 0.003f, 0.22f, 0.78f, 0.15f, @@ -690,7 +690,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 0.83f, 0.0f, 1, 0.06f, 0, 0, 0, 0, 0, 0, 0, -5, 2, 0.25, 0.45, 0.30} }, +5, 2, 0.25, 0.00, 0.00} }, // 75 Retro Synth { "Retro Synth", "SYNTH", { O_SAW, O_PUL, 6, 52, 1, 2800, 0.22f, 38, 50, 0.005f, 0.28f, 0.72f, 0.18f, @@ -699,7 +699,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 1.00f, 0.0f, 10, 0.0f, 0, 0, 0, 0, 0, 0, 0, -5, 2, 0.25, 0.45, 0.30} }, +5, 2, 0.25, 0.00, 0.00} }, // 76 Sine Synth { "Sine Synth", "SYNTH", { O_FM, O_TRI, 4, 60, 1, 3600, 0.18f, 35, 30, 0.006f, 0.30f, 0.78f, 0.20f, @@ -708,7 +708,7 @@ static const Patch defs[] = { 3, 0.26, 0.22, 1.00f, 0.0f, 10, 0.0f, 0, 0, 0, 0, 0, 0, 0, -5, 2, 0.25, 0.45, 0.30} }, +5, 2, 0.25, 0.00, 0.00} }, // == ARP =============================================================== // 77 Arp Saw { "Arp Saw", "ARP", { O_SAW, O_SAW, 6, 55, 1, 3800, 0.20f, 35, 45, @@ -718,7 +718,7 @@ static const Patch defs[] = { 3, 0.24, 0.27, 1.00f, 0.0f, 10, 0.0f, 0, 0, 1, 2, 0, 2, 70, -4, 0, 0.00, 0.35, 0.20} }, +4, 0, 0.00, 0.00, 0.00} }, // 78 Arp Pulse { "Arp Pulse", "ARP", { O_PWM, O_PWM, 4, 58, 1, 3200, 0.25f, 40, 50, 0.004f, 0.12f, 0.65f, 0.06f, @@ -727,7 +727,7 @@ static const Patch defs[] = { 3, 0.24, 0.27, 0.87f, 0.0f, 10, 0.0f, 0, 0, 1, 2, 0, 2, 70, -4, 0, 0.00, 0.35, 0.20} }, +4, 0, 0.00, 0.00, 0.00} }, // 79 Arp Sine { "Arp Sine", "ARP", { O_SIN, O_TRI, 0, 70, 1, 4000, 0.15f, 30, 35, 0.003f, 0.10f, 0.60f, 0.05f, @@ -736,7 +736,7 @@ static const Patch defs[] = { 3, 0.24, 0.27, 1.00f, 0.0f, 10, 0.0f, 0, 0, 1, 1, 2, 2, 60, -4, 0, 0.00, 0.35, 0.20} }, +4, 0, 0.00, 0.00, 0.00} }, // 80 Arp Space { "Arp Space", "ARP", { O_TRI, O_SAW, 8, 52, 1, 3000, 0.22f, 45, 40, 0.005f, 0.18f, 0.70f, 0.10f, @@ -745,7 +745,7 @@ static const Patch defs[] = { 3, 0.24, 0.27, 1.00f, 0.0f, 10, 0.0f, 0, 0, 1, 4, 0, 2, 70, -4, 1, 0.51, 0.35, 0.20} }, +4, 1, 0.51, 0.00, 0.00} }, // 81 Arp Trance { "Arp Trance", "ARP", { O_SUP, O_SAW, 10, 50, 1, 3500, 0.18f, 40, 50, 0.004f, 0.12f, 0.72f, 0.08f, @@ -754,7 +754,7 @@ static const Patch defs[] = { 3, 0.24, 0.27, 1.00f, 0.0f, 10, 0.0f, 0, 0, 1, 2, 0, 3, 60, -4, 1, 0.35, 0.45, 0.30} }, +4, 1, 0.35, 0.00, 0.00} }, // 82 Arp Square { "Arp Square", "ARP", { O_SPL, O_SAW, 0, 65, 1, 3000, 0.30f, 35, 45, 0.003f, 0.10f, 0.65f, 0.05f, @@ -763,7 +763,7 @@ static const Patch defs[] = { 3, 0.24, 0.27, 0.91f, 0.0f, 10, 0.0f, 0, 0, 1, 2, 1, 2, 60, -4, 0, 0.00, 0.35, 0.20} }, +4, 0, 0.00, 0.00, 0.00} }, // 83 Arp Pluck { "Arp Pluck", "ARP", { O_WRP, O_TRI, 3, 60, 1, 3200, 0.18f, 30, 40, 0.002f, 0.08f, 0.55f, 0.04f, @@ -772,7 +772,7 @@ static const Patch defs[] = { 3, 0.24, 0.27, 1.00f, 0.0f, 10, 0.0f, 0, 0, 1, 1, 2, 2, 50, -4, 0, 0.00, 0.35, 0.20} }, +4, 0, 0.00, 0.00, 0.00} }, // 84 Moon Pad { "Moon Pad", "POLY PAD", { O_SUP, O_TRI, 14, 55, 1, 2200, 0.30f, 55, 25, 1.5f, 2.8f, 0.88f, 3.2f, @@ -781,7 +781,7 @@ static const Patch defs[] = { 5, 0.40, 0.30, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -10, 1, 0.36, 0.50, 0.30} }, +10, 1, 0.36, 0.00, 0.00} }, // 85 Orchestral { "Orchestral", "STRINGS", { O_SUP, O_SAW, 8, 55, 1, 2400, 0.12f, 60, 55, 0.30f, 1.1f, 0.80f, 1.8f, @@ -790,7 +790,7 @@ static const Patch defs[] = { 5, 0.36, 0.30, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0.00, 0.55, 0.28} }, +8, 0, 0.00, 0.00, 0.00} }, // 86 Arp Bubble { "Arp Bubble", "ARP", { O_TRI, O_SIN, 0, 70, 1, 3800, 0.12f, 25, 30, 0.002f, 0.08f, 0.55f, 0.04f, @@ -799,7 +799,7 @@ static const Patch defs[] = { 3, 0.24, 0.27, 1.00f, 0.0f, 10, 0.0f, 0, 0, 1, 1, 3, 2, 50, -4, 0, 0.00, 0.35, 0.20} }, +4, 0, 0.00, 0.00, 0.00} }, // 87 Arp Pyramid { "Arp Pyramid", "ARP", { O_PUL, O_SAW, 0, 62, 1, 3000, 0.25f, 30, 45, 0.003f, 0.10f, 0.60f, 0.05f, @@ -808,7 +808,7 @@ static const Patch defs[] = { 3, 0.24, 0.27, 1.00f, 0.0f, 10, 0.0f, 0, 0, 1, 3, 2, 3, 60, -4, 0, 0.00, 0.35, 0.20} }, +4, 0, 0.00, 0.00, 0.00} }, // 88 Arp Sweep { "Arp Sweep", "ARP", { O_SUP, O_SAW, 8, 55, 1, 3400, 0.20f, 45, 35, 0.004f, 0.15f, 0.68f, 0.08f, @@ -817,7 +817,7 @@ static const Patch defs[] = { 3, 0.24, 0.27, 1.00f, 0.0f, 10, 0.0f, 0, 0, 1, 4, 0, 2, 65, -4, 0, 0.00, 0.35, 0.20} }, +4, 0, 0.00, 0.00, 0.00} }, // 89 Arp Chimes { "Arp Chimes", "ARP", { O_TNE, O_TNE, 12, 60, 1, 4200, 0.25f, 35, 30, 0.002f, 0.06f, 0.50f, 0.03f, @@ -826,7 +826,7 @@ static const Patch defs[] = { 3, 0.24, 0.27, 1.00f, 0.0f, 10, 0.0f, 0, 0, 1, 2, 2, 2, 45, -4, 1, 0.39, 0.35, 0.20} }, +4, 1, 0.39, 0.00, 0.00} }, // 90 Arp Midnight { "Arp Midnight", "ARP", { O_PUL, O_PUL, 6, 55, 1, 2600, 0.30f, 40, 40, 0.004f, 0.12f, 0.62f, 0.06f, @@ -835,7 +835,7 @@ static const Patch defs[] = { 3, 0.24, 0.27, 0.92f, 0.0f, 10, 0.0f, 0, 0, 1, 2, 1, 2, 55, -4, 2, 0.44, 0.35, 0.20} }, +4, 2, 0.44, 0.00, 0.00} }, // 91 Arp Cascade { "Arp Cascade", "ARP", { O_SAW, O_TRI, 10, 52, 1, 3200, 0.15f, 35, 45, 0.003f, 0.10f, 0.65f, 0.06f, @@ -844,7 +844,7 @@ static const Patch defs[] = { 3, 0.24, 0.27, 1.00f, 0.0f, 10, 0.0f, 0, 0, 1, 2, 0, 3, 65, -4, 0, 0.00, 0.35, 0.20} }, +4, 0, 0.00, 0.00, 0.00} }, // == PSYCHEDELIC ======================================================= // 92 Acid Trip { "Acid Trip", "PSYCHEDELIC", { O_SAW, O_SAW, 4, 60, 1, 900, 0.65f, 80, 20, @@ -854,7 +854,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 1, 0.05f, 0, 0, 0, 0, 0, 0, 0, -3, 2, 0.39, 0.75, 0.50} }, +3, 2, 0.39, 0.00, 0.00} }, // 93 Purple Haze { "Purple Haze", "PSYCHEDELIC", { O_SAW, O_SAW, 12, 55, 1, 2400, 0.22f, 55, 30, 0.02f, 0.40f, 0.85f, 0.50f, @@ -863,7 +863,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 8, 0.0f, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0.00, 0.75, 0.50} }, +3, 0, 0.00, 0.00, 0.00} }, // 94 Neon Spiral { "Neon Spiral", "PSYCHEDELIC", { O_PWM, O_TRI, 6, 58, 2, 2500, 0.40f, 45, 40, 0.003f, 0.12f, 0.60f, 0.06f, @@ -872,7 +872,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 8, 0.0f, 0, 0, 1, 1, 3, 3, 60, -3, 0, 0.00, 0.75, 0.50} }, +3, 0, 0.00, 0.00, 0.00} }, // 95 Magic Fungus { "Magic Fungus", "PSYCHEDELIC", { O_FM, O_SAW, -9, 45, 1, 1800, 0.35f, 70, 25, 0.60f, 2.0f, 0.85f, 2.4f, @@ -881,7 +881,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0.00, 0.75, 0.50} }, +3, 0, 0.00, 0.00, 0.00} }, // 96 Kaleidoscope { "Kaleidoscope", "PSYCHEDELIC", { O_SUP, O_SAW, 8, 50, 1, 3200, 0.28f, 35, 40, 0.003f, 0.10f, 0.60f, 0.05f, @@ -890,7 +890,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 8, 0.0f, 0, 0, 1, 2, 2, 3, 55, -3, 0, 0.00, 0.75, 0.50} }, +3, 0, 0.00, 0.00, 0.00} }, // 97 Mind Bender { "Mind Bender", "PSYCHEDELIC", { O_FM, O_TRI, 14, 50, 1, 2800, 0.18f, 50, 30, 0.05f, 0.60f, 0.80f, 0.80f, @@ -899,7 +899,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 6, 0.0f, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0.00, 0.75, 0.50} }, +3, 0, 0.00, 0.00, 0.00} }, // 98 Astral Projection { "Astral Projection", "PSYCHEDELIC", { O_TNE, O_TRI, 10, 60, 1, 2400, 0.25f, 50, 30, 0.40f, 1.2f, 0.80f, 2.0f, @@ -908,7 +908,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 12, 0.0f, 0, 0, 1, 1, 2, 2, 80, -3, 1, 0.40, 0.90, 0.60} }, +3, 1, 0.40, 0.00, 0.00} }, // 99 Cosmic Dust { "Cosmic Dust", "PSYCHEDELIC", { O_SUP, O_TRI, 16, 52, 3, 1200, 0.20f, 60, 20, 0.80f, 2.2f, 0.85f, 3.0f, @@ -917,7 +917,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -3, 1, 0.30, 0.90, 0.45} }, +3, 1, 0.30, 0.00, 0.00} }, // 100 Time Warp { "Time Warp", "PSYCHEDELIC", { O_WRP, O_PUL, 8, 55, 1, 2000, 0.30f, 70, 35, 0.40f, 1.5f, 0.82f, 1.6f, @@ -926,7 +926,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 8, 0.0f, 0, 0, 0, 0, 0, 0, 0, -3, 2, 0.40, 0.85, 0.55} }, +3, 2, 0.40, 0.00, 0.00} }, // 101 Galactic Disco { "Galactic Disco", "PSYCHEDELIC", { O_HSY, O_SAW, 6, 58, 1, 3000, 0.35f, 40, 45, 0.05f, 0.30f, 0.75f, 0.30f, @@ -935,7 +935,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 4, 0.04f, 0, 0, 0, 0, 0, 0, 0, -3, 2, 0.36, 0.75, 0.50} }, +3, 2, 0.36, 0.00, 0.00} }, // 102 Prism Dreams { "Prism Dreams", "PSYCHEDELIC", { O_SEQ, O_TRI, 12, 55, 2, 3200, 0.35f, 40, 30, 0.02f, 0.50f, 0.70f, 0.60f, @@ -944,7 +944,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 8, 0.0f, 0, 0, 1, 1, 2, 2, 60, -3, 1, 0.35, 0.80, 0.50} }, +3, 1, 0.35, 0.00, 0.00} }, // 103 Wavy Gravy { "Wavy Gravy", "PSYCHEDELIC", { O_PWM, O_TRI, 10, 50, 1, 1600, 0.28f, 65, 25, 0.80f, 2.5f, 0.85f, 3.0f, @@ -953,7 +953,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0.00, 0.75, 0.50} }, +3, 0, 0.00, 0.00, 0.00} }, // 104 Color Wheel { "Color Wheel", "PSYCHEDELIC", { O_SUP, O_PWM, 15, 50, 2, 2200, 0.45f, 60, 30, 0.20f, 1.0f, 0.80f, 1.2f, @@ -962,7 +962,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 0.88f, 0.0f, 8, 0.0f, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0.00, 0.75, 0.50} }, +3, 0, 0.00, 0.00, 0.00} }, // 105 Toadstool Waltz { "Toadstool Waltz", "PSYCHEDELIC", { O_TRI, O_PUL, 5, 65, 1, 2600, 0.15f, 30, 40, 0.003f, 0.10f, 0.55f, 0.06f, @@ -971,7 +971,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 0.94f, 0.0f, 8, 0.0f, 0, 0, 1, 1, 0, 2, 50, -3, 0, 0.00, 0.75, 0.50} }, +3, 0, 0.00, 0.00, 0.00} }, // 106 Rainbow Serpent { "Rainbow Serpent", "PSYCHEDELIC", { O_SAW, O_SAW, 8, 55, 1, 1200, 0.55f, 75, 20, 0.03f, 0.25f, 0.65f, 0.20f, @@ -980,7 +980,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 6, 0.04f, 0, 0, 0, 0, 0, 0, 0, -3, 2, 0.39, 0.75, 0.50} }, +3, 2, 0.39, 0.00, 0.00} }, // 107 Inner Vision { "Inner Vision", "PSYCHEDELIC", { O_SIN, O_TRI, -14, 42, 1, 2000, 0.30f, 55, 20, 1.2f, 3.0f, 0.88f, 3.5f, @@ -989,7 +989,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 0.97f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0.00, 0.75, 0.50} }, +3, 0, 0.00, 0.00, 0.00} }, // 108 Psychedelic Saw { "Psychedelic Saw", "PSYCHEDELIC", { O_SUP, O_SAW, 18, 48, 1, 3000, 0.20f, 45, 35, 0.03f, 0.40f, 0.80f, 0.40f, @@ -998,7 +998,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 10, 0.0f, 0, 0, 0, 0, 0, 0, 0, -3, 2, 0.30, 0.75, 0.45} }, +3, 2, 0.30, 0.00, 0.00} }, // 109 Neon Cavern { "Neon Cavern", "PSYCHEDELIC", { O_SEQ, O_SAW, 10, 55, 3, 1600, 0.25f, 55, 25, 0.50f, 1.8f, 0.82f, 2.6f, @@ -1007,7 +1007,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0.00, 0.75, 0.50} }, +3, 0, 0.00, 0.00, 0.00} }, // 110 Third Eye { "Third Eye", "PSYCHEDELIC", { O_SPL, O_SPL, 7, 50, 1, 3800, 0.25f, 65, 40, 0.008f, 0.30f, 0.80f, 0.30f, @@ -1016,7 +1016,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 8, 0.0f, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0.00, 0.75, 0.50} }, +3, 0, 0.00, 0.00, 0.00} }, // 111 Lizard Parade { "Lizard Parade", "PSYCHEDELIC", { O_PUL, O_TRI, 4, 60, 1, 3100, 0.20f, 28, 40, 0.003f, 0.09f, 0.55f, 0.05f, @@ -1025,7 +1025,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 8, 0.0f, 0, 0, 1, 2, 3, 2, 45, -3, 2, 0.44, 0.75, 0.50} }, +3, 2, 0.44, 0.00, 0.00} }, // 112 Hologram Field { "Hologram Field", "PSYCHEDELIC", { O_FM, O_TRI, 20, 50, 1, 4000, 0.25f, 40, 20, 0.50f, 2.0f, 0.85f, 2.5f, @@ -1034,7 +1034,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -3, 2, 0.40, 0.90, 0.55} }, +3, 2, 0.40, 0.00, 0.00} }, // 113 Velvet Sludge { "Velvet Sludge", "PSYCHEDELIC", { O_SAW, O_SAW, 6, 60, 1, 1500, 0.60f, 70, 25, 0.05f, 0.50f, 0.78f, 0.60f, @@ -1043,7 +1043,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 0.95f, 0.0f, 4, 0.03f, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0.00, 0.75, 0.50} }, +3, 0, 0.00, 0.00, 0.00} }, // 114 Neuron Fizz { "Neuron Fizz", "PSYCHEDELIC", { O_SEQ, O_NOI, 0, 62, 1, 5000, 0.15f, 30, 0, 0.002f, 0.08f, 0.50f, 0.10f, @@ -1052,7 +1052,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 8, 0.0f, 0, 0, 1, 1, 3, 2, 40, -3, 2, 0.45, 0.85, 0.40} }, +3, 2, 0.45, 0.00, 0.00} }, // 115 Laser Lotus { "Laser Lotus", "PSYCHEDELIC", { O_HSY, O_SIN, 9, 72, 2, 4500, 0.30f, 55, 30, 0.004f, 0.20f, 0.70f, 0.12f, @@ -1061,7 +1061,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 10, 0.0f, 0, 0, 1, 4, 0, 3, 70, -3, 2, 0.45, 0.85, 0.45} }, +3, 2, 0.45, 0.00, 0.00} }, // 116 Perception Shift { "Perception Shift","PSYCHEDELIC",{ O_FM, O_TRI, -10, 50, 3, 1900, 0.38f, 60, 25, 0.40f, 1.8f, 0.85f, 2.2f, @@ -1070,7 +1070,7 @@ static const Patch defs[] = { 6, 0.22, 0.30, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.35, 0.85, 0.50} }, +0, 2, 0.35, 0.00, 0.00} }, // 117 Stardust Mandala { "Stardust Mandala","PSYCHEDELIC",{ O_TNE, O_TRI, 10, 58, 1, 3600, 0.20f, 45, 35, 0.40f, 1.0f, 0.80f, 1.8f, @@ -1079,7 +1079,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 12, 0.0f, 0, 0, 1, 2, 2, 2, 75, -3, 1, 0.46, 0.75, 0.50} }, +3, 1, 0.46, 0.00, 0.00} }, // 118 Electric Kool-Aid { "Electric Kool-Aid","PSYCHEDELIC",{ O_WRP, O_SAW, 14, 52, 1, 2000, 0.35f, 65, 30, 0.30f, 1.5f, 0.85f, 2.0f, @@ -1088,7 +1088,7 @@ static const Patch defs[] = { 6, 0.30, 0.26, 1.00f, 0.0f, 8, 0.0f, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0.00, 0.75, 0.50} }, +3, 0, 0.00, 0.00, 0.00} }, // == TECHNO ============================================================= // 119 Berlin Spur { "Berlin Spur", "TECHNO", { O_HSY, O_SAW, 0, 80, 1, 800, 0.30f, 45, 10, @@ -1098,7 +1098,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 1, 0.02f, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0.00, 0.30, 0.20} }, +0, 0, 0.00, 0.00, 0.00} }, // 120 Acid House { "Acid House", "TECHNO", { O_SAW, O_PUL, 0, 62, 1, 650, 0.70f, 85, 5, 0.002f, 0.12f, 0.80f, 0.06f, @@ -1107,7 +1107,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 0.72f, 0.0f, 1, 0.03f, 0, 0, 0, 0, 0, 0, 0, -3, 2, 0.34, 0.30, 0.20} }, +3, 2, 0.34, 0.00, 0.00} }, // 121 Detroit Dusk { "Detroit Dusk", "TECHNO", { O_TNE, O_PUL, 5, 55, 1, 2000, 0.25f, 60, 40, 0.02f, 0.60f, 0.75f, 0.50f, @@ -1116,7 +1116,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 8, 0.04f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.40, 0.30, 0.20} }, +0, 2, 0.40, 0.00, 0.00} }, // 122 Warehouse Stab { "Warehouse Stab", "TECHNO", { O_PWM, O_PUL, 8, 50, 1, 3500, 0.30f, 70, 50, 0.004f, 0.10f, 0.70f, 0.08f, @@ -1125,7 +1125,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 0.95f, 0.0f, 8, 0.0f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.41, 0.30, 0.20} }, +0, 2, 0.41, 0.00, 0.00} }, // 123 Raw Filter { "Raw Filter", "TECHNO", { O_SAW, O_SAW, 4, 58, 1, 1300, 0.40f, 75, 30, 0.003f, 0.15f, 0.78f, 0.10f, @@ -1134,7 +1134,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 4, 0.03f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.31, 0.30, 0.20} }, +0, 2, 0.31, 0.00, 0.00} }, // 124 Industrialist { "Industrialist", "TECHNO", { O_NOI, O_WRP, 0, 55, 2, 3000, 0.35f, 40, 20, 0.003f, 0.08f, 0.60f, 0.08f, @@ -1143,7 +1143,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.0f, 0.0f, 4, 0.0f, 0, 0, 1, 2, 3, 1, 40, -0, 2, 0.31, 0.30, 0.20} }, +0, 2, 0.31, 0.00, 0.00} }, // 125 Steel Frame { "Steel Frame", "TECHNO", { O_FM, O_FM, 0, 70, 2, 4200, 0.45f, 25, 20, 0.002f, 0.10f, 0.55f, 0.06f, @@ -1152,7 +1152,7 @@ static const Patch defs[] = { 4, 0.30, 0.30, 1.0f, 0.0f, 8, 0.0f, 0, 0, 1, 1, 0, 2, 40, -4, 2, 0.35, 0.30, 0.20} }, +4, 2, 0.35, 0.00, 0.00} }, // 126 Voltage Drop { "Voltage Drop", "TECHNO", { O_SIN, O_DSW, 0, 68, 1, 500, 0.15f, 25, 5, 0.002f, 0.12f, 0.88f, 0.06f, @@ -1161,7 +1161,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 0.89f, 0.0f, 1, 0.02f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.40, 0.30, 0.20} }, +0, 2, 0.40, 0.00, 0.00} }, // 127 Rave Ready { "Rave Ready", "TECHNO", { O_SUP, O_SAW, 10, 50, 1, 3000, 0.20f, 55, 45, 0.008f, 0.30f, 0.75f, 0.30f, @@ -1170,7 +1170,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.0f, 0.0f, 10, 0.0f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.33, 0.30, 0.20} }, +0, 2, 0.33, 0.00, 0.00} }, // 128 Unity Arp { "Unity Arp", "TECHNO", { O_SPL, O_SAW, 0, 55, 1, 3200, 0.25f, 30, 45, 0.003f, 0.08f, 0.60f, 0.05f, @@ -1179,7 +1179,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 10, 0.0f, 0, 0, 1, 4, 0, 3, 65, -0, 2, 0.30, 0.45, 0.30} }, +0, 2, 0.30, 0.00, 0.00} }, // 129 Cement Block { "Cement Block", "TECHNO", { O_SAW, O_WRP, 3, 70, 1, 2100, 0.45f, 50, 20, 0.006f, 0.40f, 0.80f, 0.30f, @@ -1188,7 +1188,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 1, 0.04f, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0.00, 0.30, 0.20} }, +0, 0, 0.00, 0.00, 0.00} }, // 130 Modular Beast { "Modular Beast", "TECHNO", { O_FM, O_PWM, 6, 65, 2, 1500, 0.35f, 40, 15, 0.004f, 0.15f, 0.65f, 0.10f, @@ -1197,7 +1197,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 0.63f, 0.0f, 6, 0.0f, 0, 0, 1, 3, 3, 2, 50, -0, 2, 0.50, 0.50, 0.45} }, +0, 2, 0.50, 0.00, 0.00} }, // 131 Midnight Club { "Midnight Club", "TECHNO", { O_DSW, O_TRI, 8, 55, 1, 900, 0.35f, 55, 30, 0.03f, 0.50f, 0.80f, 0.60f, @@ -1206,7 +1206,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 8, 0.05f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.43, 0.30, 0.20} }, +0, 2, 0.43, 0.00, 0.00} }, // 132 Neon District { "Neon District", "TECHNO", { O_FM, O_PUL, 9, 58, 1, 2600, 0.22f, 40, 40, 0.02f, 0.40f, 0.70f, 0.40f, @@ -1215,7 +1215,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 8, 0.0f, 0, 0, 0, 0, 0, 0, 0, -0, 1, 0.35, 0.50, 0.35} }, +0, 1, 0.35, 0.00, 0.00} }, // 133 Machine Funk { "Machine Funk", "TECHNO", { O_PUL, O_FM, 0, 72, 1, 1200, 0.40f, 55, 15, 0.01f, 0.25f, 0.75f, 0.15f, @@ -1224,7 +1224,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 0.97f, 0.0f, 1, 0.04f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.40, 0.40, 0.30} }, +0, 2, 0.40, 0.00, 0.00} }, // 134 Circuit Cluster { "Circuit Cluster", "TECHNO", { O_SEQ, O_PUL, 0, 62, 1, 2900, 0.20f, 25, 40, 0.002f, 0.08f, 0.55f, 0.04f, @@ -1233,7 +1233,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 8, 0.0f, 0, 0, 1, 1, 3, 2, 50, -0, 2, 0.38, 0.30, 0.20} }, +0, 2, 0.38, 0.00, 0.00} }, // 135 Subterranean { "Subterranean", "TECHNO", { O_SIN, O_DSW, 0, 58, 1, 400, 0.20f, 20, 5, 0.05f, 0.40f, 0.90f, 0.50f, @@ -1242,7 +1242,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 0.78f, 0.0f, 1, 0.05f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.42, 0.30, 0.20} }, +0, 2, 0.42, 0.00, 0.00} }, // 136 Power Plant { "Power Plant", "TECHNO", { O_CHD, O_PUL, 5, 50, 1, 2400, 0.20f, 45, 40, 0.006f, 0.25f, 0.78f, 0.20f, @@ -1251,7 +1251,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 6, 0.03f, 0, 0, 1, 2, 0, 2, 60, -0, 0, 0.00, 0.30, 0.20} }, +0, 0, 0.00, 0.00, 0.00} }, // 137 Hyperspace { "Hyperspace", "TECHNO", { O_FM, O_SAW, 12, 55, 1, 3400, 0.25f, 50, 35, 0.003f, 0.12f, 0.68f, 0.08f, @@ -1260,7 +1260,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 10, 0.0f, 0, 0, 1, 4, 3, 3, 70, -0, 2, 0.40, 0.55, 0.40} }, +0, 2, 0.40, 0.00, 0.00} }, // 138 Grid Runner { "Grid Runner", "TECHNO", { O_PWM, O_SAW, 6, 58, 1, 4000, 0.18f, 35, 40, 0.02f, 0.35f, 0.72f, 0.30f, @@ -1269,7 +1269,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 8, 0.0f, 0, 0, 1, 1, 0, 3, 60, -0, 2, 0.35, 0.30, 0.20} }, +0, 2, 0.35, 0.00, 0.00} }, // 139 Amplitude { "Amplitude", "TECHNO", { O_SAW, O_PUL, 8, 52, 1, 2800, 0.25f, 50, 40, 0.008f, 0.25f, 0.75f, 0.20f, @@ -1278,7 +1278,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 8, 0.0f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.34, 0.30, 0.20} }, +0, 2, 0.34, 0.00, 0.00} }, // 140 Ghastly { "Ghastly", "TECHNO", { O_WRP, O_NOI, -8, 50, 3, 1800, 0.50f, 60, 20, 0.02f, 0.80f, 0.80f, 1.20f, @@ -1287,7 +1287,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 6, 0.04f, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0.00, 0.30, 0.20} }, +0, 0, 0.00, 0.00, 0.00} }, // 141 Velocity { "Velocity", "TECHNO", { O_DSW, O_PUL, 0, 68, 1, 3500, 0.15f, 20, 30, 0.002f, 0.08f, 0.55f, 0.04f, @@ -1296,7 +1296,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 8, 0.0f, 0, 0, 1, 2, 2, 2, 40, -0, 2, 0.35, 0.30, 0.20} }, +0, 2, 0.35, 0.00, 0.00} }, // 142 Bunker { "Bunker", "TECHNO", { O_SAW, O_NOI, 0, 55, 1, 1100, 0.55f, 65, 15, 0.005f, 0.30f, 0.82f, 0.30f, @@ -1305,7 +1305,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 4, 0.0f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.34, 0.30, 0.20} }, +0, 2, 0.34, 0.00, 0.00} }, // 143 Analog Night { "Analog Night", "TECHNO", { O_WRP, O_TRI, 6, 55, 1, 1700, 0.30f, 55, 35, 0.04f, 0.60f, 0.78f, 0.50f, @@ -1314,7 +1314,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.0f, 0.0f, 8, 0.04f, 0, 0, 0, 0, 0, 0, 0, -0, 0, 0.00, 0.30, 0.20} }, +0, 0, 0.00, 0.00, 0.00} }, // 144 Techno Swarm { "Techno Swarm", "TECHNO", { O_SUP, O_SAW, 20, 48, 1, 3200, 0.22f, 60, 40, 0.003f, 0.15f, 0.70f, 0.10f, @@ -1323,7 +1323,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.30, 0.45, 0.30} }, +0, 2, 0.30, 0.00, 0.00} }, // 145 Funk Bot { "Funk Bot", "TECHNO", { O_PWM, O_PWM, 4, 60, 1, 2200, 0.35f, 35, 35, 0.02f, 0.30f, 0.72f, 0.25f, @@ -1332,7 +1332,7 @@ static const Patch defs[] = { 2, 0.20, 0.24, 0.74f, 0.0f, 4, 0.04f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.40, 0.40, 0.25} }, +0, 2, 0.40, 0.00, 0.00} }, // == AMBIENT ============================================================ // 146 Aurora Borealis { "Aurora Borealis", "AMBIENT", { O_SUP, O_TRI, 15, 50, 1, 2800, 0.20f, 65, 25, @@ -1342,7 +1342,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 1, 0.40, 0.95, 0.60} }, +9, 1, 0.40, 0.00, 0.00} }, // 147 Liquid Sky { "Liquid Sky", "AMBIENT", { O_PWM, O_TRI, 10, 55, 1, 2200, 0.25f, 60, 20, 0.90f, 2.6f, 0.85f, 3.2f, @@ -1351,7 +1351,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.73f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.70, 0.45} }, +9, 0, 0.00, 0.00, 0.00} }, // 148 Breathing Room { "Breathing Room", "AMBIENT", { O_SAW, O_TRI, 8, 50, 1, 1500, 0.20f, 70, 20, 1.5f, 3.0f, 0.90f, 3.5f, @@ -1360,7 +1360,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.66f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.70, 0.45} }, +9, 0, 0.00, 0.00, 0.00} }, // 149 Gentle Rain { "Gentle Rain", "AMBIENT", { O_NOI, O_TRI, 0, 75, 1, 4500, 0.10f, 30, 0, 0.80f, 2.0f, 0.85f, 4.0f, @@ -1369,7 +1369,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.83f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.70, 0.45} }, +9, 0, 0.00, 0.00, 0.00} }, // 150 Ocean Drift { "Ocean Drift", "AMBIENT", { O_SAW, O_PWM, 18, 48, 1, 1800, 0.30f, 75, 20, 1.8f, 3.5f, 0.88f, 4.0f, @@ -1378,7 +1378,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.82f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.70, 0.45} }, +9, 0, 0.00, 0.00, 0.00} }, // 151 Evening Mist { "Evening Mist", "AMBIENT", { O_CHD, O_TRI, 12, 58, 1, 2000, 0.35f, 60, 20, 1.0f, 2.4f, 0.85f, 3.0f, @@ -1387,7 +1387,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.99f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.70, 0.45} }, +9, 0, 0.00, 0.00, 0.00} }, // 152 Silent Witness { "Silent Witness", "AMBIENT", { O_SIN, O_TRI, 10, 50, 1, 1400, 0.20f, 65, 15, 1.5f, 3.2f, 0.88f, 4.0f, @@ -1396,7 +1396,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.78f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.90, 0.40} }, +9, 0, 0.00, 0.00, 0.00} }, // 153 Floating Leaves { "Floating Leaves", "AMBIENT", { O_TRI, O_SAW, 8, 55, 1, 2600, 0.15f, 50, 25, 0.80f, 2.2f, 0.86f, 2.8f, @@ -1405,7 +1405,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.70, 0.45} }, +9, 0, 0.00, 0.00, 0.00} }, // 154 Through the Veil { "Through the Veil","AMBIENT", { O_FM, O_TRI, 10, 52, 3, 1500, 0.35f, 70, 20, 1.2f, 2.8f, 0.88f, 3.5f, @@ -1414,7 +1414,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 1, 0.35, 0.90, 0.55} }, +9, 1, 0.35, 0.00, 0.00} }, // 155 Distant Echoes { "Distant Echoes", "AMBIENT", { O_TNE, O_TRI, 14, 55, 1, 3200, 0.25f, 40, 20, 0.50f, 2.0f, 0.85f, 3.5f, @@ -1423,7 +1423,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.70, 0.45} }, +9, 0, 0.00, 0.00, 0.00} }, // 156 Silent Glacier { "Silent Glacier", "AMBIENT", { O_TNE, O_TRI, 16, 55, 1, 3600, 0.30f, 45, 15, 1.0f, 2.6f, 0.88f, 3.5f, @@ -1432,7 +1432,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.75f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 1, 0.50, 0.70, 0.45} }, +9, 1, 0.50, 0.00, 0.00} }, // 157 Whisper Choir { "Whisper Choir", "AMBIENT", { O_SUP, O_TRI, 12, 52, 1, 2400, 0.18f, 60, 40, 0.80f, 2.4f, 0.85f, 3.0f, @@ -1441,7 +1441,7 @@ static const Patch defs[] = { 7, 0.50, 0.28, 0.68f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 0, 0.00, 0.70, 0.45} }, +8, 0, 0.00, 0.00, 0.00} }, // 158 Inner Temple { "Inner Temple", "AMBIENT", { O_SIN, O_SAW, 8, 55, 1, 1700, 0.22f, 55, 25, 1.0f, 3.0f, 0.88f, 3.8f, @@ -1450,7 +1450,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.79f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.70, 0.45} }, +9, 0, 0.00, 0.00, 0.00} }, // 159 Cloud Nine { "Cloud Nine", "AMBIENT", { O_SAW, O_TRI, 10, 50, 1, 1900, 0.25f, 65, 20, 1.3f, 3.0f, 0.90f, 3.5f, @@ -1459,7 +1459,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.93f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.70, 0.45} }, +9, 0, 0.00, 0.00, 0.00} }, // 160 Polar Night { "Polar Night", "AMBIENT", { O_TRI, O_SIN, 14, 45, 1, 1200, 0.30f, 70, 15, 1.5f, 3.5f, 0.90f, 4.5f, @@ -1468,7 +1468,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.85f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.90, 0.45} }, +9, 0, 0.00, 0.00, 0.00} }, // 161 Sunbeam { "Sunbeam", "AMBIENT", { O_HSY, O_TRI, 12, 55, 1, 4200, 0.20f, 40, 20, 0.60f, 2.2f, 0.85f, 2.8f, @@ -1477,7 +1477,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.70, 0.45} }, +9, 0, 0.00, 0.00, 0.00} }, // 162 Winter Sleep { "Winter Sleep", "AMBIENT", { O_SAW, O_SAW, 8, 50, 1, 1500, 0.28f, 60, 20, 1.2f, 3.0f, 0.88f, 3.8f, @@ -1486,7 +1486,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.86f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.70, 0.45} }, +9, 0, 0.00, 0.00, 0.00} }, // 163 Desert Glass { "Desert Glass", "AMBIENT", { O_TNE, O_SIN, 0, 65, 1, 6000, 0.40f, 30, 10, 0.01f, 1.5f, 0.80f, 3.0f, @@ -1495,7 +1495,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.96f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 1, 0.53, 0.70, 0.45} }, +9, 1, 0.53, 0.00, 0.00} }, // 164 Underwater Cathedral { "Underwater Cathedral","AMBIENT", { O_CHD, O_SAW, 20, 50, 1, 2400, 0.35f, 65, 25, 1.0f, 2.5f, 0.88f, 3.5f, @@ -1504,7 +1504,7 @@ static const Patch defs[] = { 7, 0.40, 0.40, 0.94f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -6, 1, 0.35, 0.95, 0.60} }, +6, 1, 0.35, 0.00, 0.00} }, // 165 Longest Journey { "Longest Journey", "AMBIENT", { O_TRI, O_TRI, 10, 52, 1, 2000, 0.20f, 55, 20, 1.8f, 3.5f, 0.90f, 5.0f, @@ -1513,7 +1513,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.90, 0.45} }, +9, 0, 0.00, 0.00, 0.00} }, // 166 Fading Aurora { "Fading Aurora", "AMBIENT", { O_PWM, O_TRI, 16, 48, 1, 3000, 0.18f, 55, 20, 1.0f, 2.8f, 0.88f, 4.0f, @@ -1522,7 +1522,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.57f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 1, 0.40, 0.90, 0.60} }, +9, 1, 0.40, 0.00, 0.00} }, // 167 Still Lake { "Still Lake", "AMBIENT", { O_SIN, O_TRI, 10, 55, 1, 1400, 0.15f, 50, 15, 0.80f, 2.8f, 0.88f, 3.5f, @@ -1531,7 +1531,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.77f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.70, 0.45} }, +9, 0, 0.00, 0.00, 0.00} }, // 168 Golden Hour { "Golden Hour", "AMBIENT", { O_SAW, O_PUL, 8, 55, 1, 2600, 0.22f, 55, 35, 0.50f, 2.0f, 0.85f, 2.5f, @@ -1540,7 +1540,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.87f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.70, 0.45} }, +9, 0, 0.00, 0.00, 0.00} }, // 169 Oxygen { "Oxygen", "AMBIENT", { O_SUP, O_TRI, 6, 55, 1, 2100, 0.20f, 60, 25, 1.0f, 2.6f, 0.88f, 3.2f, @@ -1549,7 +1549,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.70, 0.45} }, +9, 0, 0.00, 0.00, 0.00} }, // 170 Zero Gravity { "Zero Gravity", "AMBIENT", { O_TRI, O_SAW, 20, 45, 1, 2800, 0.25f, 65, 15, 1.5f, 3.2f, 0.90f, 4.0f, @@ -1558,7 +1558,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.98f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 1, 0.35, 0.90, 0.50} }, +9, 1, 0.35, 0.00, 0.00} }, // 171 Sacred Space { "Sacred Space", "AMBIENT", { O_SAW, O_TRI, 10, 50, 1, 2200, 0.28f, 70, 30, 1.3f, 3.0f, 0.88f, 4.0f, @@ -1567,7 +1567,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 1, 0.30, 0.95, 0.55} }, +9, 1, 0.30, 0.00, 0.00} }, // == CINEMATIC ========================================================== // 172 Colossal Drone @@ -1578,7 +1578,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.54f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 2, 0.30, 0.90, 0.60} }, +9, 2, 0.30, 0.00, 0.00} }, // 173 Tension Builder { "Tension Builder", "CINEMATIC", { O_SUP, O_SUP, 6, 50, 1, 1500, 0.25f, 70, 30, 0.8f, 2.8f, 0.92f, 3.5f, @@ -1587,7 +1587,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.87f, 0.0f, 10, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 2, 0.35, 0.90, 0.60} }, +9, 2, 0.35, 0.00, 0.00} }, // 174 Dark Undertone { "Dark Undertone", "CINEMATIC", { O_DSW, O_SIN, 0, 88, 1, 500, 0.3f, 40, 15, 0.2f, 1.5f, 0.95f, 2.5f, @@ -1596,7 +1596,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.75f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 2, 0.40, 0.90, 0.40} }, +9, 2, 0.40, 0.00, 0.00} }, // 175 Brass Swell { "Brass Swell", "CINEMATIC", { O_WRP, O_SAW, 8, 48, 1, 2600, 0.3f, 75, 40, 0.4f, 2.2f, 0.85f, 2.8f, @@ -1605,7 +1605,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.76f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 2, 0.30, 0.80, 0.55} }, +9, 2, 0.30, 0.00, 0.00} }, // 176 War Drums { "War Drums", "CINEMATIC", { O_DSW, O_PUL, 0, 70, 1, 700, 0.6f, 55, 10, 0.01f, 0.5f, 0.8f, 0.4f, @@ -1614,7 +1614,7 @@ static const Patch defs[] = { 6, 0.22, 0.30, 0.85f, 0.0f, 8, 0.0f, 0, 0, 0, 0, 0, 0, 0, -0, 2, 0.35, 0.70, 0.50} }, +0, 2, 0.35, 0.00, 0.00} }, // 177 Cathedral Drones { "Cathedral Drones", "CINEMATIC", { O_CHD, O_SUP, 10, 50, 1, 1400, 0.3f, 65, 30, 1.2f, 3.0f, 0.9f, 4.0f, @@ -1623,7 +1623,7 @@ static const Patch defs[] = { 7, 0.40, 0.40, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -6, 1, 0.38, 1.00, 0.60} }, +6, 1, 0.38, 0.00, 0.00} }, // == SOUNDSCAPE ========================================================= // 178 Wind Chimes @@ -1634,7 +1634,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.85f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 1, 0.45, 0.85, 0.60} }, +9, 1, 0.45, 0.00, 0.00} }, // 179 Ocean Bed { "Ocean Bed", "SOUNDSCAPE", { O_DSW, O_PWM, 5, 50, 1, 600, 0.35f, 72, 15, 1.0f, 3.0f, 0.9f, 3.5f, @@ -1643,7 +1643,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.63f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.90, 0.50} }, +9, 0, 0.00, 0.00, 0.00} }, // 180 Cave Echo { "Cave Echo", "SOUNDSCAPE", { O_SEQ, O_TRI, 0, 60, 1, 1100, 0.2f, 50, 15, 0.5f, 2.0f, 0.85f, 3.0f, @@ -1652,7 +1652,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.71f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.90, 0.60} }, +9, 0, 0.00, 0.00, 0.00} }, // 181 Night Forest { "Night Forest", "SOUNDSCAPE", { O_SUP, O_NOI, 4, 60, 1, 1800, 0.2f, 60, 0, 0.8f, 2.5f, 0.88f, 3.2f, @@ -1661,7 +1661,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 2, 0.30, 0.90, 0.50} }, +9, 2, 0.30, 0.00, 0.00} }, // 182 Digital Rain { "Digital Rain", "SOUNDSCAPE", { O_SEQ, O_NOI, 0, 70, 1, 3200, 0.15f, 40, 0, 0.05f, 1.8f, 0.8f, 2.5f, @@ -1670,7 +1670,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 2, 0.40, 0.90, 0.45} }, +9, 2, 0.40, 0.00, 0.00} }, // 183 Ice Field { "Ice Field", "SOUNDSCAPE", { O_TNE, O_SUP, 8, 55, 1, 3600, 0.2f, 50, 25, 0.3f, 2.0f, 0.85f, 3.5f, @@ -1679,7 +1679,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 1, 0.40, 0.90, 0.60} }, +9, 1, 0.40, 0.00, 0.00} }, // == ATMOSPHERE ========================================================== // 184 Morning Haze @@ -1690,7 +1690,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.81f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0.00, 0.85, 0.50} }, +9, 0, 0.00, 0.00, 0.00} }, // 185 Metal Sky { "Metal Sky", "ATMOSPHERE", { O_HSY, O_TRI, 0, 70, 1, 3200, 0.3f, 60, 30, 0.4f, 2.0f, 0.85f, 3.0f, @@ -1699,7 +1699,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.85f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 2, 0.35, 0.85, 0.55} }, +9, 2, 0.35, 0.00, 0.00} }, // 186 Submerged { "Submerged", "ATMOSPHERE", { O_SIN, O_DSW, 0, 100, 1, 420, 0.25f, 50, 10, 0.8f, 3.0f, 0.92f, 4.0f, @@ -1708,7 +1708,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.63f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 1, 0.30, 0.95, 0.55} }, +9, 1, 0.30, 0.00, 0.00} }, // 187 Electric Air { "Electric Air", "ATMOSPHERE", { O_FM, O_TRI, 6, 55, 1, 2600, 0.25f, 55, 25, 0.6f, 2.4f, 0.9f, 3.2f, @@ -1717,7 +1717,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 0.91f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 1, 0.30, 0.85, 0.50} }, +9, 1, 0.30, 0.00, 0.00} }, // 188 Static Bloom { "Static Bloom", "ATMOSPHERE", { O_SUP, O_SEQ, 0, 60, 1, 2200, 0.2f, 60, 0, 0.7f, 2.5f, 0.85f, 3.0f, @@ -1726,7 +1726,7 @@ static const Patch defs[] = { 7, 0.50, 0.38, 1.00f, 0.0f, 16, 0.0f, 0, 0, 0, 0, 0, 0, 0, -9, 2, 0.45, 0.90, 0.55} }, +9, 2, 0.45, 0.00, 0.00} }, // == SYNTH FX ============================================================= // 189 Rocket Launch @@ -1737,7 +1737,7 @@ static const Patch defs[] = { 7, 0.30, 0.30, 0.84f, 0.0f, 8, 0.0f, 0, 0, 0, 0, 0, 0, 0, -4, 2, 0.45, 0.90, 0.60} }, +4, 2, 0.45, 0.00, 0.00} }, // 190 Laser Sweep { "Laser Sweep", "SYNTH FX", { O_HSY, O_HSY, 0, 65, 1, 6000, 0.35f, 70, 30, 0.0f, 1.0f, 0.6f, 0.5f, @@ -1746,7 +1746,7 @@ static const Patch defs[] = { 7, 0.30, 0.30, 1.00f, 0.0f, 1, 0.0f, 0, 0, 0, 0, 0, 0, 0, -4, 2, 0.44, 0.90, 0.65} }, +4, 2, 0.44, 0.00, 0.00} }, // 191 Alien Voice { "Alien Voice", "SYNTH FX", { O_FM, O_FM, 0, 55, 1, 3000, 0.3f, 55, 20, 0.1f, 1.8f, 0.7f, 2.0f, @@ -1755,7 +1755,7 @@ static const Patch defs[] = { 7, 0.50, 0.28, 1.00f, 0.0f, 8, 0.0f, 0, 0, 0, 0, 0, 0, 0, -8, 2, 0.55, 1.00, 0.80} }, +8, 2, 0.55, 0.00, 0.00} }, // 192 Data Stream { "Data Stream", "SYNTH FX", { O_SEQ, O_SEQ, 0, 60, 1, 4000, 0.2f, 30, 0, 0.0f, 0.5f, 0.5f, 0.3f, @@ -1764,7 +1764,7 @@ static const Patch defs[] = { 7, 0.30, 0.30, 1.00f, 0.0f, 8, 0.0f, 0, 0, 1, 1, 3, 2, 50, -4, 2, 0.48, 0.90, 0.40} }, +4, 2, 0.48, 0.00, 0.00} }, // 193 Ghost Feedback { "Ghost Feedback", "SYNTH FX", { O_WRP, O_WRP, 0, 55, 1, 2800, 0.5f, 70, 35, 0.3f, 2.0f, 0.8f, 3.0f, @@ -1773,7 +1773,7 @@ static const Patch defs[] = { 7, 0.30, 0.30, 1.00f, 0.0f, 8, 0.0f, 0, 0, 0, 0, 0, 0, 0, -4, 3, 0.50, 0.95, 0.75} }, +4, 3, 0.50, 0.00, 0.00} }, // 194 Neon Sweep { "Neon Sweep", "SYNTH FX", { O_PWM, O_HSY, 0, 65, 1, 5000, 0.25f, 60, 30, 0.0f, 0.8f, 0.55f, 0.4f, @@ -1782,7 +1782,7 @@ static const Patch defs[] = { 7, 0.30, 0.30, 1.00f, 0.0f, 1, 0.0f, 0, 0, 0, 0, 0, 0, 0, -4, 1, 0.53, 0.90, 0.65} }, +4, 1, 0.53, 0.00, 0.00} }, // 195 Glass Shatter { "Glass Shatter", "SYNTH FX", { O_TNE, O_NOI, 0, 70, 1, 6000, 0.3f, 30, 0, 0.0f, 2.2f, 0.3f, 3.0f, @@ -1791,7 +1791,7 @@ static const Patch defs[] = { 7, 0.30, 0.30, 1.00f, 0.0f, 12, 0.0f, 0, 0, 0, 0, 0, 0, 0, -4, 1, 0.37, 0.90, 0.65} }, +4, 1, 0.37, 0.00, 0.00} }, }; PresetBank::PresetBank() diff --git a/Source/SynthEngine.cpp b/Source/SynthEngine.cpp index 1ccd621..a0ef63a 100644 --- a/Source/SynthEngine.cpp +++ b/Source/SynthEngine.cpp @@ -42,14 +42,14 @@ float SynthEngine::osc (int wave, double ph, double phRaw) sp -= std::floor (sp); s += 1.0 - 2.0 * sp; } - return (float) (s * 0.40); + return (float) (s * 0.28); } // 8 DBLSAW: saw plus a sub-octave saw (big, weighted low end) case 8: { double sub = ph * 0.5; sub -= std::floor (sub); - return (float) (0.62 * (1.0 - 2.0 * ph) + 0.48 * (1.0 - 2.0 * sub)); + return (float) (0.56 * (1.0 - 2.0 * ph) + 0.44 * (1.0 - 2.0 * sub)); } // 9 WARP: saw pushed twice through a wavefolder -> bright, buzzy, raw case 9: @@ -70,10 +70,10 @@ float SynthEngine::osc (int wave, double ph, double phRaw) case 11: { const double a = ph * 2.0 * juce::MathConstants::pi; - return (float) (0.85 * std::sin (a) - + 0.55 * std::sin (2.0 * a) - + 0.35 * std::sin (4.0 * a) - + 0.18 * std::sin (8.0 * a)); + return (float) (0.44 * std::sin (a) + + 0.28 * std::sin (2.0 * a) + + 0.18 * std::sin (4.0 * a) + + 0.09 * std::sin (8.0 * a)); } // 12 SEQ: 8 pseudo-random levels per cycle -> digital, step-sequencer case 12: @@ -87,9 +87,9 @@ float SynthEngine::osc (int wave, double ph, double phRaw) case 13: { const double a = ph * 2.0 * juce::MathConstants::pi; - return (float) (0.62 * std::sin (a) - + 0.42 * std::sin (a * (6.0 / 5.0)) - + 0.38 * std::sin (a * 1.5)); + return (float) (0.44 * std::sin (a) + + 0.30 * std::sin (a * (6.0 / 5.0)) + + 0.27 * std::sin (a * 1.5)); } // 14 SUPRPL: 3 stacked phase-offset pulse waves -> fat chorus-box square case 14: @@ -309,11 +309,12 @@ void SynthEngine::render (const VParams& p, float* left, float* right, int num) v.ph1 += d1; if (v.ph1 >= 1.0) v.ph1 -= 1.0; v.ph1r += d1; - // cross-mod "bloom": the amount itself breathes with the evolution walk, + // cross-mod "bloom": the amount breathes with the evolution walk + // (scaled by EVOLVE, so at evolve=0 it sits static at its middle value), // sometimes vanishing almost entirely, sometimes saturating float xmA = 0.0f; if ((int) p.xmod > 0 && p.xmix > 0.001f) - xmA = p.xmix * (0.10f + 0.90f * (0.5f + 0.5f * evoCur)); + xmA = p.xmix * (0.55f + 0.45f * evoCur * p.evolve); // oscillators, with osc1 phase-modulating osc2 when in FM cross-mod const float o1 = osc ((int) p.osc1w, v.ph1, v.ph1r); @@ -334,8 +335,8 @@ void SynthEngine::render (const VParams& p, float* left, float* right, int num) if (xmA > 0.0f) { const int xm = (int) p.xmod; - if (xm == 1) sig += o1 * o2 * 0.6f * xmA; - else if (xm == 3) sig += o1 * o2 * 0.9f * xmA; + if (xm == 1) sig += o1 * o2 * 0.35f * xmA; + else if (xm == 3) sig += o1 * o2 * 0.55f * xmA; } // spectral warp: drive + bias swing hard with the texture wander, @@ -374,16 +375,15 @@ void SynthEngine::render (const VParams& p, float* left, float* right, int num) v.bp += f1 * hp; v.lp += f1 * v.bp; - // The Chamberlin band-pass and high-pass taps carry much less energy - // than the low-pass tap for the harmonically rich osc waves (2-4x - // quieter in practice), so compensate to keep filter types at a - // comparable loudness level. + // The Chamberlin band-pass and high-pass taps carry less energy + // than the low-pass tap for harmonically rich osc waves, so + // compensate to keep filter types at a comparable loudness level. float filtered = sig; switch ((int) p.fltType) { case 1: filtered = v.lp; break; - case 2: filtered = v.bp * 2.9f; break; - case 3: filtered = hp * 2.7f; break; + case 2: filtered = v.bp * 1.5f; break; + case 3: filtered = hp * 1.4f; break; default: break; }