1@prefix atom:  <http://lv2plug.in/ns/ext/atom#> .
2@prefix doap:  <http://usefulinc.com/ns/doap#> .
3@prefix foaf:  <http://xmlns.com/foaf/0.1/> .
4@prefix lv2:   <http://lv2plug.in/ns/lv2core#> .
5@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
6@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
7@prefix pg:    <http://lv2plug.in/ns/ext/port-groups#> .
8@prefix units: <http://lv2plug.in/ns/extensions/units#> .
9@prefix urid:  <http://lv2plug.in/ns/ext/urid#> .
10@prefix state: <http://lv2plug.in/ns/ext/state#> .
11@prefix rsz:   <http://lv2plug.in/ns/ext/resize-port#> .
12
13<http://gareus.org/rgareus#me>
14	a foaf:Person ;
15	foaf:name "Robin Gareus" ;
16	foaf:mbox <mailto:robin@gareus.org> ;
17	foaf:homepage <http://gareus.org/> .
18
19<http://gareus.org/oss/lv2/balance>
20	a lv2:Plugin, lv2:SpatialPlugin , doap:Project;
21	doap:license <http://usefulinc.com/doap/licenses/gpl> ;
22	doap:maintainer <http://gareus.org/rgareus#me> ;
23	doap:name "Stereo Balance Control";
24	@VERSION@
25	lv2:optionalFeature lv2:hardRTCapable ;
26	lv2:requiredFeature urid:map ;
27	lv2:extensionData state:interface ;
28	rdfs:comment """balance.lv2 facilitates adjusting stereo-microphone recordings (X-Y, A-B, ORTF). But it also generally useful as 'Input Channel Conditioner'.
29	It allows for attenuating the signal on one of the channels as well as delaying the signals (move away from the microphone). To round off the feature-set channels can be swapped or the signal can be downmixed to mono after the delay.
30	It features a Phase-Correlation meter as well as peak programme meters according to IEC 60268-18 (5ms integration, 20dB/1.5 sec fall-off) for input and output signals.
31	The meters can be configure on the right side of the GUI, tilt it using the 'a' key.""" ;
32	lv2:port [
33		a lv2:InputPort ,
34			lv2:ControlPort ;
35		lv2:index 0 ;
36		lv2:symbol "trim" ;
37		lv2:name "Trim/Gain [dB]";
38		lv2:default 0.0 ;
39		lv2:minimum -20.0 ;
40		lv2:maximum 20.0 ;
41		units:unit units:db;
42	] , [
43		a lv2:InputPort ,
44			lv2:ControlPort ;
45		lv2:index 1 ;
46		lv2:symbol "phaseL" ;
47		lv2:name "Phase Invert Left";
48		lv2:default 0 ;
49		lv2:minimum 0 ;
50		lv2:maximum 1 ;
51		lv2:portProperty lv2:toggled;
52	] , [
53		a lv2:InputPort ,
54			lv2:ControlPort ;
55		lv2:index 2 ;
56		lv2:symbol "phaseR" ;
57		lv2:name "Phase Invert Right";
58		lv2:default 0 ;
59		lv2:minimum 0 ;
60		lv2:maximum 1 ;
61		lv2:portProperty lv2:toggled;
62	] , [
63		a lv2:InputPort ,
64			lv2:ControlPort ;
65		lv2:index 3 ;
66		lv2:symbol "balance" ;
67		lv2:name "Balance L/R";
68		lv2:default 0.0 ;
69		lv2:minimum -1.0 ;
70		lv2:maximum 1.0 ;
71	] , [
72		a lv2:InputPort ,
73			lv2:ControlPort ;
74		lv2:index 4 ;
75		lv2:symbol "unitygain" ;
76		lv2:name "Gain Mode" ;
77		lv2:default 0 ;
78		lv2:minimum 0 ;
79		lv2:maximum 2;
80		lv2:portProperty lv2:enumeration, lv2:integer;
81		lv2:scalePoint [
82			rdfs:label "Balance" ;
83			rdf:value 0
84		] , [
85			rdfs:label "Unity Gain - Equal Amplitude" ;
86			rdf:value 1
87		] , [
88			rdfs:label "Seesaw - Equal Power" ;
89			rdf:value 2
90		];
91		rdfs:comment """The mode defines the behaviour of the balance control.
92		classic 'Balance' mode: Attenuate one channels at a time; no positive gain.
93		'Unity Gain - Equal Amplitude' mode: the behaviour of the attenuated channel is identical to 'Balance' mode. The gain of the previously untouched channel is raised so that the mono sum of both retains equal amplitude.
94		'Seesaw - Equal Power' mode: -6dB .. +6dB range, equal power distribution"""
95	] , [
96		a lv2:InputPort ,
97			lv2:ControlPort ;
98		lv2:index 5 ;
99		lv2:symbol "delayLeft" ;
100		lv2:name "Delay Left [samples]";
101		lv2:default 0 ;
102		lv2:minimum 0 ;
103		lv2:maximum 2000 ;
104		lv2:portProperty lv2:integer;
105	] , [
106		a lv2:InputPort ,
107			lv2:ControlPort ;
108		lv2:index 6 ;
109		lv2:symbol "delayRight" ;
110		lv2:name "Delay Right [samples]";
111		lv2:default 0 ;
112		lv2:minimum 0 ;
113		lv2:maximum 2000 ;
114		lv2:portProperty lv2:integer;
115	] , [
116		a lv2:InputPort ,
117			lv2:ControlPort ;
118		lv2:index 7 ;
119		lv2:symbol "monoswap" ;
120		lv2:name "Channel Assignment" ;
121		lv2:default 0 ;
122		lv2:minimum 0 ;
123		lv2:maximum 4;
124		lv2:portProperty lv2:enumeration, lv2:integer;
125		lv2:scalePoint [
126			rdfs:label "L->L, R->R (Straight)" ;
127			rdf:value 0
128		] , [
129			rdfs:label "L->L, L->R (Left Channel Mono)" ;
130			rdf:value 1
131		] , [
132			rdfs:label "R->R, R->L (Right Channel Mono)" ;
133			rdf:value 2
134		] , [
135			rdfs:label "L->R, R->L (Swap Channels)" ;
136			rdf:value 3
137		] , [
138			rdfs:label "Downmix to Mono" ;
139			rdf:value 4
140		]
141	] , [
142		a lv2:AudioPort ,
143			lv2:InputPort ;
144		lv2:index 8 ;
145		lv2:symbol "in_left" ;
146		lv2:name "In Left" ;
147		lv2:designation pg:left ;
148	] , [
149		a lv2:AudioPort ,
150			lv2:InputPort ;
151		lv2:index 9 ;
152		lv2:symbol "in_right" ;
153		lv2:name "In Right" ;
154		lv2:designation pg:right ;
155	] , [
156		a lv2:AudioPort ,
157			lv2:OutputPort ;
158		lv2:index 10 ;
159		lv2:symbol "out_left" ;
160		lv2:name "Out Left" ;
161		lv2:designation pg:left ;
162	] , [
163		a lv2:AudioPort ,
164			lv2:OutputPort ;
165		lv2:index 11 ;
166		lv2:symbol "out_right" ;
167		lv2:name "Out Right" ;
168		lv2:designation pg:right ;
169	] , [
170		a atom:AtomPort ,
171			lv2:InputPort ;
172		atom:bufferType atom:Sequence ;
173		lv2:designation lv2:control ;
174		lv2:index 12 ;
175		lv2:symbol "control" ;
176		lv2:name "UI to plugin communication"
177	] , [
178		a atom:AtomPort ,
179			lv2:OutputPort ;
180		atom:bufferType atom:Sequence ;
181		lv2:designation lv2:control ;
182		lv2:index 13 ;
183		lv2:symbol "notify" ;
184		lv2:name "plugin to UI communication" ;
185		rsz:minimumSize 1024;
186	] .
187