@prefix doap:  <http://usefulinc.com/ns/doap#> .
@prefix foaf:  <http://xmlns.com/foaf/0.1/> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix units: <http://lv2plug.in/ns/extensions/units#> .
@prefix pg: <http://lv2plug.in/ns/ext/port-groups#> .
@prefix param: <http://lv2plug.in/ns/ext/parameters#> .
@prefix pset: <http://lv2plug.in/ns/ext/presets#> .
@prefix mod:   <http://moddevices.com/ns/mod#>.

@prefix lv2:   <http://lv2plug.in/ns/lv2core#> .
@prefix ui:   <http://lv2plug.in/ns/extensions/ui#> .

# <https://github.com/Stazed/rakarrack-plus#VaryBand_ui>
# 	a ui:X11UI ;
# 	ui:binary <rakarrack-plus_ui.so> ;
# 	lv2:extensionData ui:idleInterface ;
# 	.

<https://github.com/Stazed/rakarrack-plus#VaryBand:group:lfo1>
    a param:ControlGroup ;
    lv2:index 0 ;
    lv2:name "LFO 1" ;
    lv2:symbol "lfo1" .
<https://github.com/Stazed/rakarrack-plus#VaryBand:group:lfo2>
    a param:ControlGroup ;
    lv2:index 0 ;
    lv2:name "LFO 2" ;
    lv2:symbol "lfo2" .

<https://github.com/Stazed/rakarrack-plus#VaryBand>
        a lv2:Plugin, lv2:ModulatorPlugin ;
        doap:name "RKRP VaryBand" ;
        mod:brand "Rakarrack" ;
        doap:description "Multi-Band Volume Modulator";
        lv2:project <https://github.com/Stazed/rakarrack-plus>;
        lv2:minorVersion 3 ;
        lv2:microVersion 1 ;
        rdfs:comment "Multi-band tremolo effect allowing 2 LFOs to modulate volume of any combination of 4 frequency bands." ;
        lv2:optionalFeature lv2:hardRTCapable ;
#        ui:ui  <https://github.com/Stazed/rakarrack-plus#VaryBand_ui> ;

        lv2:port [
                a lv2:InputPort, lv2:AudioPort ;
                lv2:index 0 ;
                lv2:symbol "INPUT_L" ;
                lv2:name "Audio In L" ;
        ] ;
        lv2:port [
                a lv2:InputPort, lv2:AudioPort ;
                lv2:index 1 ;
                lv2:symbol "INPUT_R" ;
                lv2:name "Audio In R" ;
        ] ;
        lv2:port [
                a lv2:OutputPort, lv2:AudioPort ;
                lv2:index 2 ;
                lv2:symbol "OUTPUT_L" ;
                lv2:name "Audio Out L" ;
        ] ;
        lv2:port [
                a lv2:OutputPort, lv2:AudioPort ;
                lv2:index 3 ;
                lv2:symbol "OUTPUT_R" ;
                lv2:name "Audio Out R" ;
        ] ;
        lv2:port [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 4 ;
                lv2:symbol "BYPASS" ;
                lv2:name "Bypass" ;
                lv2:default 0 ;
                lv2:minimum 0 ;
                lv2:maximum 1 ;
                lv2:portProperty lv2:integer ;
                lv2:portProperty lv2:toggled ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 5 ;
                lv2:symbol "DRYWET" ;
                lv2:name "Dry/Wet" ;
                lv2:default 127 ;
                lv2:minimum 0 ;
                lv2:maximum 127 ;
                lv2:portProperty lv2:integer ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 6 ;
                lv2:symbol "TEMPO1" ;
                lv2:name "Tempo 1" ;
                lv2:default 40 ;
                lv2:minimum 1 ;
                lv2:maximum 600 ;
                lv2:portProperty lv2:integer ;
                units:unit units:bpm ;
                pg:group <https://github.com/Stazed/rakarrack-plus#VaryBand:group:lfo1> ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 7 ;
                lv2:symbol "TYPE1" ;
                lv2:name "LFO Type 1" ;
                lv2:default 0 ;
                lv2:minimum 0 ;
                lv2:maximum 12 ;
                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 "Ramp Up"; rdf:value 2 ] ;
                lv2:scalePoint [ rdfs:label "Ramp Down"; rdf:value 3 ] ;
                lv2:scalePoint [ rdfs:label "ZigZag"; rdf:value 4 ] ;
                lv2:scalePoint [ rdfs:label "Modulated Square"; rdf:value 5 ] ;
                lv2:scalePoint [ rdfs:label "Modulated Saw"; rdf:value 6 ] ;
                lv2:scalePoint [ rdfs:label "Lorenz Fractal"; rdf:value 7 ] ;
                lv2:scalePoint [ rdfs:label "Lorenz Fractal XY"; rdf:value 8 ] ;
                lv2:scalePoint [ rdfs:label "Random Sample and Hold"; rdf:value 9 ] ;
                lv2:scalePoint [ rdfs:label "Triangle Topped Sine"; rdf:value 10 ] ;
                lv2:scalePoint [ rdfs:label "Triangle Bottomed Sine"; rdf:value 11 ] ;
                lv2:scalePoint [ rdfs:label "Static"; rdf:value 12 ] ;
                pg:group <https://github.com/Stazed/rakarrack-plus#VaryBand:group:lfo1> ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 8 ;
                lv2:symbol "STDL1" ;
                lv2:name "LFO L/R Delay 1" ;
                lv2:default 64 ;
                lv2:minimum 0 ;
                lv2:maximum 127 ;
                lv2:portProperty lv2:integer ;
                pg:group <https://github.com/Stazed/rakarrack-plus#VaryBand:group:lfo1> ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 9 ;
                lv2:symbol "TEMPO2" ;
                lv2:name "Tempo 2" ;
                lv2:default 80 ;
                lv2:minimum 1 ;
                lv2:maximum 600 ;
                lv2:portProperty lv2:integer ;
                units:unit units:bpm ;
                pg:group <https://github.com/Stazed/rakarrack-plus#VaryBand:group:lfo2> ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 10 ;
                lv2:symbol "TYPE2" ;
                lv2:name "LFO Type 2" ;
                lv2:default 0 ;
                lv2:minimum 0 ;
                lv2:maximum 12 ;
                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 "Ramp Up"; rdf:value 2 ] ;
                lv2:scalePoint [ rdfs:label "Ramp Down"; rdf:value 3 ] ;
                lv2:scalePoint [ rdfs:label "ZigZag"; rdf:value 4 ] ;
                lv2:scalePoint [ rdfs:label "Modulated Square"; rdf:value 5 ] ;
                lv2:scalePoint [ rdfs:label "Modulated Saw"; rdf:value 6 ] ;
                lv2:scalePoint [ rdfs:label "Lorenz Fractal"; rdf:value 7 ] ;
                lv2:scalePoint [ rdfs:label "Lorenz Fractal XY"; rdf:value 8 ] ;
                lv2:scalePoint [ rdfs:label "Random Sample and Hold"; rdf:value 9 ] ;
                lv2:scalePoint [ rdfs:label "Triangle Topped Sine"; rdf:value 10 ] ;
                lv2:scalePoint [ rdfs:label "Triangle Bottomed Sine"; rdf:value 11 ] ;
                lv2:scalePoint [ rdfs:label "Static"; rdf:value 12 ] ;
                pg:group <https://github.com/Stazed/rakarrack-plus#VaryBand:group:lfo2> ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 11 ;
                lv2:symbol "STDL2" ;
                lv2:name "LFO L/R Delay 2" ;
                lv2:default 0 ;
                lv2:minimum 0 ;
                lv2:maximum 127 ;
                lv2:portProperty lv2:integer ;
                pg:group <https://github.com/Stazed/rakarrack-plus#VaryBand:group:lfo2> ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 12 ;
                lv2:symbol "LMCR" ;
                lv2:name "Low/Mid1 Crossover" ;
                lv2:default 500 ;
                lv2:minimum 20 ;
                lv2:maximum 1000 ;
                lv2:portProperty lv2:integer ;
                units:unit units:hz ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 13 ;
                lv2:symbol "MMCR" ;
                lv2:name "Mid1/Mid2 Crossover" ;
                lv2:default 2500 ;
                lv2:minimum 1000 ;
                lv2:maximum 8000 ;
                lv2:portProperty lv2:integer ;
                units:unit units:hz ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 14 ;
                lv2:symbol "MHCR" ;
                lv2:name "Mid2/High Crossover" ;
                lv2:default 5000 ;
                lv2:minimum 2000 ;
                lv2:maximum 26000 ;
                lv2:portProperty lv2:integer ;
                units:unit units:hz ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 15 ;
                lv2:symbol "LB" ;
                lv2:name "Low Band Volume" ;
                lv2:default 0 ;
                lv2:minimum 0 ;
                lv2:maximum 3 ;
                lv2:portProperty lv2:integer ;
                lv2:portProperty lv2:enumeration;
                lv2:scalePoint [ rdfs:label "LF0 1"; rdf:value 0 ] ;
                lv2:scalePoint [ rdfs:label "LF0 2"; rdf:value 1 ] ;
                lv2:scalePoint [ rdfs:label "Constant"; rdf:value 2 ] ;
                lv2:scalePoint [ rdfs:label "Muted"; rdf:value 3 ] ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 16 ;
                lv2:symbol "M1B" ;
                lv2:name "Mid Band 1 Volume" ;
                lv2:default 0 ;
                lv2:minimum 0 ;
                lv2:maximum 3 ;
                lv2:portProperty lv2:integer ;
                lv2:portProperty lv2:enumeration;
                lv2:scalePoint [ rdfs:label "LF0 1"; rdf:value 0 ] ;
                lv2:scalePoint [ rdfs:label "LF0 2"; rdf:value 1 ] ;
                lv2:scalePoint [ rdfs:label "Constant"; rdf:value 2 ] ;
                lv2:scalePoint [ rdfs:label "Muted"; rdf:value 3 ] ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 17 ;
                lv2:symbol "M2B" ;
                lv2:name "Mid Band 2 Volume" ;
                lv2:default 1 ;
                lv2:minimum 0 ;
                lv2:maximum 3 ;
                lv2:portProperty lv2:integer ;
                lv2:portProperty lv2:enumeration;
                lv2:scalePoint [ rdfs:label "LF0 1"; rdf:value 0 ] ;
                lv2:scalePoint [ rdfs:label "LF0 2"; rdf:value 1 ] ;
                lv2:scalePoint [ rdfs:label "Constant"; rdf:value 2 ] ;
                lv2:scalePoint [ rdfs:label "Muted"; rdf:value 3 ] ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 18 ;
                lv2:symbol "HB" ;
                lv2:name "High Band Volume" ;
                lv2:default 1 ;
                lv2:minimum 0 ;
                lv2:maximum 3 ;
                lv2:portProperty lv2:integer ;
                lv2:portProperty lv2:enumeration;
                lv2:scalePoint [ rdfs:label "LF0 1"; rdf:value 0 ] ;
                lv2:scalePoint [ rdfs:label "LF0 2"; rdf:value 1 ] ;
                lv2:scalePoint [ rdfs:label "Constant"; rdf:value 2 ] ;
                lv2:scalePoint [ rdfs:label "Muted"; rdf:value 3 ] ;
        ] ;
	.


<https://github.com/Stazed/rakarrack-plus#VaryBand:preset:vary1>
        a pset:Preset ;
        lv2:appliesTo <https://github.com/Stazed/rakarrack-plus#VaryBand> ;
        rdfs:seeAlso <varyband_presets.ttl> .

<https://github.com/Stazed/rakarrack-plus#VaryBand:preset:vary2>
        a pset:Preset ;
        lv2:appliesTo <https://github.com/Stazed/rakarrack-plus#VaryBand> ;
        rdfs:seeAlso <varyband_presets.ttl> .

<https://github.com/Stazed/rakarrack-plus#VaryBand:preset:vary3>
        a pset:Preset ;
        lv2:appliesTo <https://github.com/Stazed/rakarrack-plus#VaryBand> ;
        rdfs:seeAlso <varyband_presets.ttl> .

<https://github.com/Stazed/rakarrack-plus#VaryBand:preset:vary4>
        a pset:Preset ;
        lv2:appliesTo <https://github.com/Stazed/rakarrack-plus#VaryBand> ;
        rdfs:seeAlso <varyband_presets.ttl> .
