diff --git a/src/Dexed.ttl b/src/Dexed.ttl new file mode 100644 index 0000000..4d0946e --- /dev/null +++ b/src/Dexed.ttl @@ -0,0 +1,1539 @@ +@prefix atom: . +@prefix doap: . +@prefix foaf: . +@prefix lv2: . +@prefix rdfs: . +@prefix ll: . +@prefix pg: . +@prefix ev: . + + + a lv2:InstrumentPlugin, lv2:Plugin ; + lv2:requiredFeature , + ; + lv2:extensionData , + , + ; + + ui:ui , + ; + ll:pegName "p"; + + lv2:port [ + a lv2:InputPort, atom:AtomPort ; + atom:bufferType atom:Sequence ; + atom:supports ; + lv2:index 0 ; + lv2:symbol "lv2_events_in" ; + lv2:name "Events Input" ; + lv2:designation lv2:control ; + ] ; + + lv2:port [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 1 ; + lv2:symbol "lv2_freewheel" ; + lv2:name "Freewheel" ; + lv2:default 0.0 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + lv2:designation ; + lv2:portProperty lv2:toggled, ; + ] , + [ + a lv2:OutputPort, lv2:ControlPort ; + lv2:index 2 ; + lv2:symbol "lv2_latency" ; + lv2:name "Latency" ; + lv2:designation ; + lv2:portProperty lv2:reportsLatency, lv2:integer ; + ] ; + + lv2:port [ + a lv2:OutputPort, lv2:AudioPort ; + lv2:index 3 ; + lv2:symbol "lv2_audio_out_1" ; + lv2:name "Audio Output 1" ; + ] ; + + lv2:port [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 4 ; + lv2:symbol "cutoff" ; + lv2:name "Cutoff" ; + lv2:default 1.000000 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 5 ; + lv2:symbol "resonance" ; + lv2:name "Resonance" ; + lv2:default 0.000000 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 6 ; + lv2:symbol "output" ; + lv2:name "Output" ; + lv2:default 1.000000 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 7 ; + lv2:symbol "algorithm" ; + lv2:name "ALGORITHM" ; + lv2:default 1 ; + lv2:minimum 1 ; + lv2:maximum 32 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 8 ; + lv2:symbol "feedback" ; + lv2:name "FEEDBACK" ; + lv2:default 1 ; + lv2:minimum 1 ; + lv2:maximum 8 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 9 ; + lv2:symbol "osc_key_sync" ; + lv2:name "OSC KEY SYNC" ; + lv2:default 0 ; + lv2:minimum 1 ; + lv2:maximum 1 ; + lv2:portProperty lv2:toggled, lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 10 ; + lv2:symbol "lfo_speed" ; + lv2:name "LFO SPEED" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 11 ; + lv2:symbol "lfo_delay" ; + lv2:name "LFO DELAY" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 12 ; + lv2:symbol "lfo_pm_depth" ; + lv2:name "LFO PM DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 13 ; + lv2:symbol "lfo_am_depth" ; + lv2:name "LFO AM DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 14 ; + lv2:symbol "lfo_key_sync" ; + lv2:name "LFO KEY SYNC" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 1 ; + lv2:portProperty lv2:toggled, lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 15 ; + lv2:symbol "lfo_wave" ; + lv2:name "LFO WAVE" ; + lv2:default 1 ; + lv2:minimum 1 ; + lv2:maximum 6 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 16 ; + lv2:symbol "middle_c" ; + lv2:name "MIDDLE C" ; + lv2:default 24 ; + lv2:minimum 0 ; + lv2:maximum 48 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 17 ; + lv2:symbol "p_mode_sens_" ; + lv2:name "P MODE SENS." ; + lv2:default 1 ; + lv2:minimum 1 ; + lv2:maximum 8 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 18 ; + lv2:symbol "pitch_eg_rate_1" ; + lv2:name "PITCH EG RATE 1" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 19 ; + lv2:symbol "pitch_eg_rate_2" ; + lv2:name "PITCH EG RATE 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 20 ; + lv2:symbol "pitch_eg_rate_3" ; + lv2:name "PITCH EG RATE 3" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 21 ; + lv2:symbol "pitch_eg_rate_4" ; + lv2:name "PITCH EG RATE 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 22 ; + lv2:symbol "pitch_eg_level_1" ; + lv2:name "PITCH EG LEVEL 1" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 23 ; + lv2:symbol "pitch_eg_level_2" ; + lv2:name "PITCH EG LEVEL 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 24 ; + lv2:symbol "pitch_eg_level_3" ; + lv2:name "PITCH EG LEVEL 3" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 25 ; + lv2:symbol "pitch_eg_level_4" ; + lv2:name "PITCH EG LEVEL 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 26 ; + lv2:symbol "op1_eg_rate_1" ; + lv2:name "OP1 EG RATE 1" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 27 ; + lv2:symbol "op1_eg_rate_2" ; + lv2:name "OP1 EG RATE 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 28 ; + lv2:symbol "op1_eg_rate_3" ; + lv2:name "OP1 EG RATE 3" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 29 ; + lv2:symbol "op1_eg_rate_4" ; + lv2:name "OP1 EG RATE 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 30 ; + lv2:symbol "op1_eg_level_1" ; + lv2:name "OP1 EG LEVEL 1" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 31 ; + lv2:symbol "op1_eg_level_2" ; + lv2:name "OP1 EG LEVEL 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 32 ; + lv2:symbol "op1_eg_level_3" ; + lv2:name "OP1 EG LEVEL 3" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 33 ; + lv2:symbol "op1_eg_level_4" ; + lv2:name "OP1 EG LEVEL 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 34 ; + lv2:symbol "op1_output_level" ; + lv2:name "OP1 OUTPUT LEVEL" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 35 ; + lv2:symbol "op1_mode" ; + lv2:name "OP1 MODE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 1 ; + lv2:portProperty lv2:toggled, lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 36 ; + lv2:symbol "op1_f_coarse" ; + lv2:name "OP1 F COARSE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 31 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 37 ; + lv2:symbol "op1_f_fine" ; + lv2:name "OP1 F FINE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 38 ; + lv2:symbol "op1_osc_detune" ; + lv2:name "OP1 OSC DETUNE" ; + lv2:default 0 ; + lv2:minimum -7 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 39 ; + lv2:symbol "op1_break_point" ; + lv2:name "OP1 BREAK POINT" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 40 ; + lv2:symbol "op1_l_scale_depth" ; + lv2:name "OP1 L SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 41 ; + lv2:symbol "op1_r_scale_depth" ; + lv2:name "OP1 R SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 42 ; + lv2:symbol "op1_l_key_scale" ; + lv2:name "OP1 L KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 43 ; + lv2:symbol "op1_r_key_scale" ; + lv2:name "OP1 R KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 44 ; + lv2:symbol "op1_rate_scaling" ; + lv2:name "OP1 RATE SCALING" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 45 ; + lv2:symbol "op1_a_mod_sens_" ; + lv2:name "OP1 A MOD SENS." ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 46 ; + lv2:symbol "op1_key_velocity" ; + lv2:name "OP1 KEY VELOCITY" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 47 ; + lv2:symbol "op2_eg_rate_1" ; + lv2:name "OP2 EG RATE 1" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 48 ; + lv2:symbol "op2_eg_rate_2" ; + lv2:name "OP2 EG RATE 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 49 ; + lv2:symbol "op2_eg_rate_3" ; + lv2:name "OP2 EG RATE 3" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 50 ; + lv2:symbol "op2_eg_rate_4" ; + lv2:name "OP2 EG RATE 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 51 ; + lv2:symbol "op2_eg_level_1" ; + lv2:name "OP2 EG LEVEL 1" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 52 ; + lv2:symbol "op2_eg_level_2" ; + lv2:name "OP2 EG LEVEL 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 53 ; + lv2:symbol "op2_eg_level_3" ; + lv2:name "OP2 EG LEVEL 3" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 54 ; + lv2:symbol "op2_eg_level_4" ; + lv2:name "OP2 EG LEVEL 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 55 ; + lv2:symbol "op2_output_level" ; + lv2:name "OP2 OUTPUT LEVEL" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 56 ; + lv2:symbol "op2_mode" ; + lv2:name "OP2 MODE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 1 ; + lv2:portProperty lv2:toggled, lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 57 ; + lv2:symbol "op2_f_coarse" ; + lv2:name "OP2 F COARSE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 31 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 58 ; + lv2:symbol "op2_f_fine" ; + lv2:name "OP2 F FINE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 100 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 59 ; + lv2:symbol "op2_osc_detune" ; + lv2:name "OP2 OSC DETUNE" ; + lv2:default 0 ; + lv2:minimum -7 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 60 ; + lv2:symbol "op2_break_point" ; + lv2:name "OP2 BREAK POINT" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 100 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 61 ; + lv2:symbol "op2_l_scale_depth" ; + lv2:name "OP2 L SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 100 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 62 ; + lv2:symbol "op2_r_scale_depth" ; + lv2:name "OP2 R SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 100 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 63 ; + lv2:symbol "op2_l_key_scale" ; + lv2:name "OP2 L KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 64 ; + lv2:symbol "op2_r_key_scale" ; + lv2:name "OP2 R KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 65 ; + lv2:symbol "op2_rate_scaling" ; + lv2:name "OP2 RATE SCALING" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 66 ; + lv2:symbol "op2_a_mod_sens_" ; + lv2:name "OP2 A MOD SENS." ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 67 ; + lv2:symbol "op2_key_velocity" ; + lv2:name "OP2 KEY VELOCITY" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 68 ; + lv2:symbol "op3_eg_rate_1" ; + lv2:name "OP3 EG RATE 1" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 69 ; + lv2:symbol "op3_eg_rate_2" ; + lv2:name "OP3 EG RATE 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 70 ; + lv2:symbol "op3_eg_rate_3" ; + lv2:name "OP3 EG RATE 3" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 71 ; + lv2:symbol "op3_eg_rate_4" ; + lv2:name "OP3 EG RATE 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 72 ; + lv2:symbol "op3_eg_level_1" ; + lv2:name "OP3 EG LEVEL 1" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 73 ; + lv2:symbol "op3_eg_level_2" ; + lv2:name "OP3 EG LEVEL 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 74 ; + lv2:symbol "op3_eg_level_3" ; + lv2:name "OP3 EG LEVEL 3" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 75 ; + lv2:symbol "op3_eg_level_4" ; + lv2:name "OP3 EG LEVEL 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 76 ; + lv2:symbol "op3_output_level" ; + lv2:name "OP3 OUTPUT LEVEL" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 77 ; + lv2:symbol "op3_mode" ; + lv2:name "OP3 MODE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 1 ; + lv2:portProperty lv2:toggled, lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 78 ; + lv2:symbol "op3_f_coarse" ; + lv2:name "OP3 F COARSE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 31 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 79 ; + lv2:symbol "op3_f_fine" ; + lv2:name "OP3 F FINE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 80 ; + lv2:symbol "op3_osc_detune" ; + lv2:name "OP3 OSC DETUNE" ; + lv2:default 0 ; + lv2:minimum -7 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 81 ; + lv2:symbol "op3_break_point" ; + lv2:name "OP3 BREAK POINT" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 82 ; + lv2:symbol "op3_l_scale_depth" ; + lv2:name "OP3 L SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 83 ; + lv2:symbol "op3_r_scale_depth" ; + lv2:name "OP3 R SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 84 ; + lv2:symbol "op3_l_key_scale" ; + lv2:name "OP3 L KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 85 ; + lv2:symbol "op3_r_key_scale" ; + lv2:name "OP3 R KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 86 ; + lv2:symbol "op3_rate_scaling" ; + lv2:name "OP3 RATE SCALING" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 87 ; + lv2:symbol "op3_a_mod_sens_" ; + lv2:name "OP3 A MOD SENS." ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 88 ; + lv2:symbol "op3_key_velocity" ; + lv2:name "OP3 KEY VELOCITY" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 89 ; + lv2:symbol "op4_eg_rate_1" ; + lv2:name "OP4 EG RATE 1" ; + lv2:default 1 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 90 ; + lv2:symbol "op4_eg_rate_2" ; + lv2:name "OP4 EG RATE 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 91 ; + lv2:symbol "op4_eg_rate_3" ; + lv2:name "OP4 EG RATE 3" ; + lv2:default 7 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 92 ; + lv2:symbol "op4_eg_rate_4" ; + lv2:name "OP4 EG RATE 4" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 93 ; + lv2:symbol "op4_eg_level_1" ; + lv2:name "OP4 EG LEVEL 1" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 94 ; + lv2:symbol "op4_eg_level_2" ; + lv2:name "OP4 EG LEVEL 2" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 95 ; + lv2:symbol "op4_eg_level_3" ; + lv2:name "OP4 EG LEVEL 3" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 96 ; + lv2:symbol "op4_eg_level_4" ; + lv2:name "OP4 EG LEVEL 4" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 97 ; + lv2:symbol "op4_output_level" ; + lv2:name "OP4 OUTPUT LEVEL" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 98 ; + lv2:symbol "op4_mode" ; + lv2:name "OP4 MODE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 1 ; + lv2:portProperty lv2:toggled, lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 99 ; + lv2:symbol "op4_f_coarse" ; + lv2:name "OP4 F COARSE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 31 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 100 ; + lv2:symbol "op4_f_fine" ; + lv2:name "OP4 F FINE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 101 ; + lv2:symbol "op4_osc_detune" ; + lv2:name "OP4 OSC DETUNE" ; + lv2:default 0 ; + lv2:minimum -7 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 102 ; + lv2:symbol "op4_break_point" ; + lv2:name "OP4 BREAK POINT" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 103 ; + lv2:symbol "op4_l_scale_depth" ; + lv2:name "OP4 L SCALE DEPTH" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 104 ; + lv2:symbol "op4_r_scale_depth" ; + lv2:name "OP4 R SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 105 ; + lv2:symbol "op4_l_key_scale" ; + lv2:name "OP4 L KEY SCALE" ; + lv2:default 39 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 106 ; + lv2:symbol "op4_r_key_scale" ; + lv2:name "OP4 R KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 107 ; + lv2:symbol "op4_rate_scaling" ; + lv2:name "OP4 RATE SCALING" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 108 ; + lv2:symbol "op4_a_mod_sens_" ; + lv2:name "OP4 A MOD SENS." ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 109 ; + lv2:symbol "op4_key_velocity" ; + lv2:name "OP4 KEY VELOCITY" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 110 ; + lv2:symbol "op5_eg_rate_1" ; + lv2:name "OP5 EG RATE 1" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 111 ; + lv2:symbol "op5_eg_rate_2" ; + lv2:name "OP5 EG RATE 2" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 112 ; + lv2:symbol "op5_eg_rate_3" ; + lv2:name "OP5 EG RATE 3" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 113 ; + lv2:symbol "op5_eg_rate_4" ; + lv2:name "OP5 EG RATE 4" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 114 ; + lv2:symbol "op5_eg_level_1" ; + lv2:name "OP5 EG LEVEL 1" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 115 ; + lv2:symbol "op5_eg_level_2" ; + lv2:name "OP5 EG LEVEL 2" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 116 ; + lv2:symbol "op5_eg_level_3" ; + lv2:name "OP5 EG LEVEL 3" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 117 ; + lv2:symbol "op5_eg_level_4" ; + lv2:name "OP5 EG LEVEL 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 118 ; + lv2:symbol "op5_output_level" ; + lv2:name "OP5 OUTPUT LEVEL" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 119 ; + lv2:symbol "op5_mode" ; + lv2:name "OP5 MODE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 1 ; + lv2:portProperty lv2:toggled, lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 120 ; + lv2:symbol "op5_f_coarse" ; + lv2:name "OP5 F COARSE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 31 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 121 ; + lv2:symbol "op5_f_fine" ; + lv2:name "OP5 F FINE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 122 ; + lv2:symbol "op5_osc_detune" ; + lv2:name "OP5 OSC DETUNE" ; + lv2:default 0 ; + lv2:minimum -7 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 123 ; + lv2:symbol "op5_break_point" ; + lv2:name "OP5 BREAK POINT" ; + lv2:default 39 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 124 ; + lv2:symbol "op5_l_scale_depth" ; + lv2:name "OP5 L SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 125 ; + lv2:symbol "op5_r_scale_depth" ; + lv2:name "OP5 R SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 126 ; + lv2:symbol "op5_l_key_scale" ; + lv2:name "OP5 L KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 127 ; + lv2:symbol "op5_r_key_scale" ; + lv2:name "OP5 R KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 128 ; + lv2:symbol "op5_rate_scaling" ; + lv2:name "OP5 RATE SCALING" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 129 ; + lv2:symbol "op5_a_mod_sens_" ; + lv2:name "OP5 A MOD SENS." ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 130 ; + lv2:symbol "op5_key_velocity" ; + lv2:name "OP5 KEY VELOCITY" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 131 ; + lv2:symbol "op6_eg_rate_1" ; + lv2:name "OP6 EG RATE 1" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 132 ; + lv2:symbol "op6_eg_rate_2" ; + lv2:name "OP6 EG RATE 2" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 133 ; + lv2:symbol "op6_eg_rate_3" ; + lv2:name "OP6 EG RATE 3" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 134 ; + lv2:symbol "op6_eg_rate_4" ; + lv2:name "OP6 EG RATE 4" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 135 ; + lv2:symbol "op6_eg_level_1" ; + lv2:name "OP6 EG LEVEL 1" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 136 ; + lv2:symbol "op6_eg_level_2" ; + lv2:name "OP6 EG LEVEL 2" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 137 ; + lv2:symbol "op6_eg_level_3" ; + lv2:name "OP6 EG LEVEL 3" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 138 ; + lv2:symbol "op6_eg_level_4" ; + lv2:name "OP6 EG LEVEL 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 139 ; + lv2:symbol "op6_output_level" ; + lv2:name "OP6 OUTPUT LEVEL" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 140 ; + lv2:symbol "op6_mode" ; + lv2:name "OP6 MODE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 1 ; + lv2:portProperty lv2:toggled, lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 141 ; + lv2:symbol "op6_f_coarse" ; + lv2:name "OP6 F COARSE" ; + lv2:default 1 ; + lv2:minimum 0 ; + lv2:maximum 31 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 142 ; + lv2:symbol "op6_f_fine" ; + lv2:name "OP6 F FINE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 143 ; + lv2:symbol "op6_osc_detune" ; + lv2:name "OP6 OSC DETUNE" ; + lv2:default 7 ; + lv2:minimum -7 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 144 ; + lv2:symbol "op6_break_point" ; + lv2:name "OP6 BREAK POINT" ; + lv2:default 39 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 145 ; + lv2:symbol "op6_l_scale_depth" ; + lv2:name "OP6 L SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 146 ; + lv2:symbol "op6_r_scale_depth" ; + lv2:name "OP6 R SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 147 ; + lv2:symbol "op6_l_key_scale" ; + lv2:name "OP6 L KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 148 ; + lv2:symbol "op6_r_key_scale" ; + lv2:name "OP6 R KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 149 ; + lv2:symbol "op6_rate_scaling" ; + lv2:name "OP6 RATE SCALING" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 150 ; + lv2:symbol "op6_a_mod_sens_" ; + lv2:name "OP6 A MOD SENS." ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 151 ; + lv2:symbol "op6_key_velocity" ; + lv2:name "OP6 KEY VELOCITY" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] ; + + doap:name "Dexed" ; + doap:maintainer [ foaf:name "Digital Suburban" ] . + diff --git a/src/Makefile b/src/Makefile index 8c5edfa..3831d62 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,26 +1,76 @@ -CFLAGS := -DDEBUG=0 -std=c++11 - -all: \ - msfa/fm_core.o \ - msfa/env.o \ - msfa/lfo.o \ - msfa/dx7note.o \ - msfa/sin.o \ - msfa/pitchenv.o \ - msfa/fm_op_kernel.o \ - msfa/freqlut.o \ - msfa/exp2.o \ - EngineMkI.o \ - EngineOpl.o \ - PluginFx.o \ - PluginProcessor.o \ - SysexComm.o \ +BUNDLE = dexed.lv2 +INSTALL_DIR = /usr/local/lib/lv2 +CFLAGS := -fPIC -DPIC -DDEBUG=0 -std=c++11 -I/usr/include/lv2-c++-tools +OBJ = dexed.o fm_core.o env.o lfo.o dx7note.o sin.o pitchenv.o fm_op_kernel.o freqlut.o exp2.o EngineMkI.o EngineOpl.o PluginFx.o PluginProcessor.o +# SysexComm.o + +$(BUNDLE): manifest.ttl Dexed.ttl dexed.so + rm -rf $(BUNDLE) + mkdir $(BUNDLE) + cp $^ $(BUNDLE) clean: - rm -f *.o *~ *.bak *.gch + rm -f *.o *~ *.bak *.gch *.peg + +install: $(BUNDLE) + mkdir -p $(INSTALL_DIR) + rm -rf $(INSTALL_DIR)/$(BUNDLE) + cp -R $(BUNDLE) $(INSTALL_DIR) + +dexed.so: $(OBJ) + g++ -shared -fPIC -DPIC $(OBJ) `pkg-config --cflags --libs lv2-plugin` -o dexed.so + +dexed.o: dexed.cpp dexed.peg + $(CXX) $(CFLAGS) -Wall -c dexed.cpp + +fm_core.o: msfa/fm_core.cc + $(CXX) $(CFLAGS) -Wall -c msfa/fm_core.cc + +env.o: msfa/env.cc + $(CXX) $(CFLAGS) -Wall -c msfa/env.cc + +lfo.o: msfa/lfo.cc + $(CXX) $(CFLAGS) -Wall -c msfa/lfo.cc + +dx7note.o: msfa/dx7note.cc + $(CXX) $(CFLAGS) -Wall -c msfa/dx7note.cc + +sin.o: msfa/sin.cc + $(CXX) $(CFLAGS) -Wall -c msfa/sin.cc + +pitchenv.o: msfa/pitchenv.cc + $(CXX) $(CFLAGS) -Wall -c msfa/pitchenv.cc + +fm_op_kernel.o: msfa/fm_op_kernel.cc + $(CXX) $(CFLAGS) -Wall -c msfa/fm_op_kernel.cc + +freqlut.o: msfa/freqlut.cc + $(CXX) $(CFLAGS) -Wall -c msfa/freqlut.cc + +exp2.o: msfa/exp2.cc + $(CXX) $(CFLAGS) -Wall -c msfa/exp2.cc + +EngineMkI.o: EngineMkI.cpp + $(CXX) $(CFLAGS) -Wall -c EngineMkI.cpp + +EngineOpl.o: EngineOpl.cpp + $(CXX) $(CFLAGS) -Wall -c EngineOpl.cpp + +PluginFx.o: PluginFx.cpp + $(CXX) $(CFLAGS) -Wall -c PluginFx.cpp + +PluginProcessor.o: PluginProcessor.cpp + $(CXX) $(CFLAGS) -Wall -c PluginProcessor.cpp + +SysexComm.o: SysexComm.cpp + $(CXX) $(CFLAGS) -Wall -c SysexComm.cpp + +#msfa/%.o: msfa/%.cc +# $(CXX) $(CFLAGS) -Wall -c $< +# +#%.o: %.cpp +# $(CXX) $(CFLAGS) -Wall -c $< -msfa/%.o: msfa/%.cc - $(CXX) $(CFLAGS) -Wall -c $< +dexed.peg: Dexed.ttl + lv2peg Dexed.ttl dexed.peg -%.o: %.cpp - $(CXX) $(CFLAGS) -Wall -c $< diff --git a/src/PluginProcessor.h b/src/PluginProcessor.h index 7e06968..57a69f3 100644 --- a/src/PluginProcessor.h +++ b/src/PluginProcessor.h @@ -27,7 +27,7 @@ #include "msfa/synth.h" #include "msfa/fm_core.h" #include "PluginFx.h" -#include "SysexComm.h" +//#include "SysexComm.h" #include "EngineMkI.h" #include "EngineOpl.h" diff --git a/src/dexed.cpp b/src/dexed.cpp new file mode 100644 index 0000000..15f08f3 --- /dev/null +++ b/src/dexed.cpp @@ -0,0 +1,110 @@ +// from: http://ll-plugins.nongnu.org/lv2pftci/#A_synth + +#include +#include "dexed.peg" +#include "EngineMkI.h" +#include "EngineOpl.h" + +class DexedVoice : public LV2::Voice { +public: + Controllers controllers; + StringArray programNames; + Cartridge currentCart; + uint8_t data[161]; + + SysexComm sysexComm; + VoiceStatus voiceStatus; + File activeFileCartridge; + int getEngineType(); + void setEngineType(int rs); + Array ctrl; + + OperatorCtrl opCtrl[6]; + ScopedPointer pitchEgRate[4]; + ScopedPointer pitchEgLevel[4]; + ScopedPointer pitchModSens; + ScopedPointer algo; + ScopedPointer oscSync; + ScopedPointer feedback; + ScopedPointer lfoRate; + ScopedPointer lfoDelay; + ScopedPointer lfoAmpDepth; + ScopedPointer lfoPitchDepth; + ScopedPointer lfoWaveform; + ScopedPointer lfoSync; + ScopedPointer transpose; + + ScopedPointer fxCutoff; + ScopedPointer fxReso; + ScopedPointer output; + ScopedPointer tune; + + DexedVoice(double rate) + : m_key(LV2::INVALID_KEY), m_rate(rate) { + + } + + void on(unsigned char key, unsigned char velocity) { + m_key = key; + } + + void off(unsigned char velocity) { + m_key = LV2::INVALID_KEY; + } + + unsigned char get_key() const { + return m_key; + } + + void render(uint32_t from, uint32_t to) { + int i=0; + + if (m_key == LV2::INVALID_KEY) + return; + float s=0.0; + p(p_lv2_audio_out_1)[i] += s; + } + +protected: + + unsigned char m_key; + double m_rate; + + PluginFx fx; + bool refreshVoice; + bool normalizeDxVelocity; + bool sendSysexChange; + static const int MAX_ACTIVE_NOTES = 16; + ProcessorVoice voices[MAX_ACTIVE_NOTES]; + int currentNote; + Lfo lfo; + + bool sustain; + bool monoMode; + float extra_buf[N]; + int extra_buf_size; + + int currentProgram; + long lastStateSave; + uint32_t engineType; + + FmCore engineMsfa; + EngineMkI engineMkI; + EngineOpl engineOpl; + int feedback_bitdepth; +}; + + +class Dexed : public LV2::Synth { +public: + + Dexed(double rate) + : LV2::Synth(p_n_ports, p_lv2_events_in) { + add_voices(new DexedVoice(rate), new DexedVoice(rate), new DexedVoice(rate)); + add_audio_outputs(p_lv2_audio_out_1); + } + +}; + + +static int _ = Dexed::register_class(p_uri); diff --git a/src/dexed.lv2/Dexed.ttl b/src/dexed.lv2/Dexed.ttl new file mode 100644 index 0000000..4d0946e --- /dev/null +++ b/src/dexed.lv2/Dexed.ttl @@ -0,0 +1,1539 @@ +@prefix atom: . +@prefix doap: . +@prefix foaf: . +@prefix lv2: . +@prefix rdfs: . +@prefix ll: . +@prefix pg: . +@prefix ev: . + + + a lv2:InstrumentPlugin, lv2:Plugin ; + lv2:requiredFeature , + ; + lv2:extensionData , + , + ; + + ui:ui , + ; + ll:pegName "p"; + + lv2:port [ + a lv2:InputPort, atom:AtomPort ; + atom:bufferType atom:Sequence ; + atom:supports ; + lv2:index 0 ; + lv2:symbol "lv2_events_in" ; + lv2:name "Events Input" ; + lv2:designation lv2:control ; + ] ; + + lv2:port [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 1 ; + lv2:symbol "lv2_freewheel" ; + lv2:name "Freewheel" ; + lv2:default 0.0 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + lv2:designation ; + lv2:portProperty lv2:toggled, ; + ] , + [ + a lv2:OutputPort, lv2:ControlPort ; + lv2:index 2 ; + lv2:symbol "lv2_latency" ; + lv2:name "Latency" ; + lv2:designation ; + lv2:portProperty lv2:reportsLatency, lv2:integer ; + ] ; + + lv2:port [ + a lv2:OutputPort, lv2:AudioPort ; + lv2:index 3 ; + lv2:symbol "lv2_audio_out_1" ; + lv2:name "Audio Output 1" ; + ] ; + + lv2:port [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 4 ; + lv2:symbol "cutoff" ; + lv2:name "Cutoff" ; + lv2:default 1.000000 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 5 ; + lv2:symbol "resonance" ; + lv2:name "Resonance" ; + lv2:default 0.000000 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 6 ; + lv2:symbol "output" ; + lv2:name "Output" ; + lv2:default 1.000000 ; + lv2:minimum 0.0 ; + lv2:maximum 1.0 ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 7 ; + lv2:symbol "algorithm" ; + lv2:name "ALGORITHM" ; + lv2:default 1 ; + lv2:minimum 1 ; + lv2:maximum 32 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 8 ; + lv2:symbol "feedback" ; + lv2:name "FEEDBACK" ; + lv2:default 1 ; + lv2:minimum 1 ; + lv2:maximum 8 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 9 ; + lv2:symbol "osc_key_sync" ; + lv2:name "OSC KEY SYNC" ; + lv2:default 0 ; + lv2:minimum 1 ; + lv2:maximum 1 ; + lv2:portProperty lv2:toggled, lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 10 ; + lv2:symbol "lfo_speed" ; + lv2:name "LFO SPEED" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 11 ; + lv2:symbol "lfo_delay" ; + lv2:name "LFO DELAY" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 12 ; + lv2:symbol "lfo_pm_depth" ; + lv2:name "LFO PM DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 13 ; + lv2:symbol "lfo_am_depth" ; + lv2:name "LFO AM DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 14 ; + lv2:symbol "lfo_key_sync" ; + lv2:name "LFO KEY SYNC" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 1 ; + lv2:portProperty lv2:toggled, lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 15 ; + lv2:symbol "lfo_wave" ; + lv2:name "LFO WAVE" ; + lv2:default 1 ; + lv2:minimum 1 ; + lv2:maximum 6 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 16 ; + lv2:symbol "middle_c" ; + lv2:name "MIDDLE C" ; + lv2:default 24 ; + lv2:minimum 0 ; + lv2:maximum 48 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 17 ; + lv2:symbol "p_mode_sens_" ; + lv2:name "P MODE SENS." ; + lv2:default 1 ; + lv2:minimum 1 ; + lv2:maximum 8 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 18 ; + lv2:symbol "pitch_eg_rate_1" ; + lv2:name "PITCH EG RATE 1" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 19 ; + lv2:symbol "pitch_eg_rate_2" ; + lv2:name "PITCH EG RATE 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 20 ; + lv2:symbol "pitch_eg_rate_3" ; + lv2:name "PITCH EG RATE 3" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 21 ; + lv2:symbol "pitch_eg_rate_4" ; + lv2:name "PITCH EG RATE 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 22 ; + lv2:symbol "pitch_eg_level_1" ; + lv2:name "PITCH EG LEVEL 1" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 23 ; + lv2:symbol "pitch_eg_level_2" ; + lv2:name "PITCH EG LEVEL 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 24 ; + lv2:symbol "pitch_eg_level_3" ; + lv2:name "PITCH EG LEVEL 3" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 25 ; + lv2:symbol "pitch_eg_level_4" ; + lv2:name "PITCH EG LEVEL 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 26 ; + lv2:symbol "op1_eg_rate_1" ; + lv2:name "OP1 EG RATE 1" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 27 ; + lv2:symbol "op1_eg_rate_2" ; + lv2:name "OP1 EG RATE 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 28 ; + lv2:symbol "op1_eg_rate_3" ; + lv2:name "OP1 EG RATE 3" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 29 ; + lv2:symbol "op1_eg_rate_4" ; + lv2:name "OP1 EG RATE 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 30 ; + lv2:symbol "op1_eg_level_1" ; + lv2:name "OP1 EG LEVEL 1" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 31 ; + lv2:symbol "op1_eg_level_2" ; + lv2:name "OP1 EG LEVEL 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 32 ; + lv2:symbol "op1_eg_level_3" ; + lv2:name "OP1 EG LEVEL 3" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 33 ; + lv2:symbol "op1_eg_level_4" ; + lv2:name "OP1 EG LEVEL 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 34 ; + lv2:symbol "op1_output_level" ; + lv2:name "OP1 OUTPUT LEVEL" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 35 ; + lv2:symbol "op1_mode" ; + lv2:name "OP1 MODE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 1 ; + lv2:portProperty lv2:toggled, lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 36 ; + lv2:symbol "op1_f_coarse" ; + lv2:name "OP1 F COARSE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 31 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 37 ; + lv2:symbol "op1_f_fine" ; + lv2:name "OP1 F FINE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 38 ; + lv2:symbol "op1_osc_detune" ; + lv2:name "OP1 OSC DETUNE" ; + lv2:default 0 ; + lv2:minimum -7 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 39 ; + lv2:symbol "op1_break_point" ; + lv2:name "OP1 BREAK POINT" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 40 ; + lv2:symbol "op1_l_scale_depth" ; + lv2:name "OP1 L SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 41 ; + lv2:symbol "op1_r_scale_depth" ; + lv2:name "OP1 R SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 42 ; + lv2:symbol "op1_l_key_scale" ; + lv2:name "OP1 L KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 43 ; + lv2:symbol "op1_r_key_scale" ; + lv2:name "OP1 R KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 44 ; + lv2:symbol "op1_rate_scaling" ; + lv2:name "OP1 RATE SCALING" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 45 ; + lv2:symbol "op1_a_mod_sens_" ; + lv2:name "OP1 A MOD SENS." ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 46 ; + lv2:symbol "op1_key_velocity" ; + lv2:name "OP1 KEY VELOCITY" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 47 ; + lv2:symbol "op2_eg_rate_1" ; + lv2:name "OP2 EG RATE 1" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 48 ; + lv2:symbol "op2_eg_rate_2" ; + lv2:name "OP2 EG RATE 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 49 ; + lv2:symbol "op2_eg_rate_3" ; + lv2:name "OP2 EG RATE 3" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 50 ; + lv2:symbol "op2_eg_rate_4" ; + lv2:name "OP2 EG RATE 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 51 ; + lv2:symbol "op2_eg_level_1" ; + lv2:name "OP2 EG LEVEL 1" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 52 ; + lv2:symbol "op2_eg_level_2" ; + lv2:name "OP2 EG LEVEL 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 53 ; + lv2:symbol "op2_eg_level_3" ; + lv2:name "OP2 EG LEVEL 3" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 54 ; + lv2:symbol "op2_eg_level_4" ; + lv2:name "OP2 EG LEVEL 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 55 ; + lv2:symbol "op2_output_level" ; + lv2:name "OP2 OUTPUT LEVEL" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 56 ; + lv2:symbol "op2_mode" ; + lv2:name "OP2 MODE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 1 ; + lv2:portProperty lv2:toggled, lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 57 ; + lv2:symbol "op2_f_coarse" ; + lv2:name "OP2 F COARSE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 31 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 58 ; + lv2:symbol "op2_f_fine" ; + lv2:name "OP2 F FINE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 100 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 59 ; + lv2:symbol "op2_osc_detune" ; + lv2:name "OP2 OSC DETUNE" ; + lv2:default 0 ; + lv2:minimum -7 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 60 ; + lv2:symbol "op2_break_point" ; + lv2:name "OP2 BREAK POINT" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 100 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 61 ; + lv2:symbol "op2_l_scale_depth" ; + lv2:name "OP2 L SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 100 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 62 ; + lv2:symbol "op2_r_scale_depth" ; + lv2:name "OP2 R SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 100 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 63 ; + lv2:symbol "op2_l_key_scale" ; + lv2:name "OP2 L KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 64 ; + lv2:symbol "op2_r_key_scale" ; + lv2:name "OP2 R KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 65 ; + lv2:symbol "op2_rate_scaling" ; + lv2:name "OP2 RATE SCALING" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 66 ; + lv2:symbol "op2_a_mod_sens_" ; + lv2:name "OP2 A MOD SENS." ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 67 ; + lv2:symbol "op2_key_velocity" ; + lv2:name "OP2 KEY VELOCITY" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 68 ; + lv2:symbol "op3_eg_rate_1" ; + lv2:name "OP3 EG RATE 1" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 69 ; + lv2:symbol "op3_eg_rate_2" ; + lv2:name "OP3 EG RATE 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 70 ; + lv2:symbol "op3_eg_rate_3" ; + lv2:name "OP3 EG RATE 3" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 71 ; + lv2:symbol "op3_eg_rate_4" ; + lv2:name "OP3 EG RATE 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 72 ; + lv2:symbol "op3_eg_level_1" ; + lv2:name "OP3 EG LEVEL 1" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 73 ; + lv2:symbol "op3_eg_level_2" ; + lv2:name "OP3 EG LEVEL 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 74 ; + lv2:symbol "op3_eg_level_3" ; + lv2:name "OP3 EG LEVEL 3" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 75 ; + lv2:symbol "op3_eg_level_4" ; + lv2:name "OP3 EG LEVEL 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 76 ; + lv2:symbol "op3_output_level" ; + lv2:name "OP3 OUTPUT LEVEL" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 77 ; + lv2:symbol "op3_mode" ; + lv2:name "OP3 MODE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 1 ; + lv2:portProperty lv2:toggled, lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 78 ; + lv2:symbol "op3_f_coarse" ; + lv2:name "OP3 F COARSE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 31 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 79 ; + lv2:symbol "op3_f_fine" ; + lv2:name "OP3 F FINE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 80 ; + lv2:symbol "op3_osc_detune" ; + lv2:name "OP3 OSC DETUNE" ; + lv2:default 0 ; + lv2:minimum -7 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 81 ; + lv2:symbol "op3_break_point" ; + lv2:name "OP3 BREAK POINT" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 82 ; + lv2:symbol "op3_l_scale_depth" ; + lv2:name "OP3 L SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 83 ; + lv2:symbol "op3_r_scale_depth" ; + lv2:name "OP3 R SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 84 ; + lv2:symbol "op3_l_key_scale" ; + lv2:name "OP3 L KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 85 ; + lv2:symbol "op3_r_key_scale" ; + lv2:name "OP3 R KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 86 ; + lv2:symbol "op3_rate_scaling" ; + lv2:name "OP3 RATE SCALING" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 87 ; + lv2:symbol "op3_a_mod_sens_" ; + lv2:name "OP3 A MOD SENS." ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 88 ; + lv2:symbol "op3_key_velocity" ; + lv2:name "OP3 KEY VELOCITY" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 89 ; + lv2:symbol "op4_eg_rate_1" ; + lv2:name "OP4 EG RATE 1" ; + lv2:default 1 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 90 ; + lv2:symbol "op4_eg_rate_2" ; + lv2:name "OP4 EG RATE 2" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 91 ; + lv2:symbol "op4_eg_rate_3" ; + lv2:name "OP4 EG RATE 3" ; + lv2:default 7 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 92 ; + lv2:symbol "op4_eg_rate_4" ; + lv2:name "OP4 EG RATE 4" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 93 ; + lv2:symbol "op4_eg_level_1" ; + lv2:name "OP4 EG LEVEL 1" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 94 ; + lv2:symbol "op4_eg_level_2" ; + lv2:name "OP4 EG LEVEL 2" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 95 ; + lv2:symbol "op4_eg_level_3" ; + lv2:name "OP4 EG LEVEL 3" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 96 ; + lv2:symbol "op4_eg_level_4" ; + lv2:name "OP4 EG LEVEL 4" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 97 ; + lv2:symbol "op4_output_level" ; + lv2:name "OP4 OUTPUT LEVEL" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 98 ; + lv2:symbol "op4_mode" ; + lv2:name "OP4 MODE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 1 ; + lv2:portProperty lv2:toggled, lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 99 ; + lv2:symbol "op4_f_coarse" ; + lv2:name "OP4 F COARSE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 31 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 100 ; + lv2:symbol "op4_f_fine" ; + lv2:name "OP4 F FINE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 101 ; + lv2:symbol "op4_osc_detune" ; + lv2:name "OP4 OSC DETUNE" ; + lv2:default 0 ; + lv2:minimum -7 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 102 ; + lv2:symbol "op4_break_point" ; + lv2:name "OP4 BREAK POINT" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 103 ; + lv2:symbol "op4_l_scale_depth" ; + lv2:name "OP4 L SCALE DEPTH" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 104 ; + lv2:symbol "op4_r_scale_depth" ; + lv2:name "OP4 R SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 105 ; + lv2:symbol "op4_l_key_scale" ; + lv2:name "OP4 L KEY SCALE" ; + lv2:default 39 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 106 ; + lv2:symbol "op4_r_key_scale" ; + lv2:name "OP4 R KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 107 ; + lv2:symbol "op4_rate_scaling" ; + lv2:name "OP4 RATE SCALING" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 108 ; + lv2:symbol "op4_a_mod_sens_" ; + lv2:name "OP4 A MOD SENS." ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 109 ; + lv2:symbol "op4_key_velocity" ; + lv2:name "OP4 KEY VELOCITY" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 110 ; + lv2:symbol "op5_eg_rate_1" ; + lv2:name "OP5 EG RATE 1" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 111 ; + lv2:symbol "op5_eg_rate_2" ; + lv2:name "OP5 EG RATE 2" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 112 ; + lv2:symbol "op5_eg_rate_3" ; + lv2:name "OP5 EG RATE 3" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 113 ; + lv2:symbol "op5_eg_rate_4" ; + lv2:name "OP5 EG RATE 4" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 114 ; + lv2:symbol "op5_eg_level_1" ; + lv2:name "OP5 EG LEVEL 1" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 115 ; + lv2:symbol "op5_eg_level_2" ; + lv2:name "OP5 EG LEVEL 2" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 116 ; + lv2:symbol "op5_eg_level_3" ; + lv2:name "OP5 EG LEVEL 3" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 117 ; + lv2:symbol "op5_eg_level_4" ; + lv2:name "OP5 EG LEVEL 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 118 ; + lv2:symbol "op5_output_level" ; + lv2:name "OP5 OUTPUT LEVEL" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 119 ; + lv2:symbol "op5_mode" ; + lv2:name "OP5 MODE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 1 ; + lv2:portProperty lv2:toggled, lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 120 ; + lv2:symbol "op5_f_coarse" ; + lv2:name "OP5 F COARSE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 31 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 121 ; + lv2:symbol "op5_f_fine" ; + lv2:name "OP5 F FINE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 122 ; + lv2:symbol "op5_osc_detune" ; + lv2:name "OP5 OSC DETUNE" ; + lv2:default 0 ; + lv2:minimum -7 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 123 ; + lv2:symbol "op5_break_point" ; + lv2:name "OP5 BREAK POINT" ; + lv2:default 39 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 124 ; + lv2:symbol "op5_l_scale_depth" ; + lv2:name "OP5 L SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 125 ; + lv2:symbol "op5_r_scale_depth" ; + lv2:name "OP5 R SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 126 ; + lv2:symbol "op5_l_key_scale" ; + lv2:name "OP5 L KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 127 ; + lv2:symbol "op5_r_key_scale" ; + lv2:name "OP5 R KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 128 ; + lv2:symbol "op5_rate_scaling" ; + lv2:name "OP5 RATE SCALING" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 129 ; + lv2:symbol "op5_a_mod_sens_" ; + lv2:name "OP5 A MOD SENS." ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 130 ; + lv2:symbol "op5_key_velocity" ; + lv2:name "OP5 KEY VELOCITY" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 131 ; + lv2:symbol "op6_eg_rate_1" ; + lv2:name "OP6 EG RATE 1" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 132 ; + lv2:symbol "op6_eg_rate_2" ; + lv2:name "OP6 EG RATE 2" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 133 ; + lv2:symbol "op6_eg_rate_3" ; + lv2:name "OP6 EG RATE 3" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 134 ; + lv2:symbol "op6_eg_rate_4" ; + lv2:name "OP6 EG RATE 4" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 135 ; + lv2:symbol "op6_eg_level_1" ; + lv2:name "OP6 EG LEVEL 1" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 136 ; + lv2:symbol "op6_eg_level_2" ; + lv2:name "OP6 EG LEVEL 2" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 137 ; + lv2:symbol "op6_eg_level_3" ; + lv2:name "OP6 EG LEVEL 3" ; + lv2:default 99 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 138 ; + lv2:symbol "op6_eg_level_4" ; + lv2:name "OP6 EG LEVEL 4" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 139 ; + lv2:symbol "op6_output_level" ; + lv2:name "OP6 OUTPUT LEVEL" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 140 ; + lv2:symbol "op6_mode" ; + lv2:name "OP6 MODE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 1 ; + lv2:portProperty lv2:toggled, lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 141 ; + lv2:symbol "op6_f_coarse" ; + lv2:name "OP6 F COARSE" ; + lv2:default 1 ; + lv2:minimum 0 ; + lv2:maximum 31 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 142 ; + lv2:symbol "op6_f_fine" ; + lv2:name "OP6 F FINE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 143 ; + lv2:symbol "op6_osc_detune" ; + lv2:name "OP6 OSC DETUNE" ; + lv2:default 7 ; + lv2:minimum -7 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 144 ; + lv2:symbol "op6_break_point" ; + lv2:name "OP6 BREAK POINT" ; + lv2:default 39 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 145 ; + lv2:symbol "op6_l_scale_depth" ; + lv2:name "OP6 L SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 146 ; + lv2:symbol "op6_r_scale_depth" ; + lv2:name "OP6 R SCALE DEPTH" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 99 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 147 ; + lv2:symbol "op6_l_key_scale" ; + lv2:name "OP6 L KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 148 ; + lv2:symbol "op6_r_key_scale" ; + lv2:name "OP6 R KEY SCALE" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 149 ; + lv2:symbol "op6_rate_scaling" ; + lv2:name "OP6 RATE SCALING" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 150 ; + lv2:symbol "op6_a_mod_sens_" ; + lv2:name "OP6 A MOD SENS." ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 3 ; + lv2:portProperty lv2:integer ; + ] , + [ + a lv2:InputPort, lv2:ControlPort ; + lv2:index 151 ; + lv2:symbol "op6_key_velocity" ; + lv2:name "OP6 KEY VELOCITY" ; + lv2:default 0 ; + lv2:minimum 0 ; + lv2:maximum 7 ; + lv2:portProperty lv2:integer ; + ] ; + + doap:name "Dexed" ; + doap:maintainer [ foaf:name "Digital Suburban" ] . + diff --git a/src/dexed.lv2/manifest.ttl b/src/dexed.lv2/manifest.ttl new file mode 100644 index 0000000..7462edb --- /dev/null +++ b/src/dexed.lv2/manifest.ttl @@ -0,0 +1,11 @@ +@prefix lv2: . +@prefix pset: . +@prefix rdfs: . +@prefix ui: . +@prefix mdap: . +@prefix pset: . + + + a lv2:Plugin ; + lv2:binary ; + rdfs:seeAlso . diff --git a/src/dexed.peg b/src/dexed.peg new file mode 100644 index 0000000..4fbfca2 --- /dev/null +++ b/src/dexed.peg @@ -0,0 +1,333 @@ +#ifndef dexed_peg +#define dexed_peg + + +#ifndef PEG_STRUCT +#define PEG_STRUCT +typedef struct { + float min; + float max; + float default_value; + char toggled; + char integer; + char logarithmic; +} peg_data_t; +#endif + +/* */ + +static const char p_uri[] = "https://github.com/asb2m10/dexed"; + +enum p_port_enum { + p_lv2_events_in, + p_lv2_freewheel, + p_lv2_latency, + p_lv2_audio_out_1, + p_cutoff, + p_resonance, + p_output, + p_algorithm, + p_feedback, + p_osc_key_sync, + p_lfo_speed, + p_lfo_delay, + p_lfo_pm_depth, + p_lfo_am_depth, + p_lfo_key_sync, + p_lfo_wave, + p_middle_c, + p_p_mode_sens_, + p_pitch_eg_rate_1, + p_pitch_eg_rate_2, + p_pitch_eg_rate_3, + p_pitch_eg_rate_4, + p_pitch_eg_level_1, + p_pitch_eg_level_2, + p_pitch_eg_level_3, + p_pitch_eg_level_4, + p_op1_eg_rate_1, + p_op1_eg_rate_2, + p_op1_eg_rate_3, + p_op1_eg_rate_4, + p_op1_eg_level_1, + p_op1_eg_level_2, + p_op1_eg_level_3, + p_op1_eg_level_4, + p_op1_output_level, + p_op1_mode, + p_op1_f_coarse, + p_op1_f_fine, + p_op1_osc_detune, + p_op1_break_point, + p_op1_l_scale_depth, + p_op1_r_scale_depth, + p_op1_l_key_scale, + p_op1_r_key_scale, + p_op1_rate_scaling, + p_op1_a_mod_sens_, + p_op1_key_velocity, + p_op2_eg_rate_1, + p_op2_eg_rate_2, + p_op2_eg_rate_3, + p_op2_eg_rate_4, + p_op2_eg_level_1, + p_op2_eg_level_2, + p_op2_eg_level_3, + p_op2_eg_level_4, + p_op2_output_level, + p_op2_mode, + p_op2_f_coarse, + p_op2_f_fine, + p_op2_osc_detune, + p_op2_break_point, + p_op2_l_scale_depth, + p_op2_r_scale_depth, + p_op2_l_key_scale, + p_op2_r_key_scale, + p_op2_rate_scaling, + p_op2_a_mod_sens_, + p_op2_key_velocity, + p_op3_eg_rate_1, + p_op3_eg_rate_2, + p_op3_eg_rate_3, + p_op3_eg_rate_4, + p_op3_eg_level_1, + p_op3_eg_level_2, + p_op3_eg_level_3, + p_op3_eg_level_4, + p_op3_output_level, + p_op3_mode, + p_op3_f_coarse, + p_op3_f_fine, + p_op3_osc_detune, + p_op3_break_point, + p_op3_l_scale_depth, + p_op3_r_scale_depth, + p_op3_l_key_scale, + p_op3_r_key_scale, + p_op3_rate_scaling, + p_op3_a_mod_sens_, + p_op3_key_velocity, + p_op4_eg_rate_1, + p_op4_eg_rate_2, + p_op4_eg_rate_3, + p_op4_eg_rate_4, + p_op4_eg_level_1, + p_op4_eg_level_2, + p_op4_eg_level_3, + p_op4_eg_level_4, + p_op4_output_level, + p_op4_mode, + p_op4_f_coarse, + p_op4_f_fine, + p_op4_osc_detune, + p_op4_break_point, + p_op4_l_scale_depth, + p_op4_r_scale_depth, + p_op4_l_key_scale, + p_op4_r_key_scale, + p_op4_rate_scaling, + p_op4_a_mod_sens_, + p_op4_key_velocity, + p_op5_eg_rate_1, + p_op5_eg_rate_2, + p_op5_eg_rate_3, + p_op5_eg_rate_4, + p_op5_eg_level_1, + p_op5_eg_level_2, + p_op5_eg_level_3, + p_op5_eg_level_4, + p_op5_output_level, + p_op5_mode, + p_op5_f_coarse, + p_op5_f_fine, + p_op5_osc_detune, + p_op5_break_point, + p_op5_l_scale_depth, + p_op5_r_scale_depth, + p_op5_l_key_scale, + p_op5_r_key_scale, + p_op5_rate_scaling, + p_op5_a_mod_sens_, + p_op5_key_velocity, + p_op6_eg_rate_1, + p_op6_eg_rate_2, + p_op6_eg_rate_3, + p_op6_eg_rate_4, + p_op6_eg_level_1, + p_op6_eg_level_2, + p_op6_eg_level_3, + p_op6_eg_level_4, + p_op6_output_level, + p_op6_mode, + p_op6_f_coarse, + p_op6_f_fine, + p_op6_osc_detune, + p_op6_break_point, + p_op6_l_scale_depth, + p_op6_r_scale_depth, + p_op6_l_key_scale, + p_op6_r_key_scale, + p_op6_rate_scaling, + p_op6_a_mod_sens_, + p_op6_key_velocity, + p_n_ports +}; + +static const peg_data_t p_ports[] = { + { -3.40282e+38, 3.40282e+38, -3.40282e+38, 0, 0, 0 }, + { 0, 1, 0, 0, 0, 0 }, + { -3.40282e+38, 3.40282e+38, -3.40282e+38, 0, 0, 0 }, + { -3.40282e+38, 3.40282e+38, -3.40282e+38, 0, 0, 0 }, + { 0, 1, 1, 0, 0, 0 }, + { 0, 1, 0, 0, 0, 0 }, + { 0, 1, 1, 0, 0, 0 }, + { 1, 32, 1, 0, 0, 0 }, + { 1, 8, 1, 0, 0, 0 }, + { 1, 1, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 1, 0, 0, 0, 0 }, + { 1, 6, 1, 0, 0, 0 }, + { 0, 48, 24, 0, 0, 0 }, + { 1, 8, 1, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 1, 0, 0, 0, 0 }, + { 0, 31, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { -7, 7, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 7, 0, 0, 0, 0 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 7, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 1, 0, 0, 0, 0 }, + { 0, 31, 0, 0, 0, 0 }, + { 0, 100, 0, 0, 0, 0 }, + { -7, 7, 0, 0, 0, 0 }, + { 0, 100, 0, 0, 0, 0 }, + { 0, 100, 0, 0, 0, 0 }, + { 0, 100, 0, 0, 0, 0 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 7, 0, 0, 0, 0 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 7, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 1, 0, 0, 0, 0 }, + { 0, 31, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { -7, 7, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 7, 0, 0, 0, 0 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 7, 0, 0, 0, 0 }, + { 0, 99, 1, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 7, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 1, 0, 0, 0, 0 }, + { 0, 31, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { -7, 7, 0, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 39, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 7, 0, 0, 0, 0 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 7, 0, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 1, 0, 0, 0, 0 }, + { 0, 31, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { -7, 7, 0, 0, 0, 0 }, + { 0, 99, 39, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 7, 0, 0, 0, 0 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 7, 0, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 99, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 1, 0, 0, 0, 0 }, + { 0, 31, 1, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { -7, 7, 7, 0, 0, 0 }, + { 0, 99, 39, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 99, 0, 0, 0, 0 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 7, 0, 0, 0, 0 }, + { 0, 3, 0, 0, 0, 0 }, + { 0, 7, 0, 0, 0, 0 }, +}; + + +#endif /* dexed_peg */ diff --git a/src/manifest.ttl b/src/manifest.ttl new file mode 100644 index 0000000..7462edb --- /dev/null +++ b/src/manifest.ttl @@ -0,0 +1,11 @@ +@prefix lv2: . +@prefix pset: . +@prefix rdfs: . +@prefix ui: . +@prefix mdap: . +@prefix pset: . + + + a lv2:Plugin ; + lv2:binary ; + rdfs:seeAlso . diff --git a/src/SysexComm.h b/src/trash/SysexComm.h similarity index 100% rename from src/SysexComm.h rename to src/trash/SysexComm.h