improved assignment of midi controllers

This commit is contained in:
2026-05-10 12:11:34 +02:00
parent 31a0c4c009
commit 15bcf87529
3 changed files with 157 additions and 4 deletions
+15 -3
View File
@@ -55,11 +55,21 @@ JaySynthMidiCC::JaySynthMidiCC()
/*pmax*/pConstraints->pmax, /*pmax*/pConstraints->pmax,
/*pinterval*/pConstraints->pinterval); /*pinterval*/pConstraints->pinterval);
midiCC_containers[i].doChangeParameter = false; midiCC_containers[i].controllerID = 128 + i;
midiCC_containers[i].controllerID = 0;
midiCC_containers[i].isAssigned = false; midiCC_containers[i].isAssigned = false;
midiCC_containers[i].doChangeParameter = false;
midiCC_containers[i].doApplyOnPatchInit = false; midiCC_containers[i].doApplyOnPatchInit = false;
if (pConstraints->midiControllerId >= 0)
{
if (pConstraints->midiControllerId > 0)
{
midiCC_containers[i].controllerID = pConstraints->midiControllerId;
}
midiCC_containers[i].doChangeParameter = true;
midiCC_containers[i].isAssigned = true;
}
// Velocity // Velocity
paramInfoInit(&midiCC_containers[i].curve_vel, i, pConstraints->pName); paramInfoInit(&midiCC_containers[i].curve_vel, i, pConstraints->pName);
paramInfoSet(&midiCC_containers[i].curve_vel, paramInfoSet(&midiCC_containers[i].curve_vel,
@@ -345,7 +355,9 @@ int JaySynthMidiCC::importXML(XmlElement const *pXML_MidiCc)
if (pXML_PARAM->getIntAttribute("IS_ASSIGNED", 0)) if (pXML_PARAM->getIntAttribute("IS_ASSIGNED", 0))
add(pMidiContainer, pXML_PARAM->getIntAttribute("CONTROLLER_ID", 0)); add(pMidiContainer, pXML_PARAM->getIntAttribute("CONTROLLER_ID", 0));
else
remove(pMidiContainer, pXML_PARAM->getIntAttribute("CONTROLLER_ID", 0));
pXML_PARAM = pXML_PARAM->getNextElement(); pXML_PARAM = pXML_PARAM->getNextElement();
} }
+141 -1
View File
@@ -15,701 +15,841 @@ static const param_info_t param_info[] =
{ {
{ {
SYNTH_PARAM_VOLUME, SYNTH_PARAM_VOLUME,
7,
"Master Volume", "Master Volume",
/*Base*/10.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1 /*Base*/10.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1,
}, },
{ {
SYNTH_PARAM_VOICE_PAN_SPREAD, SYNTH_PARAM_VOICE_PAN_SPREAD,
0,
"Voice Pan Spread", "Voice Pan Spread",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_TUNE, SYNTH_PARAM_TUNE,
0,
"Master Tune", "Master Tune",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_TOTAL_NUM_VOICES, SYNTH_PARAM_TOTAL_NUM_VOICES,
-1,
"Total num. Voices", "Total num. Voices",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/MAX_POLYPHONY, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/MAX_POLYPHONY, /*interval*/1
}, },
{ {
SYNTH_PARAM_HUMANIZE_ENABLE, SYNTH_PARAM_HUMANIZE_ENABLE,
-1,
"Humanize Enable", "Humanize Enable",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1.0, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1.0, /*interval*/1
}, },
{ {
SYNTH_PARAM_HUMANIZE_VAR_VCO, SYNTH_PARAM_HUMANIZE_VAR_VCO,
0,
"Humanize Spread VCO", "Humanize Spread VCO",
/*Base*/10.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1 /*Base*/10.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_HUMANIZE_VAR_VCF, SYNTH_PARAM_HUMANIZE_VAR_VCF,
0,
"Humanize Spread VCF", "Humanize Spread VCF",
/*Base*/10.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1 /*Base*/10.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_HUMANIZE_VAR_ENV, SYNTH_PARAM_HUMANIZE_VAR_ENV,
0,
"Humanize Spread ENV", "Humanize Spread ENV",
/*Base*/10.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1 /*Base*/10.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_MONOPHONIC_ENABLE, SYNTH_PARAM_MONOPHONIC_ENABLE,
-1,
"Monophonic Enable", "Monophonic Enable",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1.0, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1.0, /*interval*/1
}, },
{ {
SYNTH_PARAM_MONOPHONIC_RETRIGGER_ENABLE, SYNTH_PARAM_MONOPHONIC_RETRIGGER_ENABLE,
-1,
"Monophonic Retrigger Enable", "Monophonic Retrigger Enable",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1.0, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1.0, /*interval*/1
}, },
{ {
SYNTH_PARAM_UNISONO_ENABLE, SYNTH_PARAM_UNISONO_ENABLE,
-1,
"Unisono Enable", "Unisono Enable",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1.0, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1.0, /*interval*/1
}, },
{ {
SYNTH_PARAM_UNISONO_NUM_VOICES, SYNTH_PARAM_UNISONO_NUM_VOICES,
-1,
"Unisono num. Voices", "Unisono num. Voices",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/MAX_POLYPHONY, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/MAX_POLYPHONY, /*interval*/1
}, },
{ {
SYNTH_PARAM_PORTAMENTO_TIME, SYNTH_PARAM_PORTAMENTO_TIME,
0,
"Portamento Time", "Portamento Time",
/*Base*/10.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0.001, /*pcenter*/-1, /*max*/0.5, /*interval*/0.001 /*Base*/10.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0.001, /*pcenter*/-1, /*max*/0.5, /*interval*/0.001
}, },
{ {
SYNTH_PARAM_OSC_0_ENABLE, SYNTH_PARAM_OSC_0_ENABLE,
-1,
"OSC1 enable", "OSC1 enable",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1.0, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1.0, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_1_ENABLE, SYNTH_PARAM_OSC_1_ENABLE,
-1,
"OSC2 enable", "OSC2 enable",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1.0, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1.0, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_0_RESTART_ON_TRIGGER, SYNTH_PARAM_OSC_0_RESTART_ON_TRIGGER,
-1,
"OSC1 restart on trigger", "OSC1 restart on trigger",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1.0, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1.0, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_1_RESTART_ON_TRIGGER, SYNTH_PARAM_OSC_1_RESTART_ON_TRIGGER,
-1,
"OSC2 restart on trigger", "OSC2 restart on trigger",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1.0, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1.0, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_0_LEVEL, SYNTH_PARAM_OSC_0_LEVEL,
0,
"OSC1 level", "OSC1 level",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_OSC_1_LEVEL, SYNTH_PARAM_OSC_1_LEVEL,
0,
"OSC2 level", "OSC2 level",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_OSC_0_DUTYCYCLE, SYNTH_PARAM_OSC_0_DUTYCYCLE,
0,
"OSC1 pulse width", "OSC1 pulse width",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_OSC_1_DUTYCYCLE, SYNTH_PARAM_OSC_1_DUTYCYCLE,
0,
"OSC2 pulse width", "OSC2 pulse width",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_OSC_0_DETUNE, SYNTH_PARAM_OSC_0_DETUNE,
0,
"OSC1 detune", "OSC1 detune",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-50, /*pcenter*/0, /*max*/+50, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-50, /*pcenter*/0, /*max*/+50, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_OSC_1_DETUNE, SYNTH_PARAM_OSC_1_DETUNE,
0,
"OSC2 detune", "OSC2 detune",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-50, /*pcenter*/0, /*max*/+50, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-50, /*pcenter*/0, /*max*/+50, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_OSC_0_TRANSPOSE, SYNTH_PARAM_OSC_0_TRANSPOSE,
0,
"OSC1 transpose", "OSC1 transpose",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-48.0, /*pcenter*/0, /*max*/+48.0, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-48.0, /*pcenter*/0, /*max*/+48.0, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_1_TRANSPOSE, SYNTH_PARAM_OSC_1_TRANSPOSE,
0,
"OSC2 transpose", "OSC2 transpose",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-48.0, /*pcenter*/0, /*max*/+48.0, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-48.0, /*pcenter*/0, /*max*/+48.0, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_0_WAVEFORM, SYNTH_PARAM_OSC_0_WAVEFORM,
-1,
"OSC1 shape", "OSC1 shape",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/OSC_NUM_WAVEFORMS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/OSC_NUM_WAVEFORMS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_1_WAVEFORM, SYNTH_PARAM_OSC_1_WAVEFORM,
-1,
"OSC2 shape", "OSC2 shape",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/OSC_NUM_WAVEFORMS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/OSC_NUM_WAVEFORMS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_0_PB_RANGE_MIN, SYNTH_PARAM_OSC_0_PB_RANGE_MIN,
-1,
"OSC1 pitch bender minimum", "OSC1 pitch bender minimum",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-48.0, /*pcenter*/0, /*max*/+48.0, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-48.0, /*pcenter*/0, /*max*/+48.0, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_1_PB_RANGE_MIN, SYNTH_PARAM_OSC_1_PB_RANGE_MIN,
-1,
"OSC2 pitch bender minimum", "OSC2 pitch bender minimum",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-48.0, /*pcenter*/0, /*max*/+48.0, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-48.0, /*pcenter*/0, /*max*/+48.0, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_0_PB_RANGE_MAX, SYNTH_PARAM_OSC_0_PB_RANGE_MAX,
-1,
"OSC1 pitch bender maximum", "OSC1 pitch bender maximum",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-48.0, /*pcenter*/0, /*max*/+48.0, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-48.0, /*pcenter*/0, /*max*/+48.0, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_1_PB_RANGE_MAX, SYNTH_PARAM_OSC_1_PB_RANGE_MAX,
-1,
"OSC2 pitch bender maximum", "OSC2 pitch bender maximum",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-48.0, /*pcenter*/0, /*max*/+48.0, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-48.0, /*pcenter*/0, /*max*/+48.0, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_0_FM_AMT_0, SYNTH_PARAM_OSC_0_FM_AMT_0,
0,
"OSC1 FM amt 1", "OSC1 FM amt 1",
/*Base*/10, /*kexp*/2.5, /*scenter*/0.5, /*min*/-48, /*pcenter*/0, /*max*/+48, /*interval*/0.01 /*Base*/10, /*kexp*/2.5, /*scenter*/0.5, /*min*/-48, /*pcenter*/0, /*max*/+48, /*interval*/0.01
}, },
{ {
SYNTH_PARAM_OSC_1_FM_AMT_0, SYNTH_PARAM_OSC_1_FM_AMT_0,
0,
"OSC2 FM amt 1", "OSC2 FM amt 1",
/*Base*/10, /*kexp*/2.5, /*scenter*/0.5, /*min*/-48, /*pcenter*/0, /*max*/+48, /*interval*/0.01 /*Base*/10, /*kexp*/2.5, /*scenter*/0.5, /*min*/-48, /*pcenter*/0, /*max*/+48, /*interval*/0.01
}, },
{ {
SYNTH_PARAM_OSC_0_FM_AMT_1, SYNTH_PARAM_OSC_0_FM_AMT_1,
0,
"OSC1 FM amt 2", "OSC1 FM amt 2",
/*Base*/1, /*kexp*/1, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.01 /*Base*/1, /*kexp*/1, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.01
}, },
{ {
SYNTH_PARAM_OSC_1_FM_AMT_1, SYNTH_PARAM_OSC_1_FM_AMT_1,
0,
"OSC2 FM amt 2", "OSC2 FM amt 2",
/*Base*/1, /*kexp*/1, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.01 /*Base*/1, /*kexp*/1, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.01
}, },
{ {
SYNTH_PARAM_OSC_0_FM_SRC_0, SYNTH_PARAM_OSC_0_FM_SRC_0,
-1,
"OSC1 FM src 1", "OSC1 FM src 1",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_1_FM_SRC_0, SYNTH_PARAM_OSC_1_FM_SRC_0,
-1,
"OSC2 FM src 1", "OSC2 FM src 1",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_0_FM_SRC_1, SYNTH_PARAM_OSC_0_FM_SRC_1,
-1,
"OSC1 FM src 2", "OSC1 FM src 2",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/(VOICE_NUM_MOD_SOURCES_1-1)*VOICE_NUM_MOD_OPS + 1-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/(VOICE_NUM_MOD_SOURCES_1-1)*VOICE_NUM_MOD_OPS + 1-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_1_FM_SRC_1, SYNTH_PARAM_OSC_1_FM_SRC_1,
-1,
"OSC2 FM src 2", "OSC2 FM src 2",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/(VOICE_NUM_MOD_SOURCES_1-1)*VOICE_NUM_MOD_OPS + 1-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/(VOICE_NUM_MOD_SOURCES_1-1)*VOICE_NUM_MOD_OPS + 1-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_0_FM_SRC_OP, SYNTH_PARAM_OSC_0_FM_SRC_OP,
-1,
"OSC1 FM src OP", "OSC1 FM src OP",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_OPS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_OPS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_1_FM_SRC_OP, SYNTH_PARAM_OSC_1_FM_SRC_OP,
-1,
"OSC2 FM src OP", "OSC2 FM src OP",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_OPS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_OPS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_0_AM_AMT_0, SYNTH_PARAM_OSC_0_AM_AMT_0,
0,
"OSC1 AM amt 1", "OSC1 AM amt 1",
/*Base*/1, /*kexp*/1, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.01 /*Base*/1, /*kexp*/1, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.01
}, },
{ {
SYNTH_PARAM_OSC_1_AM_AMT_0, SYNTH_PARAM_OSC_1_AM_AMT_0,
0,
"OSC2 AM amt 1", "OSC2 AM amt 1",
/*Base*/1, /*kexp*/1, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.01 /*Base*/1, /*kexp*/1, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.01
}, },
{ {
SYNTH_PARAM_OSC_0_AM_AMT_1, SYNTH_PARAM_OSC_0_AM_AMT_1,
0,
"OSC1 AM amt 2", "OSC1 AM amt 2",
/*Base*/1, /*kexp*/1, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.01 /*Base*/1, /*kexp*/1, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.01
}, },
{ {
SYNTH_PARAM_OSC_1_AM_AMT_1, SYNTH_PARAM_OSC_1_AM_AMT_1,
0,
"OSC2 AM amt 2", "OSC2 AM amt 2",
/*Base*/1, /*kexp*/1, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.01 /*Base*/1, /*kexp*/1, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.01
}, },
{ {
SYNTH_PARAM_OSC_0_AM_SRC_0, SYNTH_PARAM_OSC_0_AM_SRC_0,
-1,
"OSC1 AM src 1", "OSC1 AM src 1",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_1_AM_SRC_0, SYNTH_PARAM_OSC_1_AM_SRC_0,
-1,
"OSC2 AM src 1", "OSC2 AM src 1",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_0_AM_SRC_1, SYNTH_PARAM_OSC_0_AM_SRC_1,
-1,
"OSC1 AM src 2", "OSC1 AM src 2",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/(VOICE_NUM_MOD_SOURCES_1-1)*VOICE_NUM_MOD_OPS + 1-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/(VOICE_NUM_MOD_SOURCES_1-1)*VOICE_NUM_MOD_OPS + 1-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_1_AM_SRC_1, SYNTH_PARAM_OSC_1_AM_SRC_1,
-1,
"OSC2 AM src 2", "OSC2 AM src 2",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/(VOICE_NUM_MOD_SOURCES_1-1)*VOICE_NUM_MOD_OPS + 1-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/(VOICE_NUM_MOD_SOURCES_1-1)*VOICE_NUM_MOD_OPS + 1-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_0_AM_SRC_OP, SYNTH_PARAM_OSC_0_AM_SRC_OP,
-1,
"OSC1 AM src OP", "OSC1 AM src OP",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_OPS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_OPS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_1_AM_SRC_OP, SYNTH_PARAM_OSC_1_AM_SRC_OP,
-1,
"OSC2 AM src OP", "OSC2 AM src OP",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_OPS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_OPS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_0_PWM_AMT_0, SYNTH_PARAM_OSC_0_PWM_AMT_0,
0,
"OSC1 PWM amt 1", "OSC1 PWM amt 1",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_OSC_1_PWM_AMT_0, SYNTH_PARAM_OSC_1_PWM_AMT_0,
0,
"OSC2 PWM amt 1", "OSC2 PWM amt 1",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_OSC_0_PWM_AMT_1, SYNTH_PARAM_OSC_0_PWM_AMT_1,
0,
"OSC1 PWM amt 2", "OSC1 PWM amt 2",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_OSC_1_PWM_AMT_1, SYNTH_PARAM_OSC_1_PWM_AMT_1,
0,
"OSC2 PWM amt 2", "OSC2 PWM amt 2",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/+100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_OSC_0_PWM_SRC_0, SYNTH_PARAM_OSC_0_PWM_SRC_0,
-1,
"OSC1 PWM src 1", "OSC1 PWM src 1",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_1_PWM_SRC_0, SYNTH_PARAM_OSC_1_PWM_SRC_0,
-1,
"OSC2 PWM src 1", "OSC2 PWM src 1",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_0_PWM_SRC_1, SYNTH_PARAM_OSC_0_PWM_SRC_1,
-1,
"OSC1 PWM src 2", "OSC1 PWM src 2",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/(VOICE_NUM_MOD_SOURCES_1-1)*VOICE_NUM_MOD_OPS + 1-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/(VOICE_NUM_MOD_SOURCES_1-1)*VOICE_NUM_MOD_OPS + 1-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_1_PWM_SRC_1, SYNTH_PARAM_OSC_1_PWM_SRC_1,
-1,
"OSC2 PWM src 2", "OSC2 PWM src 2",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/(VOICE_NUM_MOD_SOURCES_1-1)*VOICE_NUM_MOD_OPS + 1-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/(VOICE_NUM_MOD_SOURCES_1-1)*VOICE_NUM_MOD_OPS + 1-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_0_PWM_SRC_OP, SYNTH_PARAM_OSC_0_PWM_SRC_OP,
-1,
"OSC1 PWM src OP", "OSC1 PWM src OP",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_OPS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_OPS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_OSC_1_PWM_SRC_OP, SYNTH_PARAM_OSC_1_PWM_SRC_OP,
-1,
"OSC2 PWM src OP", "OSC2 PWM src OP",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_OPS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_OPS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_NOISE_ENABLE, SYNTH_PARAM_NOISE_ENABLE,
-1,
"Noise enable", "Noise enable",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/1, /*interval*/1
}, },
{ {
SYNTH_PARAM_NOISE_LEVEL, SYNTH_PARAM_NOISE_LEVEL,
0,
"Noise level", "Noise level",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_NOISE_SHAPE, SYNTH_PARAM_NOISE_SHAPE,
-1,
"Noise shape", "Noise shape",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NOISE_NUM_SHAPES-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NOISE_NUM_SHAPES-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_VCA_ENV_AMT, SYNTH_PARAM_VCA_ENV_AMT,
0,
"VCA Env amt", "VCA Env amt",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_VCA_AM_AMT_0, SYNTH_PARAM_VCA_AM_AMT_0,
0,
"VCA AM amt 1", "VCA AM amt 1",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_VCA_AM_SRC_0, SYNTH_PARAM_VCA_AM_SRC_0,
-1,
"VCA AM src 1", "VCA AM src 1",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_VCA_PAN_AMT_0, SYNTH_PARAM_VCA_PAN_AMT_0,
0,
"VCA PAN amt 1", "VCA PAN amt 1",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_VCA_PAN_SRC_0, SYNTH_PARAM_VCA_PAN_SRC_0,
-1,
"VCA PAN src 1", "VCA PAN src 1",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_VCA_ENV_A, SYNTH_PARAM_VCA_ENV_A,
0,
"VCA Attack", "VCA Attack",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/10000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/10000, /*interval*/1
}, },
{ {
SYNTH_PARAM_VCA_ENV_D, SYNTH_PARAM_VCA_ENV_D,
0,
"VCA Decay", "VCA Decay",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/5, /*pcenter*/-1, /*max*/30000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/5, /*pcenter*/-1, /*max*/30000, /*interval*/1
}, },
{ {
SYNTH_PARAM_VCA_ENV_S, SYNTH_PARAM_VCA_ENV_S,
0,
"VCA Sustain", "VCA Sustain",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_VCF_ENV_A, SYNTH_PARAM_VCF_ENV_A,
0,
"VCF Attack", "VCF Attack",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/10000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/10000, /*interval*/1
}, },
{ {
SYNTH_PARAM_VCF_ENV_D, SYNTH_PARAM_VCF_ENV_D,
0,
"VCF Decay", "VCF Decay",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/5, /*pcenter*/-1, /*max*/30000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/5, /*pcenter*/-1, /*max*/30000, /*interval*/1
}, },
{ {
SYNTH_PARAM_VCF_ENV_S, SYNTH_PARAM_VCF_ENV_S,
0,
"VCF Sustain", "VCF Sustain",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_VCF_ENV_R, SYNTH_PARAM_VCF_ENV_R,
0,
"VCF Release", "VCF Release",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/5, /*pcenter*/-1, /*max*/30000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/5, /*pcenter*/-1, /*max*/30000, /*interval*/1
}, },
{ {
SYNTH_PARAM_ENV_2_A, SYNTH_PARAM_ENV_2_A,
0,
"ENV 2 Attack", "ENV 2 Attack",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/10000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/10000, /*interval*/1
}, },
{ {
SYNTH_PARAM_ENV_2_D, SYNTH_PARAM_ENV_2_D,
0,
"ENV 2 Decay", "ENV 2 Decay",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/5, /*pcenter*/-1, /*max*/30000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/5, /*pcenter*/-1, /*max*/30000, /*interval*/1
}, },
{ {
SYNTH_PARAM_ENV_2_S, SYNTH_PARAM_ENV_2_S,
0,
"ENV 2 Sustain", "ENV 2 Sustain",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_ENV_2_R, SYNTH_PARAM_ENV_2_R,
0,
"ENV 2 Release", "ENV 2 Release",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/5, /*pcenter*/-1, /*max*/30000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/5, /*pcenter*/-1, /*max*/30000, /*interval*/1
}, },
{ {
SYNTH_PARAM_ENV_3_A, SYNTH_PARAM_ENV_3_A,
0,
"ENV 3 Attack", "ENV 3 Attack",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/10000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/10000, /*interval*/1
}, },
{ {
SYNTH_PARAM_ENV_3_D, SYNTH_PARAM_ENV_3_D,
0,
"ENV 3 Decay", "ENV 3 Decay",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/5, /*pcenter*/-1, /*max*/30000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/5, /*pcenter*/-1, /*max*/30000, /*interval*/1
}, },
{ {
SYNTH_PARAM_ENV_3_S, SYNTH_PARAM_ENV_3_S,
0,
"ENV 3 Sustain", "ENV 3 Sustain",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_ENV_3_R, SYNTH_PARAM_ENV_3_R,
0,
"ENV 3 Release", "ENV 3 Release",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/5, /*pcenter*/-1, /*max*/30000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/5, /*pcenter*/-1, /*max*/30000, /*interval*/1
}, },
{ {
SYNTH_PARAM_VCA_ENV_R, SYNTH_PARAM_VCA_ENV_R,
0,
"VCA Release", "VCA Release",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/5, /*pcenter*/-1, /*max*/30000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/5, /*pcenter*/-1, /*max*/30000, /*interval*/1
}, },
{ {
SYNTH_PARAM_VCF_TYPE, SYNTH_PARAM_VCF_TYPE,
-1,
"VCF type", "VCF type",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VCF_NUM_FILTERTYPES-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VCF_NUM_FILTERTYPES-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_VCF_ORDER, SYNTH_PARAM_VCF_ORDER,
-1,
"VCF order", "VCF order",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VCF_NUM_FILTERORDER-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VCF_NUM_FILTERORDER-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_VCF_F, SYNTH_PARAM_VCF_F,
0,
"VCF Cutoff", "VCF Cutoff",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/FILTER_F_MIN, /*pcenter*/-1, /*max*/FILTER_F_MAX, /*interval*/0.1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/FILTER_F_MIN, /*pcenter*/-1, /*max*/FILTER_F_MAX, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_VCF_Q, SYNTH_PARAM_VCF_Q,
0,
"VCF Res", "VCF Res",
/*Base*/10, /*kexp*/2.0, /*scenter*/0.0, /*min*/FILTER_Q_MIN, /*pcenter*/-1, /*max*/FILTER_Q_MAX, /*interval*/0.1 /*Base*/10, /*kexp*/2.0, /*scenter*/0.0, /*min*/FILTER_Q_MIN, /*pcenter*/-1, /*max*/FILTER_Q_MAX, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_VCF_ENV_AMT, SYNTH_PARAM_VCF_ENV_AMT,
0,
"VCF Env amt", "VCF Env amt",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_VCF_F_AMT_0, SYNTH_PARAM_VCF_F_AMT_0,
0,
"VCF Cutoff amt 1", "VCF Cutoff amt 1",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_VCF_F_AMT_1, SYNTH_PARAM_VCF_F_AMT_1,
0,
"VCF Cutoff amt 2", "VCF Cutoff amt 2",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_VCF_F_SRC_0, SYNTH_PARAM_VCF_F_SRC_0,
-1,
"VCF Cutoff src 1", "VCF Cutoff src 1",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_VCF_F_SRC_1, SYNTH_PARAM_VCF_F_SRC_1,
-1,
"VCF Cutoff src 2", "VCF Cutoff src 2",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/(VOICE_NUM_MOD_SOURCES_1-1)*VOICE_NUM_MOD_OPS + 1-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/(VOICE_NUM_MOD_SOURCES_1-1)*VOICE_NUM_MOD_OPS + 1-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_VCF_F_SRC_OP, SYNTH_PARAM_VCF_F_SRC_OP,
-1,
"VCF Cutoff src OP", "VCF Cutoff src OP",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_OPS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_OPS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_VCF_Q_AMT_0, SYNTH_PARAM_VCF_Q_AMT_0,
0,
"VCF Resonance amt 1", "VCF Resonance amt 1",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_VCF_Q_AMT_1, SYNTH_PARAM_VCF_Q_AMT_1,
0,
"VCF Resonance amt 2", "VCF Resonance amt 2",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_VCF_Q_SRC_0, SYNTH_PARAM_VCF_Q_SRC_0,
-1,
"VCF Resonance src 1", "VCF Resonance src 1",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_SOURCES_0-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_VCF_Q_SRC_1, SYNTH_PARAM_VCF_Q_SRC_1,
-1,
"VCF Resonance src 2", "VCF Resonance src 2",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/(VOICE_NUM_MOD_SOURCES_1-1)*VOICE_NUM_MOD_OPS + 1-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/(VOICE_NUM_MOD_SOURCES_1-1)*VOICE_NUM_MOD_OPS + 1-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_VCF_Q_SRC_OP, SYNTH_PARAM_VCF_Q_SRC_OP,
-1,
"VCF Resonance src OP", "VCF Resonance src OP",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_OPS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_NUM_MOD_OPS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_0_SPEED, SYNTH_PARAM_LFO_0_SPEED,
0,
"LFO 1 speed", "LFO 1 speed",
/*Base*/20, /*kexp*/1.0, /*scenter*/0.0, /*min*/0.01, /*pcenter*/-1, /*max*/200.0, /*interval*/0.01 /*Base*/20, /*kexp*/1.0, /*scenter*/0.0, /*min*/0.01, /*pcenter*/-1, /*max*/200.0, /*interval*/0.01
}, },
{ {
SYNTH_PARAM_LFO_1_SPEED, SYNTH_PARAM_LFO_1_SPEED,
0,
"LFO 2 speed", "LFO 2 speed",
/*Base*/20, /*kexp*/1.0, /*scenter*/0.0, /*min*/0.01, /*pcenter*/-1, /*max*/200.0, /*interval*/0.01 /*Base*/20, /*kexp*/1.0, /*scenter*/0.0, /*min*/0.01, /*pcenter*/-1, /*max*/200.0, /*interval*/0.01
}, },
{ {
SYNTH_PARAM_LFO_2_SPEED, SYNTH_PARAM_LFO_2_SPEED,
0,
"LFO 3 speed", "LFO 3 speed",
/*Base*/20, /*kexp*/1.0, /*scenter*/0.0, /*min*/0.01, /*pcenter*/-1, /*max*/200.0, /*interval*/0.01 /*Base*/20, /*kexp*/1.0, /*scenter*/0.0, /*min*/0.01, /*pcenter*/-1, /*max*/200.0, /*interval*/0.01
}, },
{ {
SYNTH_PARAM_LFO_3_SPEED, SYNTH_PARAM_LFO_3_SPEED,
0,
"LFO 4 speed", "LFO 4 speed",
/*Base*/20, /*kexp*/1.0, /*scenter*/0.0, /*min*/0.01, /*pcenter*/-1, /*max*/200.0, /*interval*/0.01 /*Base*/20, /*kexp*/1.0, /*scenter*/0.0, /*min*/0.01, /*pcenter*/-1, /*max*/200.0, /*interval*/0.01
}, },
{ {
SYNTH_PARAM_LFO_0_SMOOTH, SYNTH_PARAM_LFO_0_SMOOTH,
0,
"LFO 1 smooth", "LFO 1 smooth",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_LFO_1_SMOOTH, SYNTH_PARAM_LFO_1_SMOOTH,
0,
"LFO 2 smooth", "LFO 2 smooth",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_LFO_2_SMOOTH, SYNTH_PARAM_LFO_2_SMOOTH,
0,
"LFO 3 smooth", "LFO 3 smooth",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_LFO_3_SMOOTH, SYNTH_PARAM_LFO_3_SMOOTH,
0,
"LFO 4 smooth", "LFO 4 smooth",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_LFO_0_DELAY, SYNTH_PARAM_LFO_0_DELAY,
0,
"LFO 1 Delay", "LFO 1 Delay",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/30000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/30000, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_1_DELAY, SYNTH_PARAM_LFO_1_DELAY,
0,
"LFO 2 Delay", "LFO 2 Delay",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/30000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/30000, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_2_DELAY, SYNTH_PARAM_LFO_2_DELAY,
0,
"LFO 3 Delay", "LFO 3 Delay",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/30000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/30000, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_3_DELAY, SYNTH_PARAM_LFO_3_DELAY,
0,
"LFO 4 Delay", "LFO 4 Delay",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/30000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/30000, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_0_ATTACK, SYNTH_PARAM_LFO_0_ATTACK,
0,
"LFO 1 Attack", "LFO 1 Attack",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/10000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/10000, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_1_ATTACK, SYNTH_PARAM_LFO_1_ATTACK,
0,
"LFO 2 Attack", "LFO 2 Attack",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/10000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/10000, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_2_ATTACK, SYNTH_PARAM_LFO_2_ATTACK,
0,
"LFO 3 Attack", "LFO 3 Attack",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/10000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/10000, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_3_ATTACK, SYNTH_PARAM_LFO_3_ATTACK,
0,
"LFO 4 Attack", "LFO 4 Attack",
/*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/10000, /*interval*/1 /*Base*/150, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/10000, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_0_SHAPE, SYNTH_PARAM_LFO_0_SHAPE,
-1,
"LFO 1 shape", "LFO 1 shape",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/LFO_NUM_WAVEFORMS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/LFO_NUM_WAVEFORMS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_1_SHAPE, SYNTH_PARAM_LFO_1_SHAPE,
-1,
"LFO 2 shape", "LFO 2 shape",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/LFO_NUM_WAVEFORMS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/LFO_NUM_WAVEFORMS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_2_SHAPE, SYNTH_PARAM_LFO_2_SHAPE,
-1,
"LFO 3 shape", "LFO 3 shape",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/LFO_NUM_WAVEFORMS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/LFO_NUM_WAVEFORMS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_3_SHAPE, SYNTH_PARAM_LFO_3_SHAPE,
-1,
"LFO 4 shape", "LFO 4 shape",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/LFO_NUM_WAVEFORMS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/LFO_NUM_WAVEFORMS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_0_MODE, SYNTH_PARAM_LFO_0_MODE,
-1,
"LFO 1 mode", "LFO 1 mode",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_LFO_NUM_MODES-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_LFO_NUM_MODES-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_1_MODE, SYNTH_PARAM_LFO_1_MODE,
-1,
"LFO 2 mode", "LFO 2 mode",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_LFO_NUM_MODES-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_LFO_NUM_MODES-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_2_MODE, SYNTH_PARAM_LFO_2_MODE,
-1,
"LFO 3 mode", "LFO 3 mode",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_LFO_NUM_MODES-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_LFO_NUM_MODES-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_3_MODE, SYNTH_PARAM_LFO_3_MODE,
-1,
"LFO 4 mode", "LFO 4 mode",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_LFO_NUM_MODES-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_LFO_NUM_MODES-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_0_SYNC, SYNTH_PARAM_LFO_0_SYNC,
-1,
"LFO 1 sync", "LFO 1 sync",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_LFO_NUM_SYNCS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_LFO_NUM_SYNCS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_1_SYNC, SYNTH_PARAM_LFO_1_SYNC,
-1,
"LFO 2 sync", "LFO 2 sync",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_LFO_NUM_SYNCS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_LFO_NUM_SYNCS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_2_SYNC, SYNTH_PARAM_LFO_2_SYNC,
-1,
"LFO 3 sync", "LFO 3 sync",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_LFO_NUM_SYNCS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_LFO_NUM_SYNCS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_3_SYNC, SYNTH_PARAM_LFO_3_SYNC,
-1,
"LFO 4 sync", "LFO 4 sync",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_LFO_NUM_SYNCS-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/VOICE_LFO_NUM_SYNCS-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_0_SYMMETRY, SYNTH_PARAM_LFO_0_SYMMETRY,
0,
"LFO 1 symmetry", "LFO 1 symmetry",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_LFO_1_SYMMETRY, SYNTH_PARAM_LFO_1_SYMMETRY,
0,
"LFO 2 symmetry", "LFO 2 symmetry",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_LFO_2_SYMMETRY, SYNTH_PARAM_LFO_2_SYMMETRY,
0,
"LFO 3 symmetry", "LFO 3 symmetry",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_LFO_3_SYMMETRY, SYNTH_PARAM_LFO_3_SYMMETRY,
0,
"LFO 4 symmetry", "LFO 4 symmetry",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.5, /*min*/-100, /*pcenter*/0, /*max*/100, /*interval*/0.1
}, },
{ {
SYNTH_PARAM_LFO_0_MIDISYNC_MODE, SYNTH_PARAM_LFO_0_MIDISYNC_MODE,
-1,
"LFO 1 Midi Sync Mode", "LFO 1 Midi Sync Mode",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/LFO_NUM_SYNC_MODES-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/LFO_NUM_SYNC_MODES-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_1_MIDISYNC_MODE, SYNTH_PARAM_LFO_1_MIDISYNC_MODE,
-1,
"LFO 2 Midi Sync Mode", "LFO 2 Midi Sync Mode",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/LFO_NUM_SYNC_MODES-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/LFO_NUM_SYNC_MODES-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_2_MIDISYNC_MODE, SYNTH_PARAM_LFO_2_MIDISYNC_MODE,
-1,
"LFO 3 Midi Sync Mode", "LFO 3 Midi Sync Mode",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/LFO_NUM_SYNC_MODES-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/LFO_NUM_SYNC_MODES-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_3_MIDISYNC_MODE, SYNTH_PARAM_LFO_3_MIDISYNC_MODE,
-1,
"LFO 4 Midi Sync Mode", "LFO 4 Midi Sync Mode",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/LFO_NUM_SYNC_MODES-1, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/0, /*pcenter*/-1, /*max*/LFO_NUM_SYNC_MODES-1, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_0_MIDISYNC_BEATDIV, SYNTH_PARAM_LFO_0_MIDISYNC_BEATDIV,
0,
"LFO 1 Midi Sync Beat Divisor", "LFO 1 Midi Sync Beat Divisor",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/32, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/32, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_1_MIDISYNC_BEATDIV, SYNTH_PARAM_LFO_1_MIDISYNC_BEATDIV,
0,
"LFO 2 Midi Sync Beat Divisor", "LFO 2 Midi Sync Beat Divisor",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/32, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/32, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_2_MIDISYNC_BEATDIV, SYNTH_PARAM_LFO_2_MIDISYNC_BEATDIV,
0,
"LFO 3 Midi Sync Beat Divisor", "LFO 3 Midi Sync Beat Divisor",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/32, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/32, /*interval*/1
}, },
{ {
SYNTH_PARAM_LFO_3_MIDISYNC_BEATDIV, SYNTH_PARAM_LFO_3_MIDISYNC_BEATDIV,
0,
"LFO 4 Midi Sync Beat Divisor", "LFO 4 Midi Sync Beat Divisor",
/*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/32, /*interval*/1 /*Base*/1.0, /*kexp*/1.0, /*scenter*/0.0, /*min*/1, /*pcenter*/-1, /*max*/32, /*interval*/1
}, },
+1
View File
@@ -156,6 +156,7 @@ enum
typedef struct _sparam_info_t typedef struct _sparam_info_t
{ {
UINT32 id; UINT32 id;
int midiControllerId;
char *pName; char *pName;
synth_float_t base, kexp, scenter, pmin, pcenter, pmax, pinterval; synth_float_t base, kexp, scenter, pmin, pcenter, pmax, pinterval;