local group_dco1 = Group { name = "DCO1", Parameter { id = "octave", name = "Octave", type ="cc", number = 0, item_values ={0,62,127}, items = {"Low","Mid","High"}, }, Parameter { id = "wave1", name = "Waveform", type ="cc", number = 1, item_values ={0,127}, items = {"Square","Saw"}, }, Parameter { id = "harmonics1", name = "Harmonics", type ="cc", number = 2, item_values = {0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,127}, items = {"16'","8'","4'","2'","16' + 8'","16' + 4'","16' + 2'","8' + 4'","8' + 2'","4' + 2'","16' + 8' + 4'","16' + 8' + 2'","16' + 4' + 2'","8' + 4' + 2'","All On","All Off",} }, Parameter { id = "modwav1", name = "Mod Waveform", type ="cc", number = 3, item_values ={0,14,23,26,35,44,54,60,70,78,85,110,127}, items = {"Triangle","Triangle (Invert)","Saw","Saw (Invert)", "Sine","Sine (Invert)","PWM","PWM (Invert)","LFO Sample & Hold","1/4 Clock S/H", "Seq Loop S/H",}, }, Parameter { id = "modsource1", name = "Mod LFO Source", type ="cc", number = 4, item_values = {0,40,80,127}, items = {"LFO1","LFO2","SLFO3","SLFO4",}, }, Parameter { id = "LFOmoddepth1", name = "LFO Mod Depth", type ="cc", number = 5, display_max_value = 15, }, Parameter { id = "dco1vol", name = "Volume", type ="cc", number = 6, display_max_value = 31, }, Parameter { id = "singledouble", name = "Mode", type ="cc", number = 7, item_values = {0,127}, items = {"Single","Double",}, }, } local group_dco2 = Group { name = "DCO2", Parameter { id = "Octave2", name = "Octave2", type ="cc", number = 8, item_values ={1,61,126}, items = {"Low","Mid","High"}, }, Parameter { id = "wave2", name = "Waveform", type ="cc", number = 9, item_values = {0,127}, items = {"Square","Saw"}, }, Parameter { id = "harmonics2", name = "Harmonics", type ="cc", number = 10, item_values = {0,8,16,24,32,40,48,56,64,72,80,88,96,104,112,120,127}, items = {"16'","8'","4'","2'","16' + 8'","16' + 4'","16' + 2'","8' + 4'","8' + 2'","4' + 2'","16' + 8' + 4'","16' + 8' + 2'","16' + 4' + 2'","8' + 4' + 2'","All On","All Off",} }, Parameter { id = "modwav2", name = "Mod Waveform", type ="cc", number = 11, item_values ={0,14,23,26,35,44,54,60,70,78,85,110,127}, items = {"Triangle","Triangle (Invert)","Saw","Saw (Invert)", "Sine","Sine (Invert)","Square PWM","Square PWM (Invert)","LFO Sample & Hold","1/4 Clock S/H", "Seq Loop S/H",}, }, Parameter { id = "modsource2", name = "Mod LFO Source", type ="cc", number = 12, item_values = {0,40,80,127}, items = {"LFO1","LFO2","SLFO3","SLFO4",}, }, Parameter { id = "LFOmoddepth2", name = "LFO Mod Depth", type ="cc", number = 13, display_max_value = 15, }, Parameter { id = "dco2vol", name = "Volume", type ="cc", number = 14, display_max_value = 31, }, Parameter { id = "dco2interval", name = "Interval", type ="cc", number = 16, display_max_value = 11, }, Parameter { id = "dco2detune", name = "Detune", type ="cc", number = 17, display_max_value = 3, }, } local group_noise = Group { name = "Noise", Parameter { id = "noise", name = "Volume", type ="cc", number = 18, display_max_value = 15, }, } local group_filter = Group { name = "Filter", Parameter { id = "cutoff", name = "Cutoff", type ="cc", number = 24, display_max_value = 99, }, Parameter { id = "keyboardtrack", name = "Keyboard Track", type ="cc", number = 25, item_values = {0,62,127}, items = {"Off","Half","Full"}, }, Parameter { id = "EGpolarity", name = "EG Polarity", type ="cc", number = 26, item_values = {0,127}, items = {"-","+",}, }, Parameter { id = "EGdepth", name = "EG Depth", type ="cc", number = 27, display_max_value = 15, }, Parameter { id = "EG3trigger", name = "EG3 Trigger", type ="cc", number = 28, item_values = {0,127}, items = {"Single","Multi",}, }, Parameter { id = "filterswitch", name = "Mode", type ="cc", number = 95, item_values = {0,127}, items = {"12db","24db"}, }, } local group_adsr1 = Group { name = "DCO1 Envelope", Parameter { id = "Attack1", name = "Attack", type ="cc", number = 32, display_max_value = 31, }, Parameter { id = "Decay1", name = "Decay", type ="cc", number = 33, display_max_value = 31, }, Parameter { id = "breakpoint1", name = "Break Point", type ="cc", number = 34, display_max_value = 31, }, Parameter { id = "slope1", name = "Slope", type ="cc", number = 35, display_max_value = 31, }, Parameter { id = "sustain1", name = "Sustain", type ="cc", number = 36, display_max_value = 31, }, Parameter { id = "release1", name = "Release", type ="cc", number = 37, display_max_value = 31, }, } local group_adsr2 = Group { name = "DCO2 Envelope", Parameter { id = "Attack2", name = "Attack", type ="cc", number = 40, display_max_value = 31, }, Parameter { id = "Decay2", name = "Decay", type ="cc", number = 41, display_max_value = 31, }, Parameter { id = "breakpoint2", name = "Break Point", type ="cc", number = 42, display_max_value = 31, }, Parameter { id = "slope2", name = "Slope", type ="cc", number = 43, display_max_value = 31, }, Parameter { id = "sustain2", name = "Sustain", type ="cc", number = 44, display_max_value = 31, }, Parameter { id = "release2", name = "Release", type ="cc", number = 45, display_max_value = 31, }, } local group_adsr3 = Group { name = "Filter/Noise Envelope", Parameter { id = "Attack3", name = "Attack", type ="cc", number = 48, display_max_value = 31, }, Parameter { id = "Decay3", name = "Decay", type ="cc", number = 49, display_max_value = 31, }, Parameter { id = "breakpoint3", name = "Break Point", type ="cc", number = 50, display_max_value = 31, }, Parameter { id = "slope3", name = "Slope", type ="cc", number = 51, display_max_value = 31, }, Parameter { id = "sustain3", name = "Sustain", type ="cc", number = 52, display_max_value = 31, }, Parameter { id = "release3", name = "Release", type ="cc", number = 53, display_max_value = 31, }, } local group_velsense = Group { name = "Velocity Effects", Parameter { id = "Op1intens", name = "Op1 Intensity", type ="cc", number = 56, display_max_value = 15, }, Parameter { id = "Op1inv", name = "Op1 Invert", type ="cc", number = 57, item_values = {0,127}, items = {"Normal","Invert"}, }, Parameter { id = "Op1veltarget", name = "Op1 Velocity Target", type ="cc", number = 58, item_values ={0,14,23,26,35,44,54,60,70,78,85,110,127}, items = {"EG1 Attack","EG1 Decay","EG1 Sustain","EG1 Release","EG2 Attack","EG2 Decay","EG2 Sustain","EG2 Release","EG3 Attack","EG3 Decay","EG3 Sustain","EG3 Release"}, }, Parameter { id = "Op2intens", name = "Op2 Intensity", type ="cc", number = 59, display_max_value = 15, }, Parameter { id = "Op2inv", name = "Op2 Invert", type ="cc", number = 60, item_values = {0,127}, items = {"Normal","Invert"}, }, Parameter { id = "Op2veltarget", name = "Op2 Velocity Target", type ="cc", number = 61, item_values ={0,14,23,26,35,44,54,60,70,78,85,110,127}, items = {"EG1 Attack","EG1 Decay","EG1 Sustain","EG1 Release","EG2 Attack","EG2 Decay","EG2 Sustain","EG2 Release","EG3 Attack","EG3 Decay","EG3 Sustain","EG3 Release"}, }, Parameter { id = "VCFintens", name = "VCF Intensity", type ="cc", number = 62, display_max_value = 6, }, Parameter { id = "VCFshape", name = "VCF Shape", type ="cc", number = 63, item_values = {0,25,45,60,75,110}, items = {"Lin","LinInv","S", "SInv","Log","LogInv"}, }, } local group_lfo1 = Group { name = "LFO1", Parameter { id = "lfo1freq", name = "Frequency", type ="cc", number = 64, display_max_value = 15, }, Parameter { id = "lfo1timer", name = "Delay", type ="cc", number = 65, display_max_value = 15, }, Parameter { id = "lfo1freerun", name = "Free Run", type ="cc", number = 66, item_values = {0,127}, items = {"Reset","Free Run"}, }, Parameter { id = "lfo1delayinv", name = "Delay Invert", type ="cc", number = 67, item_values = {0,127}, items = {"Normal","Invert"}, }, Parameter { id = "lfo1pwmphase", name = "PWM Phase", type ="cc", number = 68, display_max_value = 63, }, Parameter { id = "lfo3wav", name = "LFO3 Wav > LFO1", type ="cc", number = 69, gui_type = "dropdown", item_values = {0,10,20,30,36,44,48,58}, items = {"Triangle","Triangle Invert","Saw", "Saw Invert","Sine","Sine Invert","Square PWM","Square PWM Invert"}, }, Parameter { id = "lfo3moddepth", name = "LFO3 Depth > LFO1", type ="cc", number = 70, display_max_value = 15, }, } local group_lfo2 = Group { name = "LFO2", Parameter { id = "lfo2freq", name = "Frequency", type ="cc", number = 72, display_max_value = 15, }, Parameter { id = "lfo2timer", name = "Delay", type ="cc", number = 73, display_max_value = 15, }, Parameter { id = "lfo2freerun", name = "Free Run", type ="cc", number = 74, item_values = {0,127}, items = {"Reset","Free Run"}, }, Parameter { id = "lfo2delayinv", name = "Delay Invert", type ="cc", number = 75, item_values = {0,127}, items = {"Normal","Invert"}, }, Parameter { id = "lfo2pwmphase", name = "PWM Phase", type ="cc", number = 76, display_max_value = 63, }, Parameter { id = "lfo4wav", name = "LFO4 Wav > LFO2", type ="cc", number = 77, gui_type = "dropdown", item_values = {0,10,20,30,36,44,48,58}, items = {"Triangle","Triangle Invert","Saw", "Saw Invert","Sine","Sine Invert","Square PWM","Square PWM Invert"}, }, Parameter { id = "lfo4moddepth", name = "LFO Depth > LFO2", type ="cc", number = 78, display_max_value = 15, }, } local group_dcomod = Group { name = "DCO Modulation", Parameter { id = "dcomodwav", name = "Waveform", type ="cc", number = 80, item_values ={0,14,23,26,35,44,54,60,70,78,85,110,127}, items = {"Triangle","Triangle (Invert)","Saw","Saw (Invert)", "Sine","Sine (Invert)","Square PWM","Square PWM (Invert)","LFO Sample & Hold","1/4 Clock S/H", "Seq Loop S/H"}, }, Parameter { id = "dcomodsource", name = "LFO Source", type ="cc", number = 81, item_values = {0,40,80,127}, items = {"LFO1","LFO2","SLFO3","SLFO4",}, }, Parameter { id = "dcomoddepth", name = "Mod Depth", type ="cc", number = 82, display_max_value = 15, }, Parameter { id = "dcoinvert", name = "EG Invert", type ="cc", number = 84, item_values = {0,127}, items = {"Normal","Invert"}, }, Parameter { id = "dcoegdepth", name = "DCO EG Depth", type ="cc", number = 85, display_max_value = 15, }, Parameter { id = "dcomodmode", name = "Mod Mode", type ="cc", number = 87, item_values = {0,62}, items = {"Normal","Pitch Bend"}, }, } local group_vcfmod = Group { name = "VCF Modulation", Parameter { id = "lfo1wav", name = "1st LFO Waveform", type ="cc", number = 88, item_values ={0,14,23,26,35,44,54,60,70,78,85,110,127}, items = {"Triangle","Triangle (Invert)","Saw","Saw (Invert)", "Sine","Sine (Invert)","Square PWM","Square PWM (Invert)","LFO Sample & Hold","1/4 Clock S/H", "Seq Loop S/H"}, }, Parameter { id = "lfo1modsource", name = "1st LFO Mod Source", type ="cc", number = 89, item_values = {0,40,80,127}, items = {"LFO1","LFO2","SLFO3","SLFO4",}, }, Parameter { id = "lfo1moddepth", name = "1st LFO Mod Depth", type ="cc", number = 90, display_max_value = 15, }, Parameter { id = "lfo2wav", name = "2nd LFO Waveform", type ="cc", number = 91, item_values ={0,14,23,26,35,44,54,60,70,78,85,110,127}, items = {"Triangle","Triangle (Invert)","Saw","Saw (Invert)", "Sine","Sine (Invert)","Square PWM","Square PWM (Invert)","LFO Sample & Hold","1/4 Clock S/H", "Seq Loop S/H"}, }, Parameter { id = "lfo2modsource", name = "2nd LFO Mod Source", type ="cc", number = 92, item_values = {0,40,80,127}, items = {"LFO1","LFO2","SLFO3","SLFO4",}, }, Parameter { id = "lfo2moddepth", name = "2nd LFO Mod Depth", type ="cc", number = 93, display_max_value = 15, }, } local group_resmod = Group { name = "Resonance Modulation", Parameter { id = "resset", name = "Resonance", type ="cc", number = 96, display_max_value = 99, }, Parameter { id = "reslfowav", name = "LFO Waveform", type ="cc", number = 97, gui_type = "dropdown", item_values ={0,10,20,30,36,44,48,58,66}, items = {"Triangle","Triangle (Invert)","Saw","Saw (Invert)", "Sine","Sine (Invert)","Square PWM","Square PWM (Invert)","Sample & Hold"}, }, Parameter { id = "lforesmodsource", name = "LFO Mod Source", type ="cc", number = 98, item_values = {0,40,80,127}, items = {"LFO1","LFO2","SLFO3","SLFO4",}, }, Parameter { id = "lforesmoddepth", name = "LFO Mod Depth", type ="cc", number = 99, display_max_value = 15, }, Parameter { id = "eg3resdepth", name = "EG3 Mod Depth", type ="cc", number = 101, display_max_value = 15, }, Parameter { id = "dcoxinvert", name = "EG Invert", type ="cc", number = 102, item_values = {0,127}, items = {"Normal","Invert"}, }, Parameter { id = "agressiveres", name = "Aggressive Resonance", type ="cc", number = 103, item_values = {0,127}, items = {"Off","On"}, }, } local group_fmmod = Group { name = "FM/Noise Modulation", Parameter { id = "FM800level", name = "FM800 Level", type ="cc", number = 104, display_max_value = 99, }, Parameter { id = "fm800lfowav", name = "LFO Waveform", type ="cc", number = 105, gui_type = "dropdown", item_values ={0,10,20,30,36,44,48,58,66}, items = {"Triangle","Triangle (Invert)","Saw","Saw (Invert)", "Sine","Sine (Invert)","Square PWM","Square PWM (Invert)","Sample & Hold"}, }, Parameter { id = "fm800lfosource", name = "LFO Mod Source", type ="cc", number = 106, item_values = {0,40,80,127}, items = {"LFO1","LFO2","SLFO3","SLFO4",}, }, Parameter { id = "fm800lfoepth", name = "LFO Mod Depth", type ="cc", number = 107, display_max_value = 15, }, Parameter { id = "fm800egdepth", name = "EG Mod Depth", type ="cc", number = 109, display_max_value = 15, }, Parameter { id = "fm800eginvert", name = "EG Invert", type ="cc", number = 110, item_values = {0,127}, items = {"Normal","Invert"}, }, Parameter { id = "fm800mode", name = "Mode", type ="cc", number = 111, item_values = {0,62,127}, items = {"FM800","FM800/Noise","Noise"}, }, } local group_slfo = Group { name = "SLFO Group", Parameter { id = "slo3freq", name = "SLFO3 Frequency", type ="cc", number = 112, display_max_value = 15, }, Parameter { id = "slfo3pwm", name = "SLFO3 PWM Phase", type ="cc", number = 113, display_max_value = 63, }, Parameter { id = "slfo3freerun", name = "Free Running", type ="cc", number = 114, item_values = {0,127}, items = {"Note On","Free Running"}, }, Parameter { id = "noteshticks", name = "1/4 Note S/H Ticks", type ="cc", number = 115, display_max_value = 63, }, Parameter { id = "SLFO4freq", name = "SLFO4 Frequency", type ="cc", number = 116, display_max_value = 15, }, Parameter { id = "SLFO4phase", name = "SLFO4 PWM Phase", type ="cc", number = 117, display_max_value = 63, }, Parameter { id = "slfo4freerun", name = "Free Running", type ="cc", number = 118, item_values = {0,127}, items = {"Note On","Free Running"}, }, } local group_tremelo = Group { name = "Tremelo", Parameter { id = "DCO1Source", name = "DCO1 Source", type ="cc", number = 120, item_values = {0,62,127}, items = {"Off","LFO1","LFO2"}, }, Parameter { id = "tremdepth", name = "DCO1 Depth", type ="cc", number = 121, display_max_value = 15, }, Parameter { id = "DCO2xSource", name = "DCO2 Source", type ="cc", number = 122, item_values = {0,62,127}, items = {"Off","LFO1","LFO2"}, }, Parameter { id = "tremx2depth", name = "DCO2 Depth", type ="cc", number = 123, display_max_value = 15, }, } local group_other = Group { name= "Other", Parameter { id = "benddepth", name = "Bend Depth", type ="cc", number = 124, display_max_value = 63, }, Parameter { id = "Portamento", name = "Portamento", type ="cc", number = 125, display_max_value = 63, }, Parameter { id = "Polymode", name = "Poly Mode", type ="cc", number = 127, item_values = {0,40,80,127}, items = {"Poly","Chord","Hold","Porta"}, }, Parameter { id = "chorus", name = "Chorus", type ="cc", number = 31, item_values = {0,127}, items = {"Off","On",}, }, } return SynthDefinition { id = "korg_poly800_hawk800", name = "Korg Hawk800 with Atomahawk", author = "Daniel", content_height = 600, delay_between_midi_messages = 10, Section { name = "Main", group_dco1, group_dco2, group_noise, group_adsr1, group_adsr2, group_adsr3, group_other, group_filter, group_resmod, }, Section { name = "Also", group_lfo1, group_lfo2, group_dcomod, group_slfo, group_tremelo, group_fmmod, group_velsense, group_vcfmod, }, }