@prefix doap: 	<http://usefulinc.com/ns/doap#> .
@prefix foaf: 	<http://xmlns.com/foaf/0.1/> .
@prefix lv2: 	<http://lv2plug.in/ns/lv2core#> .
@prefix rdf: 	<http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: 	<http://www.w3.org/2000/01/rdf-schema#> .
@prefix atom:	<http://lv2plug.in/ns/ext/atom#> .

<http://github.com/blablack/midimsg-lv2/controller>
	a lv2:Plugin, lv2:UtilityPlugin ;
	lv2:project <http://github.com/blablack/midimsg-lv2/> ;
	doap:name "Midi Controller" ;
	doap:license <http://opensource.org/licenses/isc> ;
	lv2:optionalFeature lv2:hardRTCapable ;
	lv2:port [
		a lv2:InputPort , atom:AtomPort ;
		atom:bufferType atom:Sequence ;
		atom:supports <http://lv2plug.in/ns/ext/midi#MidiEvent> ,
		<http://lv2plug.in/ns/ext/patch#Message> ;
		lv2:index 0;
		lv2:symbol "input" ;
		lv2:name "Input" ;
	] , [
		a lv2:InputPort, lv2:ControlPort ;
		lv2:index 1 ;
		lv2:symbol "controller_number" ;
		lv2:name "Controller Number" ;
		lv2:portProperty lv2:integer;
		lv2:portProperty lv2:enumeration ;
		lv2:default 0.0 ;
		lv2:minimum 0.0 ;
       	lv2:maximum 127.0 ;
		lv2:scalePoint
		[
rdfs:label "0 - Bank Select (coarse)" ;
  rdf:value 0 ;
 ] , [
rdfs:label "1 - Modulation Wheel (coarse)" ;
  rdf:value 1 ;
 ] , [
rdfs:label "2 - Breath controller (coarse)" ;
  rdf:value 2 ;
 ] , [
rdfs:label "3 - CC 3" ;
  rdf:value 3 ;
 ] , [
rdfs:label "4 - Foot Pedal (coarse)" ;
  rdf:value 4 ;
 ] , [
rdfs:label "5 - Portamento Time (coarse)" ;
  rdf:value 5 ;
 ] , [
rdfs:label "6 - Data Entry (coarse)" ;
  rdf:value 6 ;
 ] , [
rdfs:label "7 - Volume (coarse)" ;
  rdf:value 7 ;
 ] , [
rdfs:label "8 - Balance (coarse)" ;
  rdf:value 8 ;
 ] , [
rdfs:label "9 - CC 9" ;
  rdf:value 9 ;
 ] , [
rdfs:label "10 - Pan position (coarse)" ;
  rdf:value 10 ;
 ] , [
rdfs:label "11 - Expression (coarse)" ;
  rdf:value 11 ;
 ] , [
rdfs:label "12 - Effect Control 1 (coarse)" ;
  rdf:value 12 ;
 ] , [
rdfs:label "13 - Effect Control 2 (coarse)" ;
  rdf:value 13 ;
 ] , [
rdfs:label "14 - CC 14" ;
  rdf:value 14 ;
 ] , [
rdfs:label "15 - CC 15" ;
  rdf:value 15 ;
 ] , [
rdfs:label "16 - General Purpose Slider 1" ;
  rdf:value 16 ;
 ] , [
rdfs:label "17 - General Purpose Slider 2" ;
  rdf:value 17 ;
 ] , [
rdfs:label "18 - General Purpose Slider 3" ;
  rdf:value 18 ;
 ] , [
rdfs:label "19 - General Purpose Slider 4" ;
  rdf:value 19 ;
 ] , [
rdfs:label "20 - CC 20" ;
  rdf:value 20 ;
 ] , [
rdfs:label "21 - CC 21" ;
  rdf:value 21 ;
 ] , [
rdfs:label "22 - CC 22" ;
  rdf:value 22 ;
 ] , [
rdfs:label "23 - CC 23" ;
  rdf:value 23 ;
 ] , [
rdfs:label "24 - CC 24" ;
  rdf:value 24 ;
 ] , [
rdfs:label "25 - CC 25" ;
  rdf:value 25 ;
 ] , [
rdfs:label "26 - CC 26" ;
  rdf:value 26 ;
 ] , [
rdfs:label "27 - CC 27" ;
  rdf:value 27 ;
 ] , [
rdfs:label "28 - CC 28" ;
  rdf:value 28 ;
 ] , [
rdfs:label "29 - CC 29" ;
  rdf:value 29 ;
 ] , [
rdfs:label "30 - CC 30" ;
  rdf:value 30 ;
 ] , [
rdfs:label "31 - CC 31" ;
  rdf:value 31 ;
 ] , [
rdfs:label "32 - Bank Select (fine)" ;
  rdf:value 32 ;
 ] , [
rdfs:label "33 - Modulation Wheel (fine)" ;
  rdf:value 33 ;
 ] , [
rdfs:label "34 - Breath controller (fine)" ;
  rdf:value 34 ;
 ] , [
rdfs:label "35 - CC 35" ;
  rdf:value 35 ;
 ] , [
rdfs:label "36 - Foot Pedal (fine)" ;
  rdf:value 36 ;
 ] , [
rdfs:label "37 - Portamento Time (fine)" ;
  rdf:value 37 ;
 ] , [
rdfs:label "38 - Data Entry (fine)" ;
  rdf:value 38 ;
 ] , [
rdfs:label "39 - Volume (fine)" ;
  rdf:value 39 ;
 ] , [
rdfs:label "40 - Balance (fine)" ;
  rdf:value 40 ;
 ] , [
rdfs:label "41 - CC 41" ;
  rdf:value 41 ;
 ] , [
rdfs:label "42 - Pan position (fine)" ;
  rdf:value 42 ;
 ] , [
rdfs:label "43 - Expression (fine)" ;
  rdf:value 43 ;
 ] , [
rdfs:label "44 - Effect Control 1 (fine)" ;
  rdf:value 44 ;
 ] , [
rdfs:label "45 - Effect Control 2 (fine)" ;
  rdf:value 45 ;
 ] , [
rdfs:label "46 - CC 46" ;
  rdf:value 46 ;
 ] , [
rdfs:label "47 - CC 47" ;
  rdf:value 47 ;
 ] , [
rdfs:label "48 - CC 48" ;
  rdf:value 48 ;
 ] , [
rdfs:label "49 - CC 49" ;
  rdf:value 49 ;
 ] , [
rdfs:label "50 - CC 50" ;
  rdf:value 50 ;
 ] , [
rdfs:label "51 - CC 51" ;
  rdf:value 51 ;
 ] , [
rdfs:label "52 - CC 52" ;
  rdf:value 52 ;
 ] , [
rdfs:label "53 - CC 53" ;
  rdf:value 53 ;
 ] , [
rdfs:label "54 - CC 54" ;
  rdf:value 54 ;
 ] , [
rdfs:label "55 - CC 55" ;
  rdf:value 55 ;
 ] , [
rdfs:label "56 - CC 56" ;
  rdf:value 56 ;
 ] , [
rdfs:label "57 - CC 57" ;
  rdf:value 57 ;
 ] , [
rdfs:label "58 - CC 58" ;
  rdf:value 58 ;
 ] , [
rdfs:label "59 - CC 59" ;
  rdf:value 59 ;
 ] , [
rdfs:label "60 - CC 60" ;
  rdf:value 60 ;
 ] , [
rdfs:label "61 - CC 61" ;
  rdf:value 61 ;
 ] , [
rdfs:label "62 - CC 62" ;
  rdf:value 62 ;
 ] , [
rdfs:label "63 - CC 63" ;
  rdf:value 63 ;
 ] , [
rdfs:label "64 - Hold Pedal (on/off)" ;
  rdf:value 64 ;
 ] , [
rdfs:label "65 - Portamento (on/off)" ;
  rdf:value 65 ;
 ] , [
rdfs:label "66 - Sustenuto Pedal (on/off)" ;
  rdf:value 66 ;
 ] , [
rdfs:label "67 - Soft Pedal (on/off)" ;
  rdf:value 67 ;
 ] , [
rdfs:label "68 - Legato Pedal (on/off)" ;
  rdf:value 68 ;
 ] , [
rdfs:label "69 - Hold 2 Pedal (on/off)" ;
  rdf:value 69 ;
 ] , [
rdfs:label "70 - Sound Variation" ;
  rdf:value 70 ;
 ] , [
rdfs:label "71 - Sound Timbre" ;
  rdf:value 71 ;
 ] , [
rdfs:label "72 - Sound Release Time" ;
  rdf:value 72 ;
 ] , [
rdfs:label "73 - Sound Attack Time" ;
  rdf:value 73 ;
 ] , [
rdfs:label "74 - Sound Brightness" ;
  rdf:value 74 ;
 ] , [
rdfs:label "75 - Sound Control 6" ;
  rdf:value 75 ;
 ] , [
rdfs:label "76 - Sound Control 7" ;
  rdf:value 76 ;
 ] , [
rdfs:label "77 - Sound Control 8" ;
  rdf:value 77 ;
 ] , [
rdfs:label "78 - Sound Control 9" ;
  rdf:value 78 ;
 ] , [
rdfs:label "79 - Sound Control 10" ;
  rdf:value 79 ;
 ] , [
rdfs:label "80 - General Purpose Button 1 (on/off)" ;
  rdf:value 80 ;
 ] , [
rdfs:label "81 - General Purpose Button 2 (on/off)" ;
  rdf:value 81 ;
 ] , [
rdfs:label "82 - General Purpose Button 3 (on/off)" ;
  rdf:value 82 ;
 ] , [
rdfs:label "83 - General Purpose Button 4 (on/off)" ;
  rdf:value 83 ;
 ] , [
rdfs:label "84 - CC 84" ;
  rdf:value 84 ;
 ] , [
rdfs:label "85 - CC 85" ;
  rdf:value 85 ;
 ] , [
rdfs:label "86 - CC 86" ;
  rdf:value 86 ;
 ] , [
rdfs:label "87 - CC 87" ;
  rdf:value 87 ;
 ] , [
rdfs:label "88 - CC 88" ;
  rdf:value 88 ;
 ] , [
rdfs:label "89 - CC 89" ;
  rdf:value 89 ;
 ] , [
rdfs:label "90 - CC 90" ;
  rdf:value 90 ;
 ] , [
rdfs:label "91 - Effects Level" ;
  rdf:value 91 ;
 ] , [
rdfs:label "92 - Tremulo Level" ;
  rdf:value 92 ;
 ] , [
rdfs:label "93 - Chorus Level" ;
  rdf:value 93 ;
 ] , [
rdfs:label "94 - Celeste Level" ;
  rdf:value 94 ;
 ] , [
rdfs:label "95 - Phaser Level" ;
  rdf:value 95 ;
 ] , [
rdfs:label "96 - Data Button increment" ;
  rdf:value 96 ;
 ] , [
rdfs:label "97 - Data Button decrement" ;
  rdf:value 97 ;
 ] , [
rdfs:label "98 - Non-registered Parameter (fine)" ;
  rdf:value 98 ;
 ] , [
rdfs:label "99 - Non-registered Parameter (coarse)" ;
  rdf:value 99 ;
 ] , [
rdfs:label "100 - Registered Parameter (fine)" ;
  rdf:value 100 ;
 ] , [
rdfs:label "101 - Registered Parameter (coarse)" ;
  rdf:value 101 ;
 ] , [
rdfs:label "102 - CC 102" ;
  rdf:value 102 ;
 ] , [
rdfs:label "103 - CC 103" ;
  rdf:value 103 ;
 ] , [
rdfs:label "104 - CC 104" ;
  rdf:value 104 ;
 ] , [
rdfs:label "105 - CC 105" ;
  rdf:value 105 ;
 ] , [
rdfs:label "106 - CC 106" ;
  rdf:value 106 ;
 ] , [
rdfs:label "107 - CC 107" ;
  rdf:value 107 ;
 ] , [
rdfs:label "108 - CC 108" ;
  rdf:value 108 ;
 ] , [
rdfs:label "109 - CC 109" ;
  rdf:value 109 ;
 ] , [
rdfs:label "110 - CC 110" ;
  rdf:value 110 ;
 ] , [
rdfs:label "111 - CC 111" ;
  rdf:value 111 ;
 ] , [
rdfs:label "112 - CC 112" ;
  rdf:value 112 ;
 ] , [
rdfs:label "113 - CC 113" ;
  rdf:value 113 ;
 ] , [
rdfs:label "114 - CC 114" ;
  rdf:value 114 ;
 ] , [
rdfs:label "115 - CC 115" ;
  rdf:value 115 ;
 ] , [
rdfs:label "116 - CC 116" ;
  rdf:value 116 ;
 ] , [
rdfs:label "117 - CC 117" ;
  rdf:value 117 ;
 ] , [
rdfs:label "118 - CC 118" ;
  rdf:value 118 ;
 ] , [
rdfs:label "119 - CC 119" ;
  rdf:value 119 ;
 ] , [
rdfs:label "120 - All Sound Off" ;
  rdf:value 120 ;
 ] , [
rdfs:label "121 - All Controllers Off" ;
  rdf:value 121 ;
 ] , [
rdfs:label "122 - Local Keyboard (on/off)" ;
  rdf:value 122 ;
 ] , [
rdfs:label "123 - All Notes Off" ;
  rdf:value 123 ;
 ] , [
rdfs:label "124 - Omni Mode Off" ;
  rdf:value 124 ;
 ] , [
rdfs:label "125 - Omni Mode On" ;
  rdf:value 125 ;
 ] , [
rdfs:label "126 - Mono Operation" ;
  rdf:value 126 ;
 ] , [
rdfs:label "127 - Poly Operation" ;
  rdf:value 127 ;
 ]

	] , [
		a lv2:InputPort, lv2:ControlPort ;
		lv2:index 2 ;
		lv2:symbol "logarithmic" ;
		lv2:name "Logarithmic" ;
		lv2:portProperty lv2:toggled ;
		lv2:default 0.0 ;
		lv2:minimum 0.0 ;
       	lv2:maximum 1.0 ;
	] , [
		a lv2:InputPort, lv2:ControlPort ;
		lv2:index 3 ;
		lv2:symbol "minimum" ;
		lv2:name "Minimum" ;
		lv2:default 0.0 ;
		lv2:minimum -1.0 ;
       	lv2:maximum 1.0 ;
	] , [
		a lv2:InputPort, lv2:ControlPort ;
		lv2:index 4 ;
		lv2:symbol "maximum" ;
		lv2:name "Maximum" ;
		lv2:default 1.0 ;
		lv2:minimum 0.0 ;
       	lv2:maximum 1.0 ;
	] , [
		a lv2:OutputPort, lv2:CVPort ;
		lv2:index 5 ;
		lv2:symbol "output_cv" ;
		lv2:name "Output - CV" ;
		lv2:default 0.0 ;
		lv2:minimum -1.0 ;
       	lv2:maximum 1.0 ;
	] , [
		a lv2:OutputPort, lv2:ControlPort ;
		lv2:index 6 ;
		lv2:symbol "output_control" ;
		lv2:name "Output - Control" ;
		lv2:default 0.0 ;
		lv2:minimum -1.0 ;
       	lv2:maximum 1.0 ;
	].
