@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 lv2:   <http://lv2plug.in/ns/lv2core#> .
@prefix ui:   <http://lv2plug.in/ns/extensions/ui#> .

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

<https://github.com/Stazed/rakarrack-plus#Vocoder>
        a lv2:Plugin, lv2:ModulatorPlugin ;
        doap:name "RKRP Vocoder" ;
        doap:description "32 Band Vocoder";
        lv2:project <https://github.com/Stazed/rakarrack-plus>;
        lv2:minorVersion 3 ;
        lv2:microVersion 1 ;
        rdfs:comment "32 band vocoder. This type of effect is well known for creating robot-like voices in popular music. The input is divided into frequency bands and each band's volume is controlled by an auxiliary input's frequency curve such that the output signal is filtered to sound like the aux signal." ;
        lv2:optionalFeature lv2:hardRTCapable ;
#        ui:ui  <https://github.com/Stazed/rakarrack-plus#Vocoder_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 "PAN" ;
                lv2:name "Pan" ;
                lv2:default 0 ;
                lv2:minimum -64 ;
                lv2:maximum 64 ;
                lv2:portProperty lv2:integer ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 7 ;
                lv2:symbol "MUF" ;
                lv2:name "Smear" ;
                lv2:default 10 ;
                lv2:minimum 1 ;
                lv2:maximum 127 ;
                lv2:portProperty lv2:integer ;
                units:unit units:bpm ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 8 ;
                lv2:symbol "Q" ;
                lv2:name "Q" ;
                lv2:default 70 ;
                lv2:minimum 40 ;
                lv2:maximum 170 ;
                lv2:portProperty lv2:integer ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 9 ;
                lv2:symbol "INGAIN" ;
                lv2:name "Input Gain" ;
                lv2:default 70 ;
                lv2:minimum 0 ;
                lv2:maximum 127 ;
                lv2:portProperty lv2:integer ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 10 ;
                lv2:symbol "LEVEL" ;
                lv2:name "Level" ;
                lv2:default 40 ;
                lv2:minimum 0 ;
                lv2:maximum 127 ;
                lv2:portProperty lv2:integer ;
        ], [
                a lv2:InputPort, lv2:ControlPort ;
                lv2:index 11 ;
                lv2:symbol "RING" ;
                lv2:name "Ring Mod. Depth" ;
                lv2:default 0 ;
                lv2:minimum 0 ;
                lv2:maximum 127 ;
                lv2:portProperty lv2:integer ;
        ], [
                a lv2:InputPort, lv2:AudioPort ;
                lv2:index 12 ;
                lv2:symbol "AUX_INPUT" ;
                lv2:name "Auxiliary Input" ;
        ], [
                a lv2:OutputPort, lv2:ControlPort ;
                lv2:index 13 ;
                lv2:symbol "INPUT" ;
                lv2:name "Auxiliary Input Level" ;
                lv2:default -48 ;
                lv2:minimum -48 ;
                lv2:maximum 15 ;
                lv2:portProperty lv2:integer ;
                units:unit units:db ;
        ] ;
	.


<https://github.com/Stazed/rakarrack-plus#Vocoder:preset:vocoder_1>
        a pset:Preset ;
        lv2:appliesTo <https://github.com/Stazed/rakarrack-plus#Vocoder> ;
        rdfs:seeAlso <vocoder_presets.ttl> .

<https://github.com/Stazed/rakarrack-plus#Vocoder:preset:vocoder_2>
        a pset:Preset ;
        lv2:appliesTo <https://github.com/Stazed/rakarrack-plus#Vocoder> ;
        rdfs:seeAlso <vocoder_presets.ttl> .

<https://github.com/Stazed/rakarrack-plus#Vocoder:preset:vocoder_3>
        a pset:Preset ;
        lv2:appliesTo <https://github.com/Stazed/rakarrack-plus#Vocoder> ;
        rdfs:seeAlso <vocoder_presets.ttl> .

<https://github.com/Stazed/rakarrack-plus#Vocoder:preset:vocoder_4>
        a pset:Preset ;
        lv2:appliesTo <https://github.com/Stazed/rakarrack-plus#Vocoder> ;
        rdfs:seeAlso <vocoder_presets.ttl> .

<https://github.com/Stazed/rakarrack-plus#Vocoder:preset:vocoder_5>
        a pset:Preset ;
        lv2:appliesTo <https://github.com/Stazed/rakarrack-plus#Vocoder> ;
        rdfs:seeAlso <vocoder_presets.ttl> .
