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

<http://calf.sourceforge.net/plugins/gui/gtk2-gui>
    a uiext:GtkUI ;
    lv2:extensionData uiext:idleInterface ,
        uiext:showInterface ;
    lv2:requiredFeature uiext:makeResident ;
    lv2:optionalFeature <http://lv2plug.in/ns/ext/instance-access> ;
    lv2:optionalFeature <http://lv2plug.in/ns/ext/data-access> ;
    lv2:optionalFeature <http://lv2plug.in/ns/ext/options> ;
    lv2:optionalFeature <http://lv2plug.in/ns/ext/atom> ;
    uiext:binary <calflv2gui.so> .


<http://calf.sourceforge.net/plugins/gui/gtk2-gui-req>
    a uiext:GtkUI ;
    lv2:extensionData uiext:idleInterface ,
        uiext:showInterface ;
    lv2:requiredFeature uiext:makeResident ;
    lv2:requiredFeature <http://lv2plug.in/ns/ext/instance-access> ;
    lv2:requiredFeature <http://lv2plug.in/ns/ext/data-access> ;
    lv2:optionalFeature <http://lv2plug.in/ns/ext/options> ;
    lv2:optionalFeature <http://lv2plug.in/ns/ext/atom> ;
    uiext:binary <calflv2gui.so> .
project:project
    a doap:Project ;
    doap:maintainer <http://calf.sourceforge.net/team> ;
    doap:name "Calf Crusher" .

<http://calf.sourceforge.net/plugins/gui/gtk2-gui> uiext:portNotification [
    uiext:plugin <http://calf.sourceforge.net/plugins/Crusher> ;
    uiext:portIndex 3
] .

<http://calf.sourceforge.net/plugins/gui/gtk2-gui> uiext:portNotification [
    uiext:plugin <http://calf.sourceforge.net/plugins/Crusher> ;
    uiext:portIndex 4
] .

<http://calf.sourceforge.net/plugins/gui/gtk2-gui> uiext:portNotification [
    uiext:plugin <http://calf.sourceforge.net/plugins/Crusher> ;
    uiext:portIndex 5
] .

<http://calf.sourceforge.net/plugins/gui/gtk2-gui> uiext:portNotification [
    uiext:plugin <http://calf.sourceforge.net/plugins/Crusher> ;
    uiext:portIndex 6
] .

<http://calf.sourceforge.net/plugins/gui/gtk2-gui> uiext:portNotification [
    uiext:plugin <http://calf.sourceforge.net/plugins/Crusher> ;
    uiext:portIndex 7
] .

<http://calf.sourceforge.net/plugins/gui/gtk2-gui> uiext:portNotification [
    uiext:plugin <http://calf.sourceforge.net/plugins/Crusher> ;
    uiext:portIndex 8
] .

<http://calf.sourceforge.net/plugins/gui/gtk2-gui> uiext:portNotification [
    uiext:plugin <http://calf.sourceforge.net/plugins/Crusher> ;
    uiext:portIndex 9
] .

<http://calf.sourceforge.net/plugins/gui/gtk2-gui> uiext:portNotification [
    uiext:plugin <http://calf.sourceforge.net/plugins/Crusher> ;
    uiext:portIndex 10
] .

: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/Crusher> a lv2:Plugin, lv2:DistortionPlugin ;
    doap:name "Calf Crusher" ;
    lv2:project project:project ;
    uiext:ui <http://calf.sourceforge.net/plugins/gui/gtk2-gui> ;
    doap:license <http://usefulinc.com/doap/licenses/lgpl> ;
    dct:replaces <urn:ladspa:34183> ;
    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:portProperty lv2:connectionOptional ;
        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 "bits" ;
        lv2:name "Bit Reduction" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 4 ;
        lv2:minimum 1 ;
        lv2:maximum 16 ;
        ue:unit ue:coef ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 16 ;
        lv2:symbol "morph" ;
        lv2:name "Morph" ;
        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 17 ;
        lv2:symbol "mode" ;
        lv2:name "Mode" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty lv2:integer ;
        lv2:portProperty lv2:enumeration ;
        lv2:scalePoint [ rdfs:label "Linear"; rdf:value 0 ] ;
        lv2:scalePoint [ rdfs:label "Logarithmic"; rdf:value 1 ] ;
        lv2:default 0 ;
        lv2:minimum 0 ;
        lv2:maximum 1 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 18 ;
        lv2:symbol "dc" ;
        lv2:name "DC" ;
        lv2:default 1 ;
        lv2:minimum 0.250000 ;
        lv2:maximum 4 ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 19 ;
        lv2:symbol "anti_aliasing" ;
        lv2:name "Anti-Aliasing" ;
        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 20 ;
        lv2:symbol "samples" ;
        lv2:name "Sample Reduction" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 1 ;
        lv2:minimum 1 ;
        lv2:maximum 250 ;
        ue:unit ue:coef ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 21 ;
        lv2:symbol "lfo" ;
        lv2:name "LFO 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 22 ;
        lv2:symbol "lforange" ;
        lv2:name "LFO Depth" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 20 ;
        lv2:minimum 1 ;
        lv2:maximum 250 ;
        ue:unit ue:coef ;
    ] , [
        a lv2:InputPort ;
        a lv2:ControlPort ;
        lv2:index 23 ;
        lv2:symbol "lforate" ;
        lv2:name "LFO Rate" ;
        lv2:portProperty epp:hasStrictBounds ;
        lv2:portProperty epp:logarithmic ;
        lv2:default 0.300000 ;
        lv2:minimum 0.0100000 ;
        lv2:maximum 200 ;
        ue:unit ue:hz ;
    ] , [
        a lv2:InputPort ;
        a atom:AtomPort ;
        lv2:index 24 ;
        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 25 ;
        lv2:symbol "events_out" ;
        lv2:name "Events" ;
        lv2:portProperty lv2:connectionOptional ;
        atom:bufferType atom:Sequence ;
        atom:supports lv2midi:MidiEvent ;
        atom:supports atom:Property ;

    ]
.


