@prefix lv2:  <http://lv2plug.in/ns/lv2core#>.
@prefix doap: <http://usefulinc.com/ns/doap#>.
@prefix ui: <http://lv2plug.in/ns/extensions/ui#>.
@prefix units: <http://lv2plug.in/ns/extension/units#>.
@prefix pprops: <http://lv2plug.in/ns/ext/port-props#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.


<http://hippie.lt/lv2/gate/guiQt5>
	a ui:Qt5UI;
	ui:requiredFeature ui:makeResident;
	ui:optionalFeature ui:noUserResize.

<http://hippie.lt/lv2/gate/gui>
	a ui:GtkUI;
	ui:requiredFeature ui:makeResident;
	ui:optionalFeature ui:noUserResize.

<http://hippie.lt/lv2/gate>
	a lv2:Plugin, lv2:GatePlugin;
	lv2:binary <gate.so>;

	doap:name "abGate";
	doap:creator "Antanas Bruzas";

	doap:developer [
		foaf:name "Antanas Bruzas";
		foaf:homepage <http://www.hippie.lt>;
		foaf:mbox <mailto:antanas@hippie.lt>;
    	];
	
	doap:maintainer [
		foaf:name "Antanas Bruzas" ;
		foaf:homepage <http://www.hippie.lt>;
		foaf:mbox <mailto:antanas@hippie.lt>;
	];

  	doap:license <http://usefulinc.com/doap/licenses/lgpl>;

	ui:ui <http://hippie.lt/lv2/gate/guiQt5>;
	ui:ui <http://hippie.lt/lv2/gate/gui>;
  	
	lv2:port [
	    	a lv2:AudioPort, lv2:OutputPort;
	    	lv2:index 0;
	    	lv2:symbol "output";
	    	lv2:name "Output";
	],

	[
	    	a lv2:AudioPort, lv2:InputPort;
	    	lv2:index 1;
	    	lv2:symbol "input";
	    	lv2:name "Input";
	],

	[
		a lv2:ControlPort, lv2:InputPort;
	    	lv2:index 2;
	    	lv2:symbol "switch";
	    	lv2:name "Switch";
	    	lv2:minimum 0;
	    	lv2:maximum 1;
	    	lv2:default 0;
		lv2:portProperty pprops:hasStrictBounds;
		lv2:portProperty lv2:toggled;
	],

	[
		a lv2:ControlPort, lv2:InputPort;
	    	lv2:index 3;
	    	lv2:symbol "threshold";
	    	lv2:name "Threshold";
	    	lv2:minimum -70;
	    	lv2:maximum 12;
	    	lv2:default -70;
		lv2:portProperty pprops:hasStrictBounds;
		units:unit units:db;
		units:conversion [
			units:to units:s;
			units:factor 0.001;
		];

	],

	[
		a lv2:ControlPort, lv2:InputPort;
	    	lv2:index 4;
	    	lv2:symbol "attack";
	    	lv2:name "Attack";
	    	lv2:minimum 0.1;
	    	lv2:maximum 500;
	    	lv2:default 30;
		lv2:portProperty pprops:hasStrictBounds;
		units:unit units:ms;
		units:conversion [
			units:to units:s;
			units:factor 0.001;
		];
	],

	[
	    	a lv2:ControlPort, lv2:InputPort;
	    	lv2:index 5;
	    	lv2:symbol "hold";
	    	lv2:name "Hold";
	    	lv2:minimum 5;
	    	lv2:maximum 3000;
	    	lv2:default 500;
		lv2:portProperty pprops:hasStrictBounds;
		units:unit units:ms;
		units:conversion [
			units:to units:s;
			units:factor 0.001;
		];
	],

	[
	    	a lv2:ControlPort, lv2:InputPort;
	    	lv2:index 6;
	    	lv2:symbol "decay";
	    	lv2:name "Decay";
	    	lv2:minimum 5;
	    	lv2:maximum 4000;
	    	lv2:default 1000;
		lv2:portProperty pprops:hasStrictBounds;
		units:unit units:ms;
		units:conversion [
			units:to units:s;
			units:factor 0.001;
		];
	],

	[
	    	a lv2:ControlPort, lv2:InputPort;
	    	lv2:index 7;
	    	lv2:symbol "gaterange";
	    	lv2:name "Range";
		lv2:portProperty pprops:hasStrictBounds;
	    	lv2:minimum -90;
	    	lv2:maximum -20;
	    	lv2:default -90;
		units:unit units:db;
	].
