@prefix atom: . @prefix doap: . @prefix foaf: . @prefix lv2: . @prefix midi: . @prefix mod: . @prefix pprop: . @prefix rdf: . @prefix rdfs: . @prefix units: . @prefix urid: . a foaf:Person; foaf:name "Robin Gareus"; foaf:mbox ; foaf:homepage . a lv2:Plugin, doap:Project, lv2:UtilityPlugin; doap:license ; doap:maintainer ; doap:name "MIDI Event Generator"; @VERSION@ lv2:optionalFeature lv2:hardRTCapable; lv2:requiredFeature urid:map; rdfs:comment "A MIDI debug utility to generate arbitrary messages."; @MODBRAND@ @MODLABEL@ @SIGNATURE@ lv2:port [ a atom:AtomPort, lv2:OutputPort; atom:bufferType atom:Sequence; atom:supports midi:MidiEvent; lv2:index 0; lv2:symbol "midiout"; lv2:name "MIDI Out"; ] , [ a lv2:InputPort, lv2:ControlPort; lv2:index 1; lv2:symbol "bytes"; lv2:name "Bytes to Send"; lv2:minimum 0; lv2:default 0; lv2:maximum 3; lv2:portProperty lv2:integer, lv2:enumeration; lv2:scalePoint [ rdf:value 0 ; rdfs:label "Automatic"; ] ; lv2:scalePoint [ rdf:value 1 ; rdfs:label "1 byte"; ] ; lv2:scalePoint [ rdf:value 2 ; rdfs:label "2 bytes"; ] ; lv2:scalePoint [ rdf:value 3 ; rdfs:label "3 bytes"; ] ; ] , [ a lv2:InputPort, lv2:ControlPort; lv2:index 2; lv2:symbol "b1"; lv2:name "Byte 1"; lv2:minimum 128; lv2:default 176; lv2:maximum 255; lv2:portProperty lv2:integer, lv2:enumeration; lv2:scalePoint [ rdf:value 128 ; rdfs:label "(0x80) Note Off C01"; ] ; lv2:scalePoint [ rdf:value 129 ; rdfs:label "(0x81) Note Off C02"; ] ; lv2:scalePoint [ rdf:value 130 ; rdfs:label "(0x82) Note Off C03"; ] ; lv2:scalePoint [ rdf:value 131 ; rdfs:label "(0x83) Note Off C04"; ] ; lv2:scalePoint [ rdf:value 132 ; rdfs:label "(0x84) Note Off C04"; ] ; lv2:scalePoint [ rdf:value 133 ; rdfs:label "(0x85) Note Off C06"; ] ; lv2:scalePoint [ rdf:value 134 ; rdfs:label "(0x86) Note Off C07"; ] ; lv2:scalePoint [ rdf:value 135 ; rdfs:label "(0x87) Note Off C08"; ] ; lv2:scalePoint [ rdf:value 136 ; rdfs:label "(0x88) Note Off C09"; ] ; lv2:scalePoint [ rdf:value 137 ; rdfs:label "(0x89) Note Off C10"; ] ; lv2:scalePoint [ rdf:value 138 ; rdfs:label "(0x8A) Note Off C11"; ] ; lv2:scalePoint [ rdf:value 139 ; rdfs:label "(0x8B) Note Off C12"; ] ; lv2:scalePoint [ rdf:value 140 ; rdfs:label "(0x8C) Note Off C13"; ] ; lv2:scalePoint [ rdf:value 141 ; rdfs:label "(0x8D) Note Off C14"; ] ; lv2:scalePoint [ rdf:value 142 ; rdfs:label "(0x8E) Note Off C15"; ] ; lv2:scalePoint [ rdf:value 143 ; rdfs:label "(0x8F) Note Off C16"; ] ; lv2:scalePoint [ rdf:value 144 ; rdfs:label "(0x90) Note On C01"; ] ; lv2:scalePoint [ rdf:value 145 ; rdfs:label "(0x91) Note On C02"; ] ; lv2:scalePoint [ rdf:value 146 ; rdfs:label "(0x92) Note On C03"; ] ; lv2:scalePoint [ rdf:value 147 ; rdfs:label "(0x93) Note On C04"; ] ; lv2:scalePoint [ rdf:value 148 ; rdfs:label "(0x94) Note On C04"; ] ; lv2:scalePoint [ rdf:value 149 ; rdfs:label "(0x95) Note On C06"; ] ; lv2:scalePoint [ rdf:value 150 ; rdfs:label "(0x96) Note On C07"; ] ; lv2:scalePoint [ rdf:value 151 ; rdfs:label "(0x97) Note On C08"; ] ; lv2:scalePoint [ rdf:value 152 ; rdfs:label "(0x98) Note On C09"; ] ; lv2:scalePoint [ rdf:value 153 ; rdfs:label "(0x99) Note On C10"; ] ; lv2:scalePoint [ rdf:value 154 ; rdfs:label "(0x9A) Note On C11"; ] ; lv2:scalePoint [ rdf:value 155 ; rdfs:label "(0x9B) Note On C12"; ] ; lv2:scalePoint [ rdf:value 156 ; rdfs:label "(0x9C) Note On C13"; ] ; lv2:scalePoint [ rdf:value 157 ; rdfs:label "(0x9D) Note On C14"; ] ; lv2:scalePoint [ rdf:value 158 ; rdfs:label "(0x9E) Note On C15"; ] ; lv2:scalePoint [ rdf:value 159 ; rdfs:label "(0x9F) Note On C16"; ] ; lv2:scalePoint [ rdf:value 160 ; rdfs:label "(0xA0) Poly. Aftertouch C01"; ] ; lv2:scalePoint [ rdf:value 161 ; rdfs:label "(0xA1) Poly. Aftertouch C02"; ] ; lv2:scalePoint [ rdf:value 162 ; rdfs:label "(0xA2) Poly. Aftertouch C03"; ] ; lv2:scalePoint [ rdf:value 163 ; rdfs:label "(0xA3) Poly. Aftertouch C04"; ] ; lv2:scalePoint [ rdf:value 164 ; rdfs:label "(0xA4) Poly. Aftertouch C04"; ] ; lv2:scalePoint [ rdf:value 165 ; rdfs:label "(0xA5) Poly. Aftertouch C06"; ] ; lv2:scalePoint [ rdf:value 166 ; rdfs:label "(0xA6) Poly. Aftertouch C07"; ] ; lv2:scalePoint [ rdf:value 167 ; rdfs:label "(0xA7) Poly. Aftertouch C08"; ] ; lv2:scalePoint [ rdf:value 168 ; rdfs:label "(0xA8) Poly. Aftertouch C09"; ] ; lv2:scalePoint [ rdf:value 169 ; rdfs:label "(0xA9) Poly. Aftertouch C10"; ] ; lv2:scalePoint [ rdf:value 170 ; rdfs:label "(0xAA) Poly. Aftertouch C11"; ] ; lv2:scalePoint [ rdf:value 171 ; rdfs:label "(0xAB) Poly. Aftertouch C12"; ] ; lv2:scalePoint [ rdf:value 172 ; rdfs:label "(0xAC) Poly. Aftertouch C13"; ] ; lv2:scalePoint [ rdf:value 173 ; rdfs:label "(0xAD) Poly. Aftertouch C14"; ] ; lv2:scalePoint [ rdf:value 174 ; rdfs:label "(0xAE) Poly. Aftertouch C15"; ] ; lv2:scalePoint [ rdf:value 175 ; rdfs:label "(0xAF) Poly. Aftertouch C16"; ] ; lv2:scalePoint [ rdf:value 176 ; rdfs:label "(0xB0) Control Change C01"; ] ; lv2:scalePoint [ rdf:value 177 ; rdfs:label "(0xB1) Control Change C02"; ] ; lv2:scalePoint [ rdf:value 178 ; rdfs:label "(0xB2) Control Change C03"; ] ; lv2:scalePoint [ rdf:value 179 ; rdfs:label "(0xB3) Control Change C04"; ] ; lv2:scalePoint [ rdf:value 180 ; rdfs:label "(0xB4) Control Change C04"; ] ; lv2:scalePoint [ rdf:value 181 ; rdfs:label "(0xB5) Control Change C06"; ] ; lv2:scalePoint [ rdf:value 182 ; rdfs:label "(0xB6) Control Change C07"; ] ; lv2:scalePoint [ rdf:value 183 ; rdfs:label "(0xB7) Control Change C08"; ] ; lv2:scalePoint [ rdf:value 184 ; rdfs:label "(0xB8) Control Change C09"; ] ; lv2:scalePoint [ rdf:value 185 ; rdfs:label "(0xB9) Control Change C10"; ] ; lv2:scalePoint [ rdf:value 186 ; rdfs:label "(0xBA) Control Change C11"; ] ; lv2:scalePoint [ rdf:value 187 ; rdfs:label "(0xBB) Control Change C12"; ] ; lv2:scalePoint [ rdf:value 188 ; rdfs:label "(0xBC) Control Change C13"; ] ; lv2:scalePoint [ rdf:value 189 ; rdfs:label "(0xBD) Control Change C14"; ] ; lv2:scalePoint [ rdf:value 190 ; rdfs:label "(0xBE) Control Change C15"; ] ; lv2:scalePoint [ rdf:value 191 ; rdfs:label "(0xBF) Control Change C16"; ] ; lv2:scalePoint [ rdf:value 192 ; rdfs:label "(0xC0) Program Change C01"; ] ; lv2:scalePoint [ rdf:value 193 ; rdfs:label "(0xC1) Program Change C02"; ] ; lv2:scalePoint [ rdf:value 194 ; rdfs:label "(0xC2) Program Change C03"; ] ; lv2:scalePoint [ rdf:value 195 ; rdfs:label "(0xC3) Program Change C04"; ] ; lv2:scalePoint [ rdf:value 196 ; rdfs:label "(0xC4) Program Change C04"; ] ; lv2:scalePoint [ rdf:value 197 ; rdfs:label "(0xC5) Program Change C06"; ] ; lv2:scalePoint [ rdf:value 198 ; rdfs:label "(0xC6) Program Change C07"; ] ; lv2:scalePoint [ rdf:value 199 ; rdfs:label "(0xC7) Program Change C08"; ] ; lv2:scalePoint [ rdf:value 200 ; rdfs:label "(0xC8) Program Change C09"; ] ; lv2:scalePoint [ rdf:value 201 ; rdfs:label "(0xC9) Program Change C10"; ] ; lv2:scalePoint [ rdf:value 202 ; rdfs:label "(0xCA) Program Change C11"; ] ; lv2:scalePoint [ rdf:value 203 ; rdfs:label "(0xCB) Program Change C12"; ] ; lv2:scalePoint [ rdf:value 204 ; rdfs:label "(0xCC) Program Change C13"; ] ; lv2:scalePoint [ rdf:value 205 ; rdfs:label "(0xCD) Program Change C14"; ] ; lv2:scalePoint [ rdf:value 206 ; rdfs:label "(0xCE) Program Change C15"; ] ; lv2:scalePoint [ rdf:value 207 ; rdfs:label "(0xCF) Program Change C16"; ] ; lv2:scalePoint [ rdf:value 208 ; rdfs:label "(0xD0) Chn. Aftertouch C01"; ] ; lv2:scalePoint [ rdf:value 209 ; rdfs:label "(0xD1) Chn. Aftertouch C02"; ] ; lv2:scalePoint [ rdf:value 210 ; rdfs:label "(0xD2) Chn. Aftertouch C03"; ] ; lv2:scalePoint [ rdf:value 211 ; rdfs:label "(0xD3) Chn. Aftertouch C04"; ] ; lv2:scalePoint [ rdf:value 212 ; rdfs:label "(0xD4) Chn. Aftertouch C04"; ] ; lv2:scalePoint [ rdf:value 213 ; rdfs:label "(0xD5) Chn. Aftertouch C06"; ] ; lv2:scalePoint [ rdf:value 214 ; rdfs:label "(0xD6) Chn. Aftertouch C07"; ] ; lv2:scalePoint [ rdf:value 215 ; rdfs:label "(0xD7) Chn. Aftertouch C08"; ] ; lv2:scalePoint [ rdf:value 216 ; rdfs:label "(0xD8) Chn. Aftertouch C09"; ] ; lv2:scalePoint [ rdf:value 217 ; rdfs:label "(0xD9) Chn. Aftertouch C10"; ] ; lv2:scalePoint [ rdf:value 218 ; rdfs:label "(0xDA) Chn. Aftertouch C11"; ] ; lv2:scalePoint [ rdf:value 219 ; rdfs:label "(0xDB) Chn. Aftertouch C12"; ] ; lv2:scalePoint [ rdf:value 220 ; rdfs:label "(0xDC) Chn. Aftertouch C13"; ] ; lv2:scalePoint [ rdf:value 221 ; rdfs:label "(0xDD) Chn. Aftertouch C14"; ] ; lv2:scalePoint [ rdf:value 222 ; rdfs:label "(0xDE) Chn. Aftertouch C15"; ] ; lv2:scalePoint [ rdf:value 223 ; rdfs:label "(0xDF) Chn. Aftertouch C16"; ] ; lv2:scalePoint [ rdf:value 224 ; rdfs:label "(0xE0) PitchBend C01"; ] ; lv2:scalePoint [ rdf:value 225 ; rdfs:label "(0xE1) PitchBend C02"; ] ; lv2:scalePoint [ rdf:value 226 ; rdfs:label "(0xE2) PitchBend C03"; ] ; lv2:scalePoint [ rdf:value 227 ; rdfs:label "(0xE3) PitchBend C04"; ] ; lv2:scalePoint [ rdf:value 228 ; rdfs:label "(0xE4) PitchBend C04"; ] ; lv2:scalePoint [ rdf:value 229 ; rdfs:label "(0xE5) PitchBend C06"; ] ; lv2:scalePoint [ rdf:value 230 ; rdfs:label "(0xE6) PitchBend C07"; ] ; lv2:scalePoint [ rdf:value 231 ; rdfs:label "(0xE7) PitchBend C08"; ] ; lv2:scalePoint [ rdf:value 232 ; rdfs:label "(0xE8) PitchBend C09"; ] ; lv2:scalePoint [ rdf:value 233 ; rdfs:label "(0xE9) PitchBend C10"; ] ; lv2:scalePoint [ rdf:value 234 ; rdfs:label "(0xEA) PitchBend C11"; ] ; lv2:scalePoint [ rdf:value 235 ; rdfs:label "(0xEB) PitchBend C12"; ] ; lv2:scalePoint [ rdf:value 236 ; rdfs:label "(0xEC) PitchBend C13"; ] ; lv2:scalePoint [ rdf:value 237 ; rdfs:label "(0xED) PitchBend C14"; ] ; lv2:scalePoint [ rdf:value 238 ; rdfs:label "(0xEE) PitchBend C15"; ] ; lv2:scalePoint [ rdf:value 239 ; rdfs:label "(0xEF) PitchBend C16"; ] ; lv2:scalePoint [ rdf:value 240 ; rdfs:label "(0xF0) N/A - SysEx"; ] ; lv2:scalePoint [ rdf:value 241 ; rdfs:label "(0xF1) N/A - MTC QFrame"; ] ; lv2:scalePoint [ rdf:value 242 ; rdfs:label "(0xF2) Song Position"; ] ; lv2:scalePoint [ rdf:value 243 ; rdfs:label "(0xF3) Song Select"; ] ; lv2:scalePoint [ rdf:value 244 ; rdfs:label "(0xF4) Undefined - Reserved"; ] ; lv2:scalePoint [ rdf:value 245 ; rdfs:label "(0xF5) Undefined - Reserved"; ] ; lv2:scalePoint [ rdf:value 246 ; rdfs:label "(0xF6) Tune request"; ] ; lv2:scalePoint [ rdf:value 247 ; rdfs:label "(0xF7) End of SysEx [EOX]"; ] ; lv2:scalePoint [ rdf:value 248 ; rdfs:label "(0xF8) Timing clock"; ] ; lv2:scalePoint [ rdf:value 249 ; rdfs:label "(0xF9) Undefined - Reserved"; ] ; lv2:scalePoint [ rdf:value 250 ; rdfs:label "(0xFA) MClk Start"; ] ; lv2:scalePoint [ rdf:value 251 ; rdfs:label "(0xFB) MClk Stop"; ] ; lv2:scalePoint [ rdf:value 252 ; rdfs:label "(0xFC) MClk Continue"; ] ; lv2:scalePoint [ rdf:value 253 ; rdfs:label "(0xFD) Undefined - Reserved"; ] ; lv2:scalePoint [ rdf:value 254 ; rdfs:label "(0xFE) Active Sensing"; ] ; lv2:scalePoint [ rdf:value 255 ; rdfs:label "(0xFF) System Reset"; ] ; ] , [ a lv2:InputPort, lv2:ControlPort; lv2:index 3; lv2:symbol "b2"; lv2:name "Byte 2"; lv2:minimum 0; lv2:default 0; lv2:maximum 127; lv2:portProperty lv2:integer; ] , [ a lv2:InputPort, lv2:ControlPort; lv2:index 4; lv2:symbol "b3"; lv2:name "Byte 3"; lv2:minimum 0; lv2:default 0; lv2:maximum 127; lv2:portProperty lv2:integer; ] , [ a lv2:InputPort, lv2:ControlPort; lv2:index 5; lv2:symbol "trigger"; lv2:name "Send"; lv2:minimum 0; lv2:default 0; lv2:maximum 1; lv2:portProperty lv2:integer, lv2:toggled, pprop:trigger; ] .