@prefix lv2: . @prefix rdfs: . @prefix rdf: . @prefix doap: . @prefix units: . @prefix mod: . @prefix state: . @prefix patch: . @prefix atom: . @prefix pipedal_ui: . @prefix modgui: . @prefix epp: . @prefix pg: . @prefix param: . @prefix urid: . a lv2:Plugin , lv2:UtilityPlugin ; doap:name "OPLabs Band Channel" ; doap:license ; lv2:project ; mod:brand "OPLabs" ; mod:label "Band Channel" ; mod:model "Band Channel" ; # ModGUI for PiPedal modgui:gui [ modgui:resourceDirectory ; modgui:iconTemplate ; modgui:settingsTemplate ; ] ; # State extension for save/restore lv2:extensionData state:interface ; # Required features for state and path mapping lv2:requiredFeature urid:map ; lv2:optionalFeature state:mapPath , state:freePath ; # Port definitions lv2:port ## --- CONTROL INPUT PORTS --- # Volume: -60 to +6 dB, default 0 [ a lv2:InputPort , lv2:ControlPort ; lv2:index 0 ; lv2:symbol "volume" ; lv2:name "Volume" ; lv2:default 0.0 ; lv2:minimum -60.0 ; lv2:maximum 6.0 ; units:unit units:db ; rdfs:comment "Channel volume in dB" ] , # Pan: -1 to +1, default 0 (center) [ a lv2:InputPort , lv2:ControlPort ; lv2:index 1 ; lv2:symbol "pan" ; lv2:name "Pan" ; lv2:default 0.0 ; lv2:minimum -1.0 ; lv2:maximum 1.0 ; rdfs:comment "Stereo pan position (-1 full left, +1 full right)" ] , # Mute: 0/1 toggled [ a lv2:InputPort , lv2:ControlPort ; lv2:index 2 ; lv2:symbol "mute" ; lv2:name "Mute" ; lv2:default 0.0 ; lv2:minimum 0.0 ; lv2:maximum 1.0 ; lv2:portProperty lv2:toggled ; lv2:scalePoint [ rdfs:label "Normal" ; rdf:value 0.0 ] , [ rdfs:label "Muted" ; rdf:value 1.0 ] ; rdfs:comment "Mute channel audio" ] , # Solo: 0/1 toggled [ a lv2:InputPort , lv2:ControlPort ; lv2:index 3 ; lv2:symbol "solo" ; lv2:name "Solo" ; lv2:default 0.0 ; lv2:minimum 0.0 ; lv2:maximum 1.0 ; lv2:portProperty lv2:toggled ; lv2:scalePoint [ rdfs:label "Normal" ; rdf:value 0.0 ] , [ rdfs:label "Solo" ; rdf:value 1.0 ] ; rdfs:comment "Solo this channel (mutes all others)" ] , # Instrument: enumeration [ a lv2:InputPort , lv2:ControlPort ; lv2:index 4 ; lv2:symbol "instrument" ; lv2:name "Instrument" ; lv2:default 0.0 ; lv2:minimum 0.0 ; lv2:maximum 4.0 ; lv2:portProperty lv2:enumeration ; lv2:scalePoint [ rdfs:label "Guitar" ; rdf:value 0.0 ] , [ rdfs:label "Bass" ; rdf:value 1.0 ] , [ rdfs:label "Keys" ; rdf:value 2.0 ] , [ rdfs:label "Vocals" ; rdf:value 3.0 ] , [ rdfs:label "Backing"; rdf:value 4.0 ] ; rdfs:comment "Instrument type for channel strip" ] , ## --- CONTROL OUTPUT PORTS (Meters) --- # Level L: peak meter, -60 to 0 dB [ a lv2:OutputPort , lv2:ControlPort ; lv2:index 5 ; lv2:symbol "levelL" ; lv2:name "Level L" ; lv2:default 0.0 ; lv2:minimum -60.0 ; lv2:maximum 0.0 ; units:unit units:db ; lv2:portProperty epp:notOnGUI ; rdfs:comment "Left channel peak level in dB" ] , # Level R: peak meter, -60 to 0 dB [ a lv2:OutputPort , lv2:ControlPort ; lv2:index 6 ; lv2:symbol "levelR" ; lv2:name "Level R" ; lv2:default 0.0 ; lv2:minimum -60.0 ; lv2:maximum 0.0 ; units:unit units:db ; lv2:portProperty epp:notOnGUI ; rdfs:comment "Right channel peak level in dB" ] , ## --- AUDIO PORTS --- # Left audio input [ a lv2:AudioPort , lv2:InputPort ; lv2:index 7 ; lv2:symbol "inL" ; lv2:name "In L" ] , # Right audio input [ a lv2:AudioPort , lv2:InputPort ; lv2:index 8 ; lv2:symbol "inR" ; lv2:name "In R" ] , # Left audio output [ a lv2:AudioPort , lv2:OutputPort ; lv2:index 9 ; lv2:symbol "outL" ; lv2:name "Out L" ] , # Right audio output [ a lv2:AudioPort , lv2:OutputPort ; lv2:index 10 ; lv2:symbol "outR" ; lv2:name "Out R" ] .