@prefix : <http://calf.sourceforge.net/plugins/Monosynth#> .
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix lv2:  <http://lv2plug.in/ns/lv2core#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix uiext: <http://lv2plug.in/ns/extensions/ui#> .
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
@prefix lv2midi: <http://lv2plug.in/ns/ext/midi#> .
@prefix lv2ctx: <http://lv2plug.in/ns/dev/contexts#> .
@prefix strport: <http://lv2plug.in/ns/dev/string-port#> .
@prefix pg: <http://lv2plug.in/ns/ext/port-groups#> .
@prefix ue: <http://lv2plug.in/ns/extensions/units#> .
@prefix epp: <http://lv2plug.in/ns/ext/port-props#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix param: <http://lv2plug.in/ns/ext/parameters#> .

<http://calf.sourceforge.net/team>
    a foaf:Person ;
    foaf:name "Calf Studio Gear" ;
    foaf:mbox <mailto:info@calf-studio-gear.org> ;
    foaf:homepage <http://calf-studio-gear.org/> .


:out a pg:StereoGroup , pg:OutputGroup ;
    lv2:symbol "out" ;
    rdfs:label "Output" .

<http://calf.sourceforge.net/plugins/Monosynth> a lv2:Plugin, lv2:InstrumentPlugin ;
    doap:name "Calf Monosynth" ;
    doap:license <http://usefulinc.com/doap/licenses/lgpl> ;
    doap:developer <http://calf.sourceforge.net/team> ;
    doap:maintainer <http://calf.sourceforge.net/team> ;
    dct:replaces <urn:ladspa:33920> ;
    lv2:optionalFeature epp:supportsStrictBounds ;
    lv2:optionalFeature lv2:hardRTCapable ;
    lv2:requiredFeature <http://lv2plug.in/ns/ext/urid#map> ;
    lv2:extensionData <http://lv2plug.in/ns/ext/state#interface> ;
    pg:mainOutput :out ;
    lv2:port [
        a lv2:OutputPort ;
        a lv2:AudioPort ;
        lv2:index 0 ;
        lv2:symbol "out_l" ;
        lv2:name "Out L" ;
        lv2:designation pg:left ;
        pg:group :out ;
    ] , [
        a lv2:OutputPort ;
        a lv2:AudioPort ;
        lv2:index 1 ;
        lv2:symbol "out_r" ;
        lv2:name "Out R" ;
        lv2:designation pg:right ;
        pg:group :out ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 2 ;
        lv2:symbol "o1_wave" ;
        lv2:name "Osc1 Wave" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:integer ;
        lv2:portProperty lv2:enumeration ;
        lv2:scalePoint [ rdfs:label "Sawtooth"; rdf:value 0 ] ;
        lv2:scalePoint [ rdfs:label "Square"; rdf:value 1 ] ;
        lv2:scalePoint [ rdfs:label "Pulse"; rdf:value 2 ] ;
        lv2:scalePoint [ rdfs:label "Sine"; rdf:value 3 ] ;
        lv2:scalePoint [ rdfs:label "Triangle"; rdf:value 4 ] ;
        lv2:scalePoint [ rdfs:label "Varistep"; rdf:value 5 ] ;
        lv2:scalePoint [ rdfs:label "Skewed Saw"; rdf:value 6 ] ;
        lv2:scalePoint [ rdfs:label "Skewed Square"; rdf:value 7 ] ;
        lv2:scalePoint [ rdfs:label "Smooth Brass"; rdf:value 8 ] ;
        lv2:scalePoint [ rdfs:label "Bass"; rdf:value 9 ] ;
        lv2:scalePoint [ rdfs:label "Dark FM"; rdf:value 10 ] ;
        lv2:scalePoint [ rdfs:label "Multiwave"; rdf:value 11 ] ;
        lv2:scalePoint [ rdfs:label "Bell FM"; rdf:value 12 ] ;
        lv2:scalePoint [ rdfs:label "Dark Pad"; rdf:value 13 ] ;
        lv2:scalePoint [ rdfs:label "DCO Saw"; rdf:value 14 ] ;
        lv2:scalePoint [ rdfs:label "DCO Maze"; rdf:value 15 ] ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 15 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 3 ;
        lv2:symbol "o2_wave" ;
        lv2:name "Osc2 Wave" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:integer ;
        lv2:portProperty lv2:enumeration ;
        lv2:scalePoint [ rdfs:label "Sawtooth"; rdf:value 0 ] ;
        lv2:scalePoint [ rdfs:label "Square"; rdf:value 1 ] ;
        lv2:scalePoint [ rdfs:label "Pulse"; rdf:value 2 ] ;
        lv2:scalePoint [ rdfs:label "Sine"; rdf:value 3 ] ;
        lv2:scalePoint [ rdfs:label "Triangle"; rdf:value 4 ] ;
        lv2:scalePoint [ rdfs:label "Varistep"; rdf:value 5 ] ;
        lv2:scalePoint [ rdfs:label "Skewed Saw"; rdf:value 6 ] ;
        lv2:scalePoint [ rdfs:label "Skewed Square"; rdf:value 7 ] ;
        lv2:scalePoint [ rdfs:label "Smooth Brass"; rdf:value 8 ] ;
        lv2:scalePoint [ rdfs:label "Bass"; rdf:value 9 ] ;
        lv2:scalePoint [ rdfs:label "Dark FM"; rdf:value 10 ] ;
        lv2:scalePoint [ rdfs:label "Multiwave"; rdf:value 11 ] ;
        lv2:scalePoint [ rdfs:label "Bell FM"; rdf:value 12 ] ;
        lv2:scalePoint [ rdfs:label "Dark Pad"; rdf:value 13 ] ;
        lv2:scalePoint [ rdfs:label "DCO Saw"; rdf:value 14 ] ;
        lv2:scalePoint [ rdfs:label "DCO Maze"; rdf:value 15 ] ;
        lv2:default 1 ;
        lv2:minimum 0 ;
        lv2:maximum 15 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 4 ;
        lv2:symbol "o1_pw" ;
        lv2:name "Osc1 PW" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0 ;
        lv2:minimum -1 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 5 ;
        lv2:symbol "o2_pw" ;
        lv2:name "Osc2 PW" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0 ;
        lv2:minimum -1 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 6 ;
        lv2:symbol "o12_detune" ;
        lv2:name "O1<>2 Detune" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 10 ;
        lv2:minimum 0 ;
        lv2:maximum 100 ;
        ue:unit ue:cent ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 7 ;
        lv2:symbol "o2_xpose" ;
        lv2:name "Osc2 Transpose" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:integer ;
        lv2:default 12 ;
        lv2:minimum -24 ;
        lv2:maximum 24 ;
        ue:unit ue:semitone12TET ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 8 ;
        lv2:symbol "phase_mode" ;
        lv2:name "Phase mode" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:integer ;
        lv2:portProperty lv2:enumeration ;
        lv2:scalePoint [ rdfs:label "0° : 0°"; rdf:value 0 ] ;
        lv2:scalePoint [ rdfs:label "0° : 180°"; rdf:value 1 ] ;
        lv2:scalePoint [ rdfs:label "0° : 90°"; rdf:value 2 ] ;
        lv2:scalePoint [ rdfs:label "90° : 90°"; rdf:value 3 ] ;
        lv2:scalePoint [ rdfs:label "90° : 270°"; rdf:value 4 ] ;
        lv2:scalePoint [ rdfs:label "Random"; rdf:value 5 ] ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 5 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 9 ;
        lv2:symbol "o12_mix" ;
        lv2:name "O1<>2 Mix" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0.500000 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 10 ;
        lv2:symbol "filter" ;
        lv2:name "Filter" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:integer ;
        lv2:portProperty lv2:enumeration ;
        lv2:scalePoint [ rdfs:label "12dB/oct Lowpass"; rdf:value 0 ] ;
        lv2:scalePoint [ rdfs:label "24dB/oct Lowpass"; rdf:value 1 ] ;
        lv2:scalePoint [ rdfs:label "2x12dB/oct Lowpass"; rdf:value 2 ] ;
        lv2:scalePoint [ rdfs:label "12dB/oct Highpass"; rdf:value 3 ] ;
        lv2:scalePoint [ rdfs:label "Lowpass+Notch"; rdf:value 4 ] ;
        lv2:scalePoint [ rdfs:label "Highpass+Notch"; rdf:value 5 ] ;
        lv2:scalePoint [ rdfs:label "6dB/oct Bandpass"; rdf:value 6 ] ;
        lv2:scalePoint [ rdfs:label "2x6dB/oct Bandpass"; rdf:value 7 ] ;
        lv2:default 1 ;
        lv2:minimum 0 ;
        lv2:maximum 7 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 11 ;
        lv2:symbol "cutoff" ;
        lv2:name "Cutoff" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 33 ;
        lv2:minimum 10 ;
        lv2:maximum 16000 ;
        ue:unit ue:hz ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 12 ;
        lv2:symbol "res" ;
        lv2:name "Resonance" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 3 ;
        lv2:minimum 0.700000 ;
        lv2:maximum 8 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 13 ;
        lv2:symbol "filter_sep" ;
        lv2:name "Separation" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0 ;
        lv2:minimum -2400 ;
        lv2:maximum 2400 ;
        ue:unit ue:cent ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 14 ;
        lv2:symbol "env2cutoff" ;
        lv2:name "Env->Cutoff" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 8000 ;
        lv2:minimum -10800 ;
        lv2:maximum 10800 ;
        ue:unit ue:cent ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 15 ;
        lv2:symbol "env2res" ;
        lv2:name "Env->Res" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 1 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 16 ;
        lv2:symbol "env2amp" ;
        lv2:name "Env->Amp" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:toggled ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 17 ;
        lv2:symbol "adsr_a" ;
        lv2:name "EG1 Attack" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 1 ;
        lv2:minimum 1 ;
        lv2:maximum 20000 ;
        ue:unit ue:ms ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 18 ;
        lv2:symbol "adsr_d" ;
        lv2:name "EG1 Decay" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 350 ;
        lv2:minimum 10 ;
        lv2:maximum 20000 ;
        ue:unit ue:ms ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 19 ;
        lv2:symbol "adsr_s" ;
        lv2:name "EG1 Sustain" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0.500000 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 20 ;
        lv2:symbol "adsr_f" ;
        lv2:name "EG1 Fade" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0 ;
        lv2:minimum -10000 ;
        lv2:maximum 10000 ;
        ue:unit ue:ms ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 21 ;
        lv2:symbol "adsr_r" ;
        lv2:name "EG1 Release" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 100 ;
        lv2:minimum 10 ;
        lv2:maximum 20000 ;
        ue:unit ue:ms ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 22 ;
        lv2:symbol "key_follow" ;
        lv2:name "Key Follow" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 2 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 23 ;
        lv2:symbol "legato" ;
        lv2:name "Legato Mode" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:integer ;
        lv2:portProperty lv2:enumeration ;
        lv2:scalePoint [ rdfs:label "Retrig"; rdf:value 0 ] ;
        lv2:scalePoint [ rdfs:label "Legato"; rdf:value 1 ] ;
        lv2:scalePoint [ rdfs:label "Fng Retrig"; rdf:value 2 ] ;
        lv2:scalePoint [ rdfs:label "Fng Legato"; rdf:value 3 ] ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 3 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 24 ;
        lv2:symbol "portamento" ;
        lv2:name "Portamento" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 1 ;
        lv2:minimum 1 ;
        lv2:maximum 2000 ;
        ue:unit ue:ms ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 25 ;
        lv2:symbol "vel2filter" ;
        lv2:name "Vel->Filter" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0.500000 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 26 ;
        lv2:symbol "vel2amp" ;
        lv2:name "Vel->Amp" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 27 ;
        lv2:symbol "master" ;
        lv2:name "Volume" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:designation param:gain ;
        lv2:default 0.500000 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 28 ;
        lv2:symbol "pbend_range" ;
        lv2:name "PBend Range" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 200 ;
        lv2:minimum 0 ;
        lv2:maximum 2400 ;
        ue:unit ue:cent ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 29 ;
        lv2:symbol "lfo_rate" ;
        lv2:name "LFO1 Rate" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 5 ;
        lv2:minimum 0.0100000 ;
        lv2:maximum 20 ;
        ue:unit ue:hz ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 30 ;
        lv2:symbol "lfo_delay" ;
        lv2:name "LFO1 Delay" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0.500000 ;
        lv2:minimum 0 ;
        lv2:maximum 5 ;
        ue:unit ue:s ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 31 ;
        lv2:symbol "lfo2filter" ;
        lv2:name "LFO1->Filter" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0 ;
        lv2:minimum -4800 ;
        lv2:maximum 4800 ;
        ue:unit ue:cent ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 32 ;
        lv2:symbol "lfo2pitch" ;
        lv2:name "LFO1->Pitch" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 100 ;
        lv2:minimum 0 ;
        lv2:maximum 1200 ;
        ue:unit ue:cent ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 33 ;
        lv2:symbol "lfo2pw" ;
        lv2:name "LFO1->PW" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 34 ;
        lv2:symbol "mwhl2lfo" ;
        lv2:name "ModWheel->LFO1" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 1 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 35 ;
        lv2:symbol "scale_detune" ;
        lv2:name "Scale Detune" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 1 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 36 ;
        lv2:symbol "adsr2_cutoff" ;
        lv2:name "EG2->Cutoff" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0 ;
        lv2:minimum -10800 ;
        lv2:maximum 10800 ;
        ue:unit ue:cent ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 37 ;
        lv2:symbol "adsr2_res" ;
        lv2:name "EG2->Res" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0.300000 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 38 ;
        lv2:symbol "adsr2_amp" ;
        lv2:name "EG2->Amp" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:toggled ;
        lv2:default 1 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 39 ;
        lv2:symbol "adsr2_a" ;
        lv2:name "EG2 Attack" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 1 ;
        lv2:minimum 1 ;
        lv2:maximum 20000 ;
        ue:unit ue:ms ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 40 ;
        lv2:symbol "adsr2_d" ;
        lv2:name "EG2 Decay" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 100 ;
        lv2:minimum 10 ;
        lv2:maximum 20000 ;
        ue:unit ue:ms ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 41 ;
        lv2:symbol "adsr2_s" ;
        lv2:name "EG2 Sustain" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0.500000 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 42 ;
        lv2:symbol "adsr2_f" ;
        lv2:name "EG2 Fade" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0 ;
        lv2:minimum -10000 ;
        lv2:maximum 10000 ;
        ue:unit ue:ms ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 43 ;
        lv2:symbol "adsr2_r" ;
        lv2:name "Release" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 50 ;
        lv2:minimum 10 ;
        lv2:maximum 20000 ;
        ue:unit ue:ms ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 44 ;
        lv2:symbol "o1_stretch" ;
        lv2:name "Osc1 Stretch" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 1 ;
        lv2:minimum 1 ;
        lv2:maximum 16 ;
        ue:unit ue:coef ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 45 ;
        lv2:symbol "o1_window" ;
        lv2:name "Osc1 Window" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 46 ;
        lv2:symbol "lfo1_trig" ;
        lv2:name "LFO1 Trigger Mode" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:integer ;
        lv2:portProperty lv2:enumeration ;
        lv2:scalePoint [ rdfs:label "Retrig"; rdf:value 0 ] ;
        lv2:scalePoint [ rdfs:label "Free"; rdf:value 1 ] ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 47 ;
        lv2:symbol "lfo2_trig" ;
        lv2:name "LFO2 Trigger Mode" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:integer ;
        lv2:portProperty lv2:enumeration ;
        lv2:scalePoint [ rdfs:label "Retrig"; rdf:value 0 ] ;
        lv2:scalePoint [ rdfs:label "Free"; rdf:value 1 ] ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 48 ;
        lv2:symbol "lfo2_rate" ;
        lv2:name "LFO1 Rate" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 5 ;
        lv2:minimum 0.0100000 ;
        lv2:maximum 20 ;
        ue:unit ue:hz ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 49 ;
        lv2:symbol "lfo2_delay" ;
        lv2:name "LFO1 Delay" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 0.500000 ;
        lv2:minimum 0.100000 ;
        lv2:maximum 5 ;
        ue:unit ue:s ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 50 ;
        lv2:symbol "o2_unison" ;
        lv2:name "Osc2 Unison" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 51 ;
        lv2:symbol "o2_unisonfrq" ;
        lv2:name "Osc2 Unison Detune" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 2 ;
        lv2:minimum 0.0100000 ;
        lv2:maximum 20 ;
        ue:unit ue:hz ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 52 ;
        lv2:symbol "o1_xpose" ;
        lv2:name "Osc1 Transpose" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:integer ;
        lv2:default 0 ;
        lv2:minimum -24 ;
        lv2:maximum 24 ;
        ue:unit ue:semitone12TET ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 53 ;
        lv2:symbol "midi" ;
        lv2:name "MIDI Channel" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:integer ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 16 ;
    ] , [
        a lv2:InputPort ;
        a atom:AtomPort ;
        lv2:index 54 ;
        lv2:symbol "midi_in" ;
        lv2:name "MIDI In" ;
        lv2:portProperty lv2:connectionOptional ;
        atom:bufferType atom:Sequence ;
        atom:supports lv2midi:MidiEvent ;
        atom:supports atom:Property ;

    ] , [
        a lv2:OutputPort ;
        a atom:AtomPort ;
        lv2:index 55 ;
        lv2:symbol "events_out" ;
        lv2:name "Events" ;
        lv2:portProperty lv2:connectionOptional ;
        atom:bufferType atom:Sequence ;
        atom:supports lv2midi:MidiEvent ;
        atom:supports atom:Property ;

    ]
.


