@prefix : <http://calf.sourceforge.net/plugins/RingModulator#> .
@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/> .


:in a pg:StereoGroup , pg:InputGroup ;
    lv2:symbol "in" ;
    rdfs:label "Input" .

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

<http://calf.sourceforge.net/plugins/RingModulator> a lv2:Plugin, lv2:ModulatorPlugin ;
    doap:name "Calf Ring Modulator" ;
    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:34068> ;
    lv2:optionalFeature epp:supportsStrictBounds ;
    lv2:optionalFeature lv2:hardRTCapable ;
    pg:mainInput :in ;
    pg:mainOutput :out ;
    lv2:port [
        a lv2:InputPort ;
        a lv2:AudioPort ;
        lv2:index 0 ;
        lv2:symbol "in_l" ;
        lv2:name "In L" ;
        lv2:designation pg:left ;
        pg:group :in ;
    ] , [
        a lv2:InputPort ;
        a lv2:AudioPort ;
        lv2:index 1 ;
        lv2:symbol "in_r" ;
        lv2:name "In R" ;
        lv2:portProperty lv2:connectionOptional ;
        lv2:designation pg:right ;
        pg:group :in ;
    ] , [
        a lv2:OutputPort ;
        a lv2:AudioPort ;
        lv2:index 2 ;
        lv2:symbol "out_l" ;
        lv2:name "Out L" ;
        lv2:designation pg:left ;
        pg:group :out ;
    ] , [
        a lv2:OutputPort ;
        a lv2:AudioPort ;
        lv2:index 3 ;
        lv2:symbol "out_r" ;
        lv2:name "Out R" ;
        lv2:designation pg:right ;
        pg:group :out ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 4 ;
        lv2:symbol "bypass" ;
        lv2:name "Bypass" ;
        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 5 ;
        lv2:symbol "level_in" ;
        lv2:name "Input Gain" ;
        lv2:default 1 ;
        lv2:minimum 0.0156250 ;
        lv2:maximum 64 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 6 ;
        lv2:symbol "level_out" ;
        lv2:name "Output Gain" ;
        lv2:default 1 ;
        lv2:minimum 0.0156250 ;
        lv2:maximum 64 ;
    ] , [
        a lv2:OutputPort ;
        a lv2:ControlPort ;
        lv2:index 7 ;
        lv2:symbol "meter_inL" ;
        lv2:name "Meter-InL" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:connectionOptional ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:OutputPort ;
        a lv2:ControlPort ;
        lv2:index 8 ;
        lv2:symbol "meter_inR" ;
        lv2:name "Meter-InR" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:connectionOptional ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:OutputPort ;
        a lv2:ControlPort ;
        lv2:index 9 ;
        lv2:symbol "meter_outL" ;
        lv2:name "Meter-OutL" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:connectionOptional ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:OutputPort ;
        a lv2:ControlPort ;
        lv2:index 10 ;
        lv2:symbol "meter_outR" ;
        lv2:name "Meter-OutR" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:connectionOptional ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:OutputPort ;
        a lv2:ControlPort ;
        lv2:index 11 ;
        lv2:symbol "clip_inL" ;
        lv2:name "0dB-InL" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:connectionOptional ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:OutputPort ;
        a lv2:ControlPort ;
        lv2:index 12 ;
        lv2:symbol "clip_inR" ;
        lv2:name "0dB-InR" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:connectionOptional ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:OutputPort ;
        a lv2:ControlPort ;
        lv2:index 13 ;
        lv2:symbol "clip_outL" ;
        lv2:name "0dB-OutL" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:connectionOptional ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:OutputPort ;
        a lv2:ControlPort ;
        lv2:index 14 ;
        lv2:symbol "clip_outR" ;
        lv2:name "0dB-OutR" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:connectionOptional ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 15 ;
        lv2:symbol "mod_mode" ;
        lv2:name "Modulator" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:integer ;
        lv2:portProperty lv2:enumeration ;
        lv2:scalePoint [ rdfs:label "Sine"; rdf:value 0 ] ;
        lv2:scalePoint [ rdfs:label "Triangle"; rdf:value 1 ] ;
        lv2:scalePoint [ rdfs:label "Square"; rdf:value 2 ] ;
        lv2:scalePoint [ rdfs:label "Saw up"; rdf:value 3 ] ;
        lv2:scalePoint [ rdfs:label "Saw down"; rdf:value 4 ] ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 4 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 16 ;
        lv2:symbol "mod_freq" ;
        lv2:name "Mod Freq" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 1000 ;
        lv2:minimum 1 ;
        lv2:maximum 20000 ;
        ue:unit ue:hz ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 17 ;
        lv2:symbol "mod_amount" ;
        lv2:name "Mod Amount" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0.500000 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 18 ;
        lv2:symbol "mod_phase" ;
        lv2:name "Mod Phase" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0.500000 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
        ue:unit ue:coef ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 19 ;
        lv2:symbol "mod_detune" ;
        lv2:name "Mod Detune" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0 ;
        lv2:minimum -200 ;
        lv2:maximum 200 ;
        ue:unit ue:cent ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 20 ;
        lv2:symbol "mod_listen" ;
        lv2:name "Listen" ;
        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 21 ;
        lv2:symbol "lfo1_mode" ;
        lv2:name "LFO 1" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:integer ;
        lv2:portProperty lv2:enumeration ;
        lv2:scalePoint [ rdfs:label "Sine"; rdf:value 0 ] ;
        lv2:scalePoint [ rdfs:label "Triangle"; rdf:value 1 ] ;
        lv2:scalePoint [ rdfs:label "Square"; rdf:value 2 ] ;
        lv2:scalePoint [ rdfs:label "Saw up"; rdf:value 3 ] ;
        lv2:scalePoint [ rdfs:label "Saw down"; rdf:value 4 ] ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 4 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 22 ;
        lv2:symbol "lfo1_freq" ;
        lv2:name "LFO 1 Freq" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 0.100000 ;
        lv2:minimum 0.0100000 ;
        lv2:maximum 10 ;
        ue:unit ue:hz ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 23 ;
        lv2:symbol "lfo1_reset" ;
        lv2:name "Reset 1" ;
        lv2:portProperty epp:trigger ;
        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 24 ;
        lv2:symbol "lfo1_mod_freq_lo" ;
        lv2:name "Mod Freq LO" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 100 ;
        lv2:minimum 1 ;
        lv2:maximum 20000 ;
        ue:unit ue:hz ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 25 ;
        lv2:symbol "lfo1_mod_freq_hi" ;
        lv2:name "Mod Freq HI" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 10000 ;
        lv2:minimum 1 ;
        lv2:maximum 20000 ;
        ue:unit ue:hz ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 26 ;
        lv2:symbol "lfo1_mod_freq_active" ;
        lv2:name "Mod Freq Active" ;
        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 27 ;
        lv2:symbol "lfo1_mod_detune_lo" ;
        lv2:name "Mod Detune LO" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default -100 ;
        lv2:minimum -200 ;
        lv2:maximum 200 ;
        ue:unit ue:cent ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 28 ;
        lv2:symbol "lfo1_mod_detune_hi" ;
        lv2:name "Mod Detune HI" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 100 ;
        lv2:minimum -200 ;
        lv2:maximum 200 ;
        ue:unit ue:cent ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 29 ;
        lv2:symbol "lfo1_mod_detune_active" ;
        lv2:name "Mod Detune Active" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:toggled ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:OutputPort ;
        a lv2:ControlPort ;
        lv2:index 30 ;
        lv2:symbol "lfo1_activity" ;
        lv2:name "Activity 1" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:connectionOptional ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 31 ;
        lv2:symbol "lfo2_mode" ;
        lv2:name "LFO 2" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:integer ;
        lv2:portProperty lv2:enumeration ;
        lv2:scalePoint [ rdfs:label "Sine"; rdf:value 0 ] ;
        lv2:scalePoint [ rdfs:label "Triangle"; rdf:value 1 ] ;
        lv2:scalePoint [ rdfs:label "Square"; rdf:value 2 ] ;
        lv2:scalePoint [ rdfs:label "Saw up"; rdf:value 3 ] ;
        lv2:scalePoint [ rdfs:label "Saw down"; rdf:value 4 ] ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 4 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 32 ;
        lv2:symbol "lfo2_freq" ;
        lv2:name "LFO 2 Freq" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 0.200000 ;
        lv2:minimum 0.0100000 ;
        lv2:maximum 10 ;
        ue:unit ue:hz ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 33 ;
        lv2:symbol "lfo2_reset" ;
        lv2:name "Reset 2" ;
        lv2:portProperty epp:trigger ;
        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 34 ;
        lv2:symbol "lfo2_lfo1_freq_lo" ;
        lv2:name "LFO Freq LO" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 0.0500000 ;
        lv2:minimum 0.0100000 ;
        lv2:maximum 10 ;
        ue:unit ue:hz ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 35 ;
        lv2:symbol "lfo2_lfo1_freq_hi" ;
        lv2:name "LFO Freq HI" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 0.500000 ;
        lv2:minimum 0.0100000 ;
        lv2:maximum 10 ;
        ue:unit ue:hz ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 36 ;
        lv2:symbol "lfo2_lfo1_freq_active" ;
        lv2:name "LFO 1 Freq Active" ;
        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 37 ;
        lv2:symbol "lfo2_mod_amount_lo" ;
        lv2:name "Mod Amount LO" ;
        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 "lfo2_mod_amount_hi" ;
        lv2:name "Mod Amount HI" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:default 0.600000 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 39 ;
        lv2:symbol "lfo2_mod_amount_active" ;
        lv2:name "Mod Amount Active" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:toggled ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:OutputPort ;
        a lv2:ControlPort ;
        lv2:index 40 ;
        lv2:symbol "lfo2_activity" ;
        lv2:name "Activity 2" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:connectionOptional ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a atom:AtomPort ;
        lv2:index 41 ;
        lv2:symbol "events_in" ;
        lv2:name "Events" ;
        lv2:portProperty lv2:connectionOptional ;
        atom:bufferType atom:Sequence ;
        atom:supports lv2midi:MidiEvent ;
        atom:supports atom:Property ;

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

    ]
.


