-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathparameters.json
183 lines (183 loc) · 51 KB
/
parameters.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
{
"global_parameter":[
{"name":"bank color","group":"Settings","default_value":0,"data_type":"int", "sysex_adress":20 ,"curve":"linear","min_value":0,"max_value":360,"tooltip":"color of the preset","iterate":1,"method":"bank_led_hue=value; set_led_color(bank_led_hue, 1.0, 1.0);"},
{"name":"retrigger chords","group":"Settings","default_value":0,"data_type":"int", "sysex_adress":21 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"defines whether the chords will be retriggered when playing a modulation of the current chord or in continuous chord mode","iterate":1,"method":"retrigger_chord=value;"},
{"name":"change held strings","group":"Settings","default_value":0,"data_type":"int", "sysex_adress":22 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"defines whether a held harp note will change when changing chord","iterate":1,"method":"change_held_strings=value;"},
{"name":"slash level","group":"Settings","default_value":0,"data_type":"int", "sysex_adress":23 ,"curve":"linear","min_value":0,"max_value":2,"tooltip":"level of the scale which will be affected when using slash chords","iterate":1,"method":"note_slash_level=value;"},
{"name":"transpose","group":"Settings","default_value":0,"data_type":"int", "sysex_adress":30 ,"curve":"linear","min_value":0,"max_value":12,"tooltip":"transpose all sounds by a number of semitones","iterate":1,"method":"transpose_semitones=value;midi_base_note_transposed=midi_base_note+transpose_semitones;"},
{"name":"reverb size","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":24 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"size of the reverb room","iterate":1,"method":"main_reverb.size(value);"},
{"name":"reverb high damping","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":25 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"damping of high frequencies in the reverb room","iterate":1,"method":"main_reverb.hidamp(value);"},
{"name":"reverb low damping","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":26 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"damping of low frequencies in the reverb room","iterate":1,"method":"main_reverb.lodamp(value);"},
{"name":"reverb low pass","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":27 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"additional low pass in the reverb room","iterate":1,"method":"main_reverb.lowpass(value);"},
{"name":"reverb diffusion","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":28 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"diffusion within the reverb room","iterate":1,"method":"main_reverb.diffusion(value);"},
{"name":"pan","group":"Effects","default_value":1,"data_type":"float", "sysex_adress":29 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"pans the chord and harp sound, from fully separated to both in the middle ","iterate":1,"method":"pan=value;apply_audio_parameter(85, current_sysex_parameters[85]);apply_audio_parameter(184, current_sysex_parameters[184]);"},
{"name":"chord alternate control","group":"Potentiometer","default_value":0,"data_type":"int", "sysex_adress":10 ,"curve":"linear","min_value":40,"max_value":219,"tooltip":"defines the adress targeted by the chord potentiometer alternate function","iterate":1,"method":"chord_pot.set_alternate(value);"},
{"name":"chord alternate range","group":"Potentiometer","default_value":0,"data_type":"int", "sysex_adress":11 ,"curve":"linear","min_value":0,"max_value":100,"tooltip":"defines the control range of the chord potentiometer alternate function","iterate":1,"method":"chord_pot.set_alternate_range(value);"},
{"name":"harp alternate control","group":"Potentiometer","default_value":0,"data_type":"int", "sysex_adress":12 ,"curve":"linear","min_value":40,"max_value":219,"tooltip":"defines the adress targeted by the harp potentiometer alternate function","iterate":1,"method":"harp_pot.set_alternate(value);"},
{"name":"harp alternate percent range","group":"Potentiometer","default_value":0,"data_type":"int", "sysex_adress":13 ,"curve":"linear","min_value":0,"max_value":100,"tooltip":"defines the control range of the harp potentiometer alternate function","iterate":1,"method":"harp_pot.set_alternate_range(value);"},
{"name":"mod main control","group":"Potentiometer","default_value":0,"data_type":"int", "sysex_adress":14 ,"curve":"linear","min_value":40,"max_value":219,"tooltip":"defines the adress targeted by the modulation potentiometer main function","iterate":1,"method":"mod_pot.set_main(value);"},
{"name":"mod main percent range","group":"Potentiometer","default_value":0,"data_type":"int", "sysex_adress":15 ,"curve":"linear","min_value":0,"max_value":100,"tooltip":"defines the control range of the modulation potentiometer main function","iterate":1,"method":"mod_pot.set_main_range(value);"},
{"name":"mod alternate control","group":"Potentiometer","default_value":0,"data_type":"int", "sysex_adress":16 ,"curve":"linear","min_value":40,"max_value":219,"tooltip":"defines the adress targeted by the modulation potentiometer alternate function","iterate":1,"method":"mod_pot.set_alternate(value);"},
{"name":"mod alternate percent range ","group":"Potentiometer","default_value":0,"data_type":"int", "sysex_adress":17 ,"curve":"linear","min_value":0,"max_value":100,"tooltip":"defines the control range of the modulation potentiometer alternate function","iterate":1,"method":"mod_pot.set_alternate_range(value);"},
{"name":"chord alternate value","group":"hidden","default_value":0,"data_type":"int", "sysex_adress":4 ,"curve":"linear","min_value":0,"max_value":1024,"tooltip":"nothing yet","iterate":1,"method":"chord_pot.set_alternate_default(value);chord_pot.force_update();"},
{"name":"harp alternate value","group":"hidden","default_value":0,"data_type":"int", "sysex_adress":5 ,"curve":"linear","min_value":0,"max_value":1024,"tooltip":"nothing yet","iterate":1,"method":"harp_pot.set_alternate_default(value);harp_pot.force_update();"},
{"name":"mod alternate value","group":"hidden","default_value":0,"data_type":"int", "sysex_adress":6 ,"curve":"linear","min_value":0,"max_value":1024,"tooltip":"nothing yet","iterate":1,"method":"mod_pot.set_alternate_default(value);mod_pot.force_update();"},
{"name":"firmware revision","group":"hidden","default_value":0,"data_type":"float", "sysex_adress":7 ,"curve":"linear","min_value":0,"max_value":10,"tooltip":"nothing yet","iterate":1,"method":"current_sysex_parameters[7]=version_ID;"}
],
"harp_parameter":[
{"name":"global gain","group":"hidden","default_value":0.5,"data_type":"float", "sysex_adress":2 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"global gain of the harp section","iterate":1,"method":"string_gain.amplitude(value,100); harp_attack_velocity=value*127;"},
{"name":"harp shuffling","group":"General","default_value":0,"data_type":"int", "sysex_adress":40 ,"curve":"linear","min_value":0,"max_value":5,"tooltip":"defines different harp patterns. 0 is normal, 1 i with second, 2 is with fourth, 3 with sixth, 4 octaves and 5 chromatics","iterate":12,"method":"harp_shuffling_selection=value; current_harp_notes[i]=calculate_note_harp(i,slash_chord,sharp_active);"},
{"name":"amplitude","group":"Oscillator","default_value":0.5,"data_type":"float", "sysex_adress":41 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"amplitude of the 12 initial oscillators","iterate":12,"method":"string_waveform_array[i]->amplitude(value);"},
{"name":"waveform","group":"Oscillator","default_value":0, "data_type":"int","sysex_adress":42 ,"curve":"linear","min_value":0,"max_value":12,"tooltip":"defines the waveform amongst 12 oscillators. In order: sine, sawtooth, square, triangle, arbitrary, pusle, reverse sawtooth, sample and hold, variable triangle, bandlimited sawtooth, reverse bandlimited sawtooth, bandlimited square, bandlimited pulse","iterate":12,"method":"string_waveform_array[i]->begin(value);"},
{"name":"attack","group":"Envelope","default_value":5,"data_type":"int","sysex_adress":43 , "curve":"exponential", "min_value":0,"max_value":5000,"tooltip":"attack time of the envelope","iterate":12,"method":"string_enveloppe_array[i]->attack(value);"},
{"name":"hold","group":"Envelope","default_value":2,"data_type":"int", "sysex_adress":44 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"hold time of the envelope","iterate":12,"method":"string_enveloppe_array[i]->hold(value);"},
{"name":"decay","group":"Envelope","default_value":1000,"data_type":"int", "sysex_adress":45 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"decay time of the envelope","iterate":12,"method":"string_enveloppe_array[i]->decay(value);"},
{"name":"sustain","group":"Envelope","default_value":0.5,"data_type":"float", "sysex_adress":46 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"sustain level of the envelope","iterate":12,"method":" string_enveloppe_array[i]->sustain(value);"},
{"name":"release","group":"Envelope","default_value":1000,"data_type":"int", "sysex_adress":47 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"release time of the envelope","iterate":12,"method":"string_enveloppe_array[i]->release(value);"},
{"name":"retrigger release","group":"Envelope","default_value":5,"data_type":"int", "sysex_adress":48 ,"curve":"exponential","min_value":0,"max_value":100,"tooltip":"retrigger time of the envelope","iterate":12,"method":"string_enveloppe_array[i]->releaseNoteOn(value);"},
{"name":"base frequency", "group": "Low pass filter","default_value":0.5,"data_type":"int", "sysex_adress":49 ,"curve":"exponential","min_value":0,"max_value":2000,"tooltip":"corner frequency of the filter in the absence of control signal","iterate":1,"method":"string_filter_base_freq=value;"},
{"name":"keytrack value","group": "Low pass filter","default_value":0.5,"data_type":"float", "sysex_adress":50 ,"curve":"linear","min_value":0,"max_value":3,"tooltip":"value that is multiplied by the note frequency and added to the base corner frequency to allow for keytracking","iterate":1,"method":"string_filter_keytrack=value;"},
{"name":"resonance","group": "Low pass filter","default_value":0.5,"data_type":"float", "sysex_adress":51 ,"curve":"linear","min_value":0.7,"max_value":5,"tooltip":"resonance of the filter","iterate":12,"method":"string_filter_array[i]->resonance(value);"},
{"name":"attack","group": "Low pass filter","default_value":15,"data_type":"int","sysex_adress":52 , "curve":"exponential", "min_value":0,"max_value":5000,"tooltip":"attack time of the envelope filter","iterate":12,"method":"string_enveloppe_filter_array[i]->attack(value);"},
{"name":"hold","group": "Low pass filter","default_value":2,"data_type":"int", "sysex_adress":53 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"hold time of the envelope filter","iterate":12,"method":"string_enveloppe_filter_array[i]->hold(value);"},
{"name":"decay","group": "Low pass filter","default_value":1000,"data_type":"int", "sysex_adress":54 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"decay time of the envelope filter","iterate":12,"method":"string_enveloppe_filter_array[i]->decay(value);"},
{"name":"sustain","group": "Low pass filter","default_value":0.5,"data_type":"float", "sysex_adress":55 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"sustain level of the envelope filter","iterate":12,"method":"string_enveloppe_filter_array[i]->sustain(value);"},
{"name":"release","group": "Low pass filter","default_value":1000,"data_type":"int", "sysex_adress":56 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"release time of the envelope filter","iterate":12,"method":"string_enveloppe_filter_array[i]->release(value);"},
{"name":"retrigger release","group": "Low pass filter","default_value":5,"data_type":"int", "sysex_adress":57 ,"curve":"exponential","min_value":0,"max_value":100,"tooltip":"retrigger time of the envelope filter","iterate":12,"method":"string_enveloppe_filter_array[i]->releaseNoteOn(value);"},
{"name":"filter sensitivity","group": "Low pass filter","default_value":0.5,"data_type":"float", "sysex_adress":58 ,"curve":"linear","min_value":0,"max_value":5,"tooltip":"sensitivity of the filter to the control envelope","iterate":12,"method":"string_filter_array[i]->octaveControl(value);"},
{"name":"waveform","group":"Tremolo","default_value":0, "data_type":"int","sysex_adress":59 ,"curve":"linear","min_value":0,"max_value":12,"tooltip":"defines the waveform amongst 12 oscillators for the tremolo (amplitude variation). In order: sine, sawtooth, square, triangle, arbitrary, pusle, reverse sawtooth, sample and hold, variable triangle, bandlimited sawtooth, reverse bandlimited sawtooth, bandlimited square, bandlimited pulse. Discontinuous signal will cause clicks","iterate":1,"method":"string_tremolo_lfo.begin(value);"},
{"name":"frequency","group":"Tremolo","default_value":0.5,"data_type":"float", "sysex_adress":60 ,"curve":"linear","min_value":0,"max_value":20,"tooltip":"frequency of the tremolo","iterate":1,"method":"string_tremolo_lfo.frequency(value);"},
{"name":"amplitude","group":"Tremolo","default_value":0.5,"data_type":"float", "sysex_adress":61 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"amplitude of the tremolo.","iterate":1,"method":"string_tremolo_lfo.amplitude(0.01+value);string_tremolo_lfo.offset(1-value);"},
{"name":"waveform","group":"Vibrato","default_value":0, "data_type":"int","sysex_adress":62 ,"curve":"linear","min_value":0,"max_value":12,"tooltip":"defines the waveform amongst 12 oscillators for the vibrato (pitch variation). In order: sine, sawtooth, square, triangle, arbitrary, pusle, reverse sawtooth, sample and hold, variable triangle, bandlimited sawtooth, reverse bandlimited sawtooth, bandlimited square, bandlimited pulse.","iterate":1,"method":"string_vibrato_lfo.begin(value);"},
{"name":"frequency","group":"Vibrato","default_value":0.5,"data_type":"float", "sysex_adress":63 ,"curve":"linear","min_value":0,"max_value":20,"tooltip":"frequency of the vibrato oscillation","iterate":1,"method":"string_vibrato_lfo.frequency(value);"},
{"name":"amplitude","group":"Vibrato","default_value":0.5,"data_type":"float", "sysex_adress":64 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"amplitude of the vibrato oscillation","iterate":1,"method":"string_vibrato_lfo.amplitude(0.01+value);"},
{"name":"attack","group":"Vibrato","default_value":15,"data_type":"int","sysex_adress":65 , "curve":"exponential", "min_value":0,"max_value":5000,"tooltip":"attack time of the vibrato envelope","iterate":1,"method":"envelope_string_vibrato_lfo.attack(value);"},
{"name":"hold","group":"Vibrato","default_value":2,"data_type":"int", "sysex_adress":66 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"hold time of the vibrato envelope","iterate":1,"method":"envelope_string_vibrato_lfo.hold(value);"},
{"name":"decay","group":"Vibrato","default_value":1000,"data_type":"int", "sysex_adress":67 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"decay time of the vibrato envelope","iterate":1,"method":"envelope_string_vibrato_lfo.decay(value);"},
{"name":"sustain","group":"Vibrato","default_value":0.5,"data_type":"float", "sysex_adress":68 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"sustain level of the vibrato envelope.","iterate":1,"method":"envelope_string_vibrato_lfo.sustain(value);"},
{"name":"release","group":"Vibrato","default_value":1000,"data_type":"int", "sysex_adress":69 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"release time of the vibrato envelope","iterate":1,"method":"envelope_string_vibrato_lfo.release(value);"},
{"name":"retrigger release","group":"Vibrato","default_value":5,"data_type":"int", "sysex_adress":70 ,"curve":"exponential","min_value":0,"max_value":100,"tooltip":"retrigger time of the vibrato envelope","iterate":1,"method":"envelope_string_vibrato_lfo.releaseNoteOn(value);"},
{"name":"pitch bend","group":"Vibrato","default_value":1,"data_type":"float", "sysex_adress":71 ,"curve":"linear","min_value":0,"max_value":2,"tooltip":"continuous signal added to the envelope for pitch variation. 1 is the center, before will be negative pitch bending, after positive pitch bending","iterate":1,"method":"string_vibrato_dc.amplitude(value-1);"},
{"name":"attack bend","group":"Vibrato","default_value":15,"data_type":"int","sysex_adress":72 , "curve":"exponential", "min_value":0,"max_value":5000,"tooltip":"attack time of the pitch bend envelope","iterate":1,"method":"envelope_string_vibrato_dc.attack(value);"},
{"name":"hold bend","group":"Vibrato","default_value":2,"data_type":"int", "sysex_adress":73 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"hold time of the pitch bend envelope","iterate":1,"method":"envelope_string_vibrato_dc.hold(value);"},
{"name":"decay bend","group":"Vibrato","default_value":1000,"data_type":"int", "sysex_adress":74 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"decay time of the pitch bend envelope","iterate":1,"method":"envelope_string_vibrato_dc.decay(value);"},
{"name":"retrigger release bend","group":"Vibrato","default_value":1000,"data_type":"int", "sysex_adress":75 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"retrigger time of the pitch bend envelope","iterate":1,"method":"envelope_string_vibrato_dc.releaseNoteOn(value);"},
{"name":"intensity","group":"Vibrato","default_value":5,"data_type":"float", "sysex_adress":76 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"intensity of the vibrato and bend effect","iterate":12,"method":"string_waveform_array[i]->frequencyModulation(value);"},
{"name":"delay length","group":"Effects","default_value":1,"data_type":"int", "sysex_adress":77 ,"curve":"linear","min_value":0,"max_value":600,"tooltip":"length in ms of the delay","iterate":1,"method":"delay_strings.delay(0,value);"},
{"name":"delay filter frequency","group":"Effects","default_value":0.5,"data_type":"int", "sysex_adress":78 ,"curve":"linear","min_value":0,"max_value":5000,"tooltip":"corner frequency of the filter in the delay loop","iterate":1,"method":"filter_delay_strings.frequency(value);"},
{"name":"delay filter resonance","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":79 ,"curve":"linear","min_value":0.7,"max_value":5,"tooltip":"resonance of the filter in the delay loop","iterate":1,"method":"filter_delay_strings.resonance(value);"},
{"name":"delay lowpass","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":80 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"lowpass component feedback into the delay","iterate":1,"method":"string_delay_mix.gain(1,value);"},
{"name":"delay bandpass","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":81 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"bandpass component feedback into the delay","iterate":1,"method":"string_delay_mix.gain(2,value);"},
{"name":"delay highpass","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":82 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"highpass component feedback into the delay","iterate":1,"method":"string_delay_mix.gain(3,value);"},
{"name":"dry mix","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":83 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"intensity of the dry signal in the output","iterate":1,"method":"strings_effect_mix.gain(0,value);"},
{"name":"delay mix","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":84 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"intensity of the delayed signal in the output","iterate":1,"method":"strings_effect_mix.gain(1,value);"},
{"name":"reverb level","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":85 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"level of the reverb applied to the harp signal","iterate":1,"method":"reverb_mixer.gain(0,value/100.0);string_r_stereo_gain.amplitude((1-reverb_dry_proportion*value/100.0)*pan,100);string_l_stereo_gain.amplitude(1-reverb_dry_proportion*value/100.0,100);"},
{"name":"crunch level","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":86 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"level of crunch applied to the harp signal","iterate":1,"method":"string_waveshaper_mix.gain(0,1-value);string_waveshaper_mix.gain(1,value);"},
{"name":"crunch type","group":"Effects","default_value":0.5,"data_type":"int", "sysex_adress":87 ,"curve":"linear","min_value":0,"max_value":2,"tooltip":"selects the waveshaper transfert function, with more and more distorted shape","iterate":1,"method":"ws_sin_param=value;calculate_ws_array(); string_waveshape.shape(wave_shape,257);"},
{"name":"frequency","group":"Output filter","default_value":0.5,"data_type":"int", "sysex_adress":88 ,"curve":"linear","min_value":0,"max_value":5000,"tooltip":"corner frequency of the output filter","iterate":1,"method":"string_filter.frequency(value);"},
{"name":"resonance","group":"Output filter","default_value":0.5,"data_type":"float", "sysex_adress":89 ,"curve":"linear","min_value":0.7,"max_value":5,"tooltip":"resonance of the output filter","iterate":1,"method":"string_filter.resonance(value);"},
{"name":"lowpass","group":"Output filter","default_value":0.5,"data_type":"float", "sysex_adress":90 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"output lowpass component","iterate":1,"method":"string_filter_mixer.gain(0,value);"},
{"name":"bandpass","group":"Output filter","default_value":0.5,"data_type":"float", "sysex_adress":91 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"output bandpass component","iterate":1,"method":"string_filter_mixer.gain(1,value);"},
{"name":"highpass","group":"Output filter","default_value":0.5,"data_type":"float", "sysex_adress":92 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"output highpass component","iterate":1,"method":"string_filter_mixer.gain(2,value);"},
{"name":"LFO waveform","group":"Output filter","default_value":0, "data_type":"int","sysex_adress":93 ,"curve":"linear","min_value":0,"max_value":12,"tooltip":"defines the waveform amongst 12 oscillators for the output filter control LFO. In order: sine, sawtooth, square, triangle, arbitrary, pusle, reverse sawtooth, sample and hold, variable triangle, bandlimited sawtooth, reverse bandlimited sawtooth, bandlimited square, bandlimited pulse","iterate":1,"method":"string_filter_lfo.begin(value);"},
{"name":"LFO frequency","group":"Output filter","default_value":0.5,"data_type":"float", "sysex_adress":94 ,"curve":"linear","min_value":0,"max_value":20,"tooltip":"frequency of the output filter control LFO","iterate":1,"method":"string_filter_lfo.frequency(value);"},
{"name":"LFO amplitude","group":"Output filter","default_value":0.5,"data_type":"float", "sysex_adress":95 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"amplitude of the output filter control LFO","iterate":1,"method":"string_filter_lfo.amplitude(value);"},
{"name":"filter LFO sensitivity","group":"Output filter","default_value":0.5,"data_type":"float", "sysex_adress":96 ,"curve":"linear","min_value":0,"max_value":5,"tooltip":"sensitivity of the output filter to the control LFO","iterate":1,"method":"string_filter.octaveControl(value);"},
{"name":"output amplifier","group":"Output filter","default_value":1,"data_type":"float", "sysex_adress":97 ,"curve":"linear","min_value":0,"max_value":2,"tooltip":"amplifies the volume of the harp","iterate":1,"method":"string_amplifier.gain(value);"}],
"chord_parameter":[
{"name":"global gain","group":"hidden","default_value":0.5,"data_type":"float", "sysex_adress":3 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"global gain of the chord section","iterate":1,"method":"chords_gain.amplitude(value,100); chord_attack_velocity=value*127;"},
{"name":"chord shuffling","group":"General","default_value":0,"data_type":"int", "sysex_adress":120 ,"curve":"linear","min_value":0,"max_value":5,"tooltip":"defines different chord patterns. 0 is normal, 1 to 4 is one octave up with different additional notes, 5 is two octave up","iterate":7,"method":"chord_shuffling_selection=value; current_chord_notes[i]=calculate_note_chord(i,slash_chord,sharp_active);"},
{"name":"amplitude 1","group":"Oscillator","default_value":0.5,"data_type":"float","sysex_adress":121 , "curve":"linear", "min_value":0,"max_value":1,"tooltip":"amplitude of the first oscillator","iterate":4,"method":"chord_osc_1_array[i]->amplitude(value);"},
{"name":"waveform 1","group":"Oscillator","default_value":0,"data_type":"int","sysex_adress":122 , "curve":"linear", "min_value":0,"max_value":12,"tooltip":"defines the waveform amongst 12 oscillators for the first oscillator. In order: sine, sawtooth, square, triangle, arbitrary, pusle, reverse sawtooth, sample and hold, variable triangle, bandlimited sawtooth, reverse bandlimited sawtooth, bandlimited square, bandlimited pulse","iterate":4,"method":"chord_osc_1_array[i]->begin(value);"},
{"name":"frequency multiplier 1","group":"Oscillator","default_value":0,"data_type":"float","sysex_adress":123 , "curve":"linear", "min_value":0.5,"max_value":2,"tooltip":"frequency multiplier for the first oscillator. 1 is normal, 0.5 an octave below and 1 an octave above","iterate":1,"method":"osc_1_freq_multiplier=value;"},
{"name":"amplitude 2","group":"Oscillator","default_value":0.5,"data_type":"float","sysex_adress":124 , "curve":"linear", "min_value":0,"max_value":1,"tooltip":"amplitude of the second oscillator","iterate":4,"method":"chord_osc_2_array[i]->amplitude(value);"},
{"name":"waveform 2","group":"Oscillator","default_value":0,"data_type":"int","sysex_adress":125, "curve":"linear", "min_value":0,"max_value":12,"tooltip":"defines the waveform amongst 12 oscillators for the second oscillator. In order: sine, sawtooth, square, triangle, arbitrary, pusle, reverse sawtooth, sample and hold, variable triangle, bandlimited sawtooth, reverse bandlimited sawtooth, bandlimited square, bandlimited pulse","iterate":4,"method":"chord_osc_2_array[i]->begin(value);"},
{"name":"frequency multiplier 2","group":"Oscillator","default_value":0,"data_type":"float","sysex_adress":126 , "curve":"linear", "min_value":0.5,"max_value":2,"tooltip":"frequency multiplier for the second oscillator. 1 is normal, 0.5 an octave below and 1 an octave above","iterate":1,"method":"osc_2_freq_multiplier=value;"},
{"name":"amplitude 3","group":"Oscillator","default_value":0.5,"data_type":"float","sysex_adress":127 , "curve":"linear", "min_value":0,"max_value":1,"tooltip":"amplitude of the third oscillator","iterate":4,"method":"chord_osc_3_array[i]->amplitude(value);"},
{"name":"waveform 3","group":"Oscillator","default_value":0,"data_type":"int","sysex_adress":128 , "curve":"linear", "min_value":0,"max_value":12,"tooltip":"defines the waveform amongst 12 oscillators for the third oscillator. In order: sine, sawtooth, square, triangle, arbitrary, pusle, reverse sawtooth, sample and hold, variable triangle, bandlimited sawtooth, reverse bandlimited sawtooth, bandlimited square, bandlimited pulse","iterate":4,"method":"chord_osc_3_array[i]->begin(value);"},
{"name":"frequency multiplier 3","group":"Oscillator","default_value":0,"data_type":"float","sysex_adress":129 , "curve":"linear", "min_value":0.5,"max_value":2,"tooltip":"frequency multiplier for the third oscillator. 1 is normal, 0.5 an octave below and 1 an octave above","iterate":1,"method":"osc_3_freq_multiplier=value;"},
{"name":"noise","group":"Oscillator","default_value":0.5,"data_type":"float","sysex_adress":130 , "curve":"linear", "min_value":0,"max_value":1,"tooltip":"amplitude of the noise oscillator","iterate":4,"method":"chord_voice_mixer_array[i]->gain(3,value);"},
{"name":"first note","group":"Oscillator","default_value":0.5,"data_type":"float","sysex_adress":131 , "curve":"linear", "min_value":0,"max_value":1,"tooltip":"amplitude of the first chord note","iterate":1,"method":"chord_voice_mixer.gain(0,value);"},
{"name":"second note","group":"Oscillator","default_value":0.5,"data_type":"float","sysex_adress":132 , "curve":"linear", "min_value":0,"max_value":1,"tooltip":"amplitude of the second chord note","iterate":1,"method":"chord_voice_mixer.gain(1,value);"},
{"name":"third note","group":"Oscillator","default_value":0.5,"data_type":"float","sysex_adress":133 , "curve":"linear", "min_value":0,"max_value":1,"tooltip":"amplitude of the third chord note","iterate":1,"method":"chord_voice_mixer.gain(2,value);"},
{"name":"fourth note","group":"Oscillator","default_value":0.5,"data_type":"float","sysex_adress":134 , "curve":"linear", "min_value":0,"max_value":1,"tooltip":"amplitude of the fourht chord note","iterate":1,"method":"chord_voice_mixer.gain(3,value);"},
{"name":"inter-note delay","group":"Oscillator","default_value":10,"data_type":"int","sysex_adress":135 , "curve":"linear", "min_value":0,"max_value":100,"tooltip":"delay between each note of the chord","iterate":1,"method":"inter_string_delay=value*1000;"},
{"name":"random note delay","group":"Oscillator","default_value":10,"data_type":"int","sysex_adress":136 , "curve":"linear", "min_value":0,"max_value":100,"tooltip":"random delay between each note of the chord","iterate":1,"method":"random_delay=value*1000;"},
{"name":"attack","group":"Envelope","default_value":15,"data_type":"int","sysex_adress":137 , "curve":"exponential", "min_value":0,"max_value":5000,"tooltip":"attack time of the envelope","iterate":4,"method":"chord_envelope_array[i]->attack(value);"},
{"name":"hold","group":"Envelope","default_value":2,"data_type":"int", "sysex_adress":138 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"hold time of the envelope","iterate":4,"method":"chord_envelope_array[i]->hold(value);"},
{"name":"decay","group":"Envelope","default_value":1000,"data_type":"int", "sysex_adress":139 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"decay time of the envelope","iterate":4,"method":"chord_envelope_array[i]->decay(value);"},
{"name":"sustain","group":"Envelope","default_value":0.5,"data_type":"float", "sysex_adress":140 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"sustain level of the envelope","iterate":4,"method":" chord_envelope_array[i]->sustain(value);"},
{"name":"release","group":"Envelope","default_value":1000,"data_type":"int", "sysex_adress":141 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"release time of the envelope","iterate":4,"method":"chord_envelope_array[i]->release(value);"},
{"name":"retrigger release","group":"Envelope","default_value":5,"data_type":"int", "sysex_adress":142 ,"curve":"exponential","min_value":0,"max_value":100,"tooltip":"retrigger time of the envelope","iterate":4,"method":"chord_envelope_array[i]->releaseNoteOn(value); chord_retrigger_release=value;"},
{"name":"base frequency","group": "Low pass filter","default_value":0.5,"data_type":"int", "sysex_adress":143 ,"curve":"linear","min_value":0,"max_value":5000,"tooltip":"corner frequency of the filter in the absence of control signal","iterate":4,"method":"chord_filter_base_freq=value;"},
{"name":"keytrack value","group": "Low pass filter","default_value":0.5,"data_type":"float", "sysex_adress":144 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"value that is multiplied by the note frequency and added to the base corner frequency to allow for keytracking","iterate":4,"method":"chord_filter_keytrack=value;"},
{"name":"resonance","group": "Low pass filter","default_value":0.5,"data_type":"float", "sysex_adress":145,"curve":"linear","min_value":0.7,"max_value":5,"tooltip":"resonance of the filter","iterate":4,"method":"chord_voice_filter_array[i]->resonance(value);"},
{"name":"attack","group": "Low pass filter","default_value":15,"data_type":"int","sysex_adress":146 , "curve":"exponential", "min_value":0,"max_value":5000,"tooltip":"attack time of the envelope filter","iterate":4,"method":"chord_envelope_filter_array[i]->attack(value);"},
{"name":"hold","group": "Low pass filter","default_value":2,"data_type":"int", "sysex_adress":147 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"hold time of the envelope filter","iterate":4,"method":"chord_envelope_filter_array[i]->hold(value);"},
{"name":"decay","group": "Low pass filter","default_value":1000,"data_type":"int", "sysex_adress":148 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"decay time of the envelope filter","iterate":4,"method":"chord_envelope_filter_array[i]->decay(value);"},
{"name":"sustain","group": "Low pass filter","default_value":0.5,"data_type":"float", "sysex_adress":149 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"sustain level of the envelope filter","iterate":4,"method":"chord_envelope_filter_array[i]->sustain(value);"},
{"name":"release","group": "Low pass filter","default_value":1000,"data_type":"int", "sysex_adress":150 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"release time of the envelope filter","iterate":4,"method":"chord_envelope_filter_array[i]->release(value);"},
{"name":"retrigger release","group": "Low pass filter","default_value":5,"data_type":"int", "sysex_adress":151 ,"curve":"exponential","min_value":0,"max_value":100,"tooltip":"retrigger time of the envelope filter","iterate":4,"method":"chord_envelope_filter_array[i]->releaseNoteOn(value);"},
{"name":"LFO waveform","group": "Low pass filter","default_value":0, "data_type":"int","sysex_adress":152 ,"curve":"linear","min_value":0,"max_value":12,"tooltip":"defines the waveform amongst 12 oscillators for the low pass filter control LFO. In order: sine, sawtooth, square, triangle, arbitrary, pusle, reverse sawtooth, sample and hold, variable triangle, bandlimited sawtooth, reverse bandlimited sawtooth, bandlimited square, bandlimited pulse","iterate":1,"method":"chords_filter_LFO.begin(value);"},
{"name":"LFO frequency","group": "Low pass filter","default_value":0.5,"data_type":"float", "sysex_adress":153,"curve":"linear","min_value":0,"max_value":20,"tooltip":"frequency of the low pass filter control LFO","iterate":1,"method":"chords_filter_LFO.frequency(value);"},
{"name":"LFO amplitude","group": "Low pass filter","default_value":0.5,"data_type":"float", "sysex_adress":154 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"amplitude of the low pass filter control LFO","iterate":1,"method":"chords_filter_LFO.amplitude(0.01+value);chords_filter_LFO.offset(1-value);"},
{"name":"filter sensitivity","group": "Low pass filter","default_value":0.5,"data_type":"float", "sysex_adress":155 ,"curve":"linear","min_value":0,"max_value":5,"tooltip":"sensitivity of the low pass filter to control envelope and LFO","iterate":4,"method":"chord_voice_filter_array[i]->octaveControl(value);"},
{"name":"waveform","group":"Tremolo","default_value":0, "data_type":"int","sysex_adress":156 ,"curve":"linear","min_value":0,"max_value":12,"tooltip":"defines the waveform amongst 12 oscillators for the tremolo (amplitude variation). In order: sine, sawtooth, square, triangle, arbitrary, pusle, reverse sawtooth, sample and hold, variable triangle, bandlimited sawtooth, reverse bandlimited sawtooth, bandlimited square, bandlimited pulse. Discontinuous signal will cause clicks","iterate":4,"method":"chords_tremolo_lfo.begin(value);"},
{"name":"frequency","group":"Tremolo","default_value":0,"data_type":"float", "sysex_adress":157 ,"curve":"linear","min_value":0,"max_value":20,"tooltip":"frequency of the tremolo","iterate":1,"method":"chord_tremolo_base_freq=value;"},
{"name":"keytrack value","group":"Tremolo","default_value":0,"data_type":"float", "sysex_adress":158 ,"curve":"linear","min_value":0,"max_value":5,"tooltip":"value that is multiplied by the note frequency and added to the base frequency of the tremolo to allow for keytracking","iterate":1,"method":"chord_tremolo_keytrack=value;"},
{"name":"amplitude","group":"Tremolo","default_value":0.5,"data_type":"float", "sysex_adress":159 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"amplitude of the tremolo","iterate":4,"method":"chords_tremolo_lfo.amplitude(0.01+value);chords_tremolo_lfo.offset(1-value);"},
{"name":"waveform","group":"Vibrato","default_value":0, "data_type":"int","sysex_adress":160 ,"curve":"linear","min_value":0,"max_value":12,"tooltip":"defines the waveform amongst 12 oscillators for the vibrato (pitch variation). In order: sine, sawtooth, square, triangle, arbitrary, pusle, reverse sawtooth, sample and hold, variable triangle, bandlimited sawtooth, reverse bandlimited sawtooth, bandlimited square, bandlimited pulse.","iterate":4,"method":"chords_vibrato_lfo.begin(value);"},
{"name":"frequency","group":"Vibrato","default_value":0,"data_type":"float", "sysex_adress":161 ,"curve":"linear","min_value":0,"max_value":20,"tooltip":"frequency of the vibrato oscillation","iterate":1,"method":"chord_vibrato_base_freq=value;"},
{"name":"keytrack value","group":"Vibrato","default_value":0,"data_type":"float", "sysex_adress":162 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"value that is multiplied by the note frequency and added to the base frequency to allow for keytracking","iterate":1,"method":"chord_vibrato_keytrack=value;"},
{"name":"amplitude","group":"Vibrato","default_value":0.5,"data_type":"float", "sysex_adress":163 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"amplitude of the vibrato oscillation","iterate":1,"method":"chords_vibrato_lfo.amplitude(0.01+value);"},
{"name":"attack","group":"Vibrato","default_value":15,"data_type":"int","sysex_adress":164 , "curve":"exponential", "min_value":0,"max_value":5000,"tooltip":"attack time of the vibrato envelope","iterate":4,"method":"chord_vibrato_envelope_array[i]->attack(value);"},
{"name":"hold","group":"Vibrato","default_value":2,"data_type":"int", "sysex_adress":165 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"hold time of the vibrato envelope","iterate":4,"method":"chord_vibrato_envelope_array[i]->hold(value);"},
{"name":"decay","group":"Vibrato","default_value":1000,"data_type":"int", "sysex_adress":166 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"decay time of the vibrato envelope","iterate":4,"method":"chord_vibrato_envelope_array[i]->decay(value);"},
{"name":"sustain","group":"Vibrato","default_value":0.5,"data_type":"float", "sysex_adress":167 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"sustain level of the vibrato envelope","iterate":4,"method":"chord_vibrato_envelope_array[i]->sustain(value);"},
{"name":"release","group":"Vibrato","default_value":1000,"data_type":"int", "sysex_adress":168 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"release time of the vibrato envelope","iterate":4,"method":"chord_vibrato_envelope_array[i]->release(value);"},
{"name":"retrigger release","group":"Vibrato","default_value":5,"data_type":"int", "sysex_adress":169 ,"curve":"exponential","min_value":0,"max_value":100,"tooltip":"retrigger time of the vibrato envelope","iterate":4,"method":"chord_vibrato_envelope_array[i]->releaseNoteOn(value);"},
{"name":"pitch bend","group":"Vibrato","default_value":0.5,"data_type":"float", "sysex_adress":170 ,"curve":"linear","min_value":0,"max_value":2,"tooltip":"continuous signal added to the envelope for pitch variation. 1 is the center, before will be negative pitch bending, after positive pitch bending","iterate":1,"method":"chords_vibrato_dc.amplitude(value-1);"},
{"name":"attack bend ","group":"Vibrato","default_value":15,"data_type":"int","sysex_adress":171 , "curve":"exponential", "min_value":0,"max_value":5000,"tooltip":"attack time of the pitch bend envelope","iterate":4,"method":"chord_vibrato_dc_envelope_array[i]->attack(value);"},
{"name":"hold bend","group":"Vibrato","default_value":2,"data_type":"int", "sysex_adress":172 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"hold time of the pitch bend envelope","iterate":4,"method":"chord_vibrato_dc_envelope_array[i]->hold(value);"},
{"name":"decay bend","group":"Vibrato","default_value":1000,"data_type":"int", "sysex_adress":173 ,"curve":"exponential","min_value":0,"max_value":5000,"tooltip":"decay time of the pitch bend envelope","iterate":4,"method":"chord_vibrato_dc_envelope_array[i]->decay(value);"},
{"name":"retrigger release bend","group":"Vibrato","default_value":5,"data_type":"int", "sysex_adress":174 ,"curve":"exponential","min_value":0,"max_value":100,"tooltip":"retrigger time of the bend envelope","iterate":4,"method":"chord_vibrato_dc_envelope_array[i]->releaseNoteOn(value);"},
{"name":"intensity","group":"Vibrato","default_value":0,"data_type":"float", "sysex_adress":175 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"intensity of the vibrato effect","iterate":4,"method":"chord_osc_1_array[i]->frequencyModulation(value);chord_osc_2_array[i]->frequencyModulation(value);chord_osc_3_array[i]->frequencyModulation(value);"},
{"name":"delay length","group":"Effects","default_value":1,"data_type":"int", "sysex_adress":176 ,"curve":"linear","min_value":0,"max_value":600,"tooltip":"length in ms of the delay","iterate":1,"method":"delay_chords.delay(0,value);"},
{"name":"delay filter frequency","group":"Effects","default_value":0.5,"data_type":"int", "sysex_adress": 177,"curve":"linear","min_value":0,"max_value":5000,"tooltip":"corner frequency of the filter in the delay loop","iterate":1,"method":"filter_delay_chords.frequency(value);"},
{"name":"delay filter resonance","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":178 ,"curve":"linear","min_value":0.7,"max_value":5,"tooltip":"resonance of the filter in the delay loop","iterate":1,"method":"filter_delay_chords.resonance(value);"},
{"name":"delay lowpass","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":179 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"lowpass component feedback into the delay","iterate":1,"method":"chord_delay_mix.gain(1,value);"},
{"name":"delay bandpass","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":180 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"bandpass component feedback into the delay","iterate":1,"method":"chord_delay_mix.gain(2,value);"},
{"name":"delay highpass","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":181 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"highpass component feedback into the delay","iterate":1,"method":"chord_delay_mix.gain(3,value);"},
{"name":"dry mix","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":182 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"intensity of the dry signal in the output","iterate":1,"method":"chords_effect_mix.gain(0,value);"},
{"name":"delay mix","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":183 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"intensity of the delayed signal in the output","iterate":1,"method":"chords_effect_mix.gain(1,value);"},
{"name":"reverb level","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":184 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"level of the reverb applied to the chord signal","iterate":1,"method":"reverb_mixer.gain(1,value/100.0);chords_r_stereo_gain.amplitude(1.0-reverb_dry_proportion*value/100.0,100);chords_l_stereo_gain.amplitude((1.0-reverb_dry_proportion*value/100.0)*pan,100);"},
{"name":"crunch level","group":"Effects","default_value":0.5,"data_type":"float", "sysex_adress":185 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"level of crunch applied to the chord signal","iterate":1,"method":"chord_waveshaper_mix.gain(0,1-value);chord_waveshaper_mix.gain(1,value);"},
{"name":"crunch type","group":"Effects","default_value":0.5,"data_type":"int", "sysex_adress":186 ,"curve":"linear","min_value":0,"max_value":2,"tooltip":"selects the waveshaper transfert function, with more and more distorted shape","iterate":1,"method":"ws_sin_param=value;calculate_ws_array(); chord_waveshape.shape(wave_shape,257);"},
{"name":"default_bpm","group":"Rythm","default_value":90,"data_type":"int","sysex_adress":187 , "curve":"linear", "min_value":30,"max_value":300,"tooltip":"default bpm of the rythm mode","iterate":1,"method":"rythm_bpm=value;recalculate_timer();"},
{"name":"cycle length","group":"Rythm","default_value":16,"data_type":"int","sysex_adress":188 , "curve":"linear", "min_value":1,"max_value":16,"tooltip":"length of the rythm loop","iterate":1,"method":"rythm_loop_length=value;"},
{"name":"measure update","group":"Rythm","default_value":2,"data_type":"int","sysex_adress":189 , "curve":"linear", "min_value":1,"max_value":8,"tooltip":"selects the beats where a new chord selection will be taken into account. Select 1 for every beat","iterate":1,"method":"rythm_limit_change_to_every=value;"},
{"name":"shuffle value","group":"Rythm","default_value":0,"data_type":"float","sysex_adress":190 , "curve":"linear", "min_value":0.5,"max_value":1.5,"tooltip":"shuffles the time by giving unequal time between two subsequent beat. Select 1 for no shuffle","iterate":1,"method":"shuffle=value;recalculate_timer();"},
{"name":"note pushed duration","group":"Rythm","default_value":30,"data_type":"int","sysex_adress":191 , "curve":"linear", "min_value":20,"max_value":1000,"tooltip":"length of the on time of each note played","iterate":1,"method":"note_pushed_duration=value;"},
{"name":"rythm pattern","group":"Rythm","default_value":0,"data_type":"int","sysex_adress":220 , "curve":"linear", "min_value":0,"max_value":128,"tooltip":"nothing yet","iterate":1,"method":"rythm_pattern[0]=value;"},
{"name":"rythm pattern","group":"Rythm","default_value":0,"data_type":"int","sysex_adress":221 , "curve":"linear", "min_value":0,"max_value":128,"tooltip":"nothing yet","iterate":1,"method":"rythm_pattern[1]=value;"},
{"name":"rythm pattern","group":"Rythm","default_value":0,"data_type":"int","sysex_adress":222 , "curve":"linear", "min_value":0,"max_value":128,"tooltip":"nothing yet","iterate":1,"method":"rythm_pattern[2]=value;"},
{"name":"rythm pattern","group":"Rythm","default_value":0,"data_type":"int","sysex_adress":223 , "curve":"linear", "min_value":0,"max_value":128,"tooltip":"nothing yet","iterate":1,"method":"rythm_pattern[3]=value;"},
{"name":"rythm pattern","group":"Rythm","default_value":0,"data_type":"int","sysex_adress":224 , "curve":"linear", "min_value":0,"max_value":128,"tooltip":"nothing yet","iterate":1,"method":"rythm_pattern[4]=value;"},
{"name":"rythm pattern","group":"Rythm","default_value":0,"data_type":"int","sysex_adress":225 , "curve":"linear", "min_value":0,"max_value":128,"tooltip":"nothing yet","iterate":1,"method":"rythm_pattern[5]=value;"},
{"name":"rythm pattern","group":"Rythm","default_value":0,"data_type":"int","sysex_adress":226 , "curve":"linear", "min_value":0,"max_value":128,"tooltip":"nothing yet","iterate":1,"method":"rythm_pattern[6]=value;"},
{"name":"rythm pattern","group":"Rythm","default_value":0,"data_type":"int","sysex_adress":227 , "curve":"linear", "min_value":0,"max_value":128,"tooltip":"nothing yet","iterate":1,"method":"rythm_pattern[7]=value;"},
{"name":"rythm pattern","group":"Rythm","default_value":0,"data_type":"int","sysex_adress":228 , "curve":"linear", "min_value":0,"max_value":128,"tooltip":"nothing yet","iterate":1,"method":"rythm_pattern[8]=value;"},
{"name":"rythm pattern","group":"Rythm","default_value":0,"data_type":"int","sysex_adress":229 , "curve":"linear", "min_value":0,"max_value":128,"tooltip":"nothing yet","iterate":1,"method":"rythm_pattern[9]=value;"},
{"name":"rythm pattern","group":"Rythm","default_value":0,"data_type":"int","sysex_adress":230 , "curve":"linear", "min_value":0,"max_value":128,"tooltip":"nothing yet","iterate":1,"method":"rythm_pattern[10]=value;"},
{"name":"rythm pattern","group":"Rythm","default_value":0,"data_type":"int","sysex_adress":231 , "curve":"linear", "min_value":0,"max_value":128,"tooltip":"nothing yet","iterate":1,"method":"rythm_pattern[11]=value;"},
{"name":"rythm pattern","group":"Rythm","default_value":0,"data_type":"int","sysex_adress":232 , "curve":"linear", "min_value":0,"max_value":128,"tooltip":"nothing yet","iterate":1,"method":"rythm_pattern[12]=value;"},
{"name":"rythm pattern","group":"Rythm","default_value":0,"data_type":"int","sysex_adress":233 , "curve":"linear", "min_value":0,"max_value":128,"tooltip":"nothing yet","iterate":1,"method":"rythm_pattern[13]=value;"},
{"name":"rythm pattern","group":"Rythm","default_value":0,"data_type":"int","sysex_adress":234 , "curve":"linear", "min_value":0,"max_value":128,"tooltip":"nothing yet","iterate":1,"method":"rythm_pattern[14]=value;"},
{"name":"rythm pattern","group":"Rythm","default_value":0,"data_type":"int","sysex_adress":235 , "curve":"linear", "min_value":0,"max_value":128,"tooltip":"nothing yet","iterate":1,"method":"rythm_pattern[15]=value;"},
{"name":"frequency","group":"Output filter","default_value":0.5,"data_type":"int", "sysex_adress":192 ,"curve":"linear","min_value":0,"max_value":5000,"tooltip":"corner frequency of the output filter","iterate":1,"method":"chords_main_filter.frequency(value);"},
{"name":"resonance","group":"Output filter","default_value":0.5,"data_type":"float", "sysex_adress":193 ,"curve":"linear","min_value":0.7,"max_value":5,"tooltip":"resonance of the output filter","iterate":1,"method":"chords_main_filter.resonance(value);"},
{"name":"lowpass","group":"Output filter","default_value":0.5,"data_type":"float", "sysex_adress":194 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"output lowpass component","iterate":1,"method":"chords_main_filter_mixer.gain(0,value);"},
{"name":"bandpass","group":"Output filter","default_value":0.5,"data_type":"float", "sysex_adress":195 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"output bandpass component","iterate":1,"method":"chords_main_filter_mixer.gain(1,value);"},
{"name":"highpass","group":"Output filter","default_value":0.5,"data_type":"float", "sysex_adress":196 ,"curve":"linear","min_value":0,"max_value":1,"tooltip":"output highpass component","iterate":1,"method":"chords_main_filter_mixer.gain(2,value);"},
{"name":"output amplifier","group":"Output filter","default_value":1,"data_type":"float", "sysex_adress":197 ,"curve":"linear","min_value":0,"max_value":2,"tooltip":"amplifies the volume of the chords","iterate":1,"method":"chords_amplifier.gain(value);"}]
}