# LV2 DrumGizmo Plugin
# Copyright 2011 Bent Bisballe Nyeng <deva@aasimon.org>
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

@prefix doap:   <http://usefulinc.com/ns/doap#> .
@prefix foaf:   <http://xmlns.com/foaf/0.1/> .
@prefix lv2:    <http://lv2plug.in/ns/lv2core#> .
@prefix atom:   <http://lv2plug.in/ns/ext/atom#> .
@prefix ui:     <http://lv2plug.in/ns/extensions/ui#> .
@prefix state:  <http://lv2plug.in/ns/ext/state#> .
@prefix pprops: <http://lv2plug.in/ns/ext/port-props#> .
@prefix lv2:    <http://lv2plug.in/ns/lv2core#> .
@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .

<http://drumgizmo.org/lv2#ui>
    a ui:X11UI ;
    lv2:requiredFeature ui:resize ;
    lv2:extensionData ui:resize ;
    lv2:requiredFeature ui:idleInterface ;
    lv2:extensionData ui:idleInterface ;
    ui:binary <drumgizmo.so> .

<http://drumgizmo.org/lv2>
	a lv2:InstrumentPlugin ;
	doap:name "DrumGizmo" ;
	doap:maintainer [
		foaf:name "DrumGizmo.org" ;
		foaf:homepage <http://www.drumgizmo.org> ;
	] ;
	doap:license <http://usefulinc.com/doap/licenses/gpl> ;
	ui:ui <http://drumgizmo.org/lv2#ui> ;
	doap:license <http://opensource.org/licenses/gpl-3.0> ;
	lv2:optionalFeature <http://lv2plug.in/ns/ext/uri-map> ;
	lv2:optionalFeature <http://lv2plug.in/ns/ext/event> ;
  lv2:extensionData state:interface ;
	lv2:port [
    a lv2:InputPort, lv2:ControlPort ;
    lv2:index 0 ;
    lv2:symbol "lv2_freewheel" ;
    lv2:name "Freewheel" ;
    lv2:default 0.0 ;
    lv2:minimum 0.0 ;
    lv2:maximum 1.0 ;
    lv2:designation <http://lv2plug.in/ns/lv2core#freeWheeling> ;
    lv2:portProperty lv2:toggled ;
    lv2:portProperty pprops:hasStrictBounds;
  ] , [
		a lv2:OutputPort, lv2:ControlPort ;
		lv2:designation <http://lv2plug.in/ns/lv2core#latency>;
		lv2:index 1;
		lv2:symbol "latency";
		lv2:name "Latency";
		lv2:minimum 0;
		lv2:maximum 192000;
		lv2:portProperty lv2:reportsLatency, lv2:integer;
	] , [
		a atom:AtomPort ,
      lv2:InputPort;
    atom:bufferType atom:Sequence ;
    atom:supports <http://lv2plug.in/ns/ext/midi#MidiEvent> ;
    lv2:index 2 ;
		lv2:symbol "control" ;
		lv2:name "Control"
	] , [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 3 ;
		lv2:symbol "out1" ;
		lv2:name "Out1"
	], [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 4 ;
		lv2:symbol "out2" ;
		lv2:name "Out2"
	], [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 5 ;
		lv2:symbol "out3" ;
		lv2:name "Out3"
	], [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 6 ;
		lv2:symbol "out4" ;
		lv2:name "Out4"
	], [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 7 ;
		lv2:symbol "out5" ;
		lv2:name "Out5"
	], [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 8 ;
		lv2:symbol "out6" ;
		lv2:name "Out6"
	], [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 9 ;
		lv2:symbol "out7" ;
		lv2:name "Out7"
	], [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 10 ;
		lv2:symbol "out8" ;
		lv2:name "Out8"
	], [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 11 ;
		lv2:symbol "out9" ;
		lv2:name "Out9"
	], [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 12 ;
		lv2:symbol "out10" ;
		lv2:name "Out10"
	], [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 13 ;
		lv2:symbol "out11" ;
		lv2:name "Out11"
	], [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 14 ;
		lv2:symbol "out12" ;
		lv2:name "Out12"
	], [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 15 ;
		lv2:symbol "out13" ;
		lv2:name "Out13"
	], [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 16 ;
		lv2:symbol "out14" ;
		lv2:name "Out14"
	], [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 17 ;
		lv2:symbol "out15" ;
		lv2:name "Out15"
	], [
		a lv2:AudioPort ,
			lv2:OutputPort ;
		lv2:index 18 ;
		lv2:symbol "out16" ;
		lv2:name "Out16"
	] .