Add orx-midi

This commit is contained in:
Edwin Jakobs
2019-04-26 14:36:42 +02:00
parent ee9deb29c4
commit 9aa9049d33
6 changed files with 225 additions and 10 deletions

View File

@@ -0,0 +1,47 @@
package org.openrndr.extra.midi
enum class MidiEventType {
NOTE_ON,
NOTE_OFF,
CONTROL_CHANGED
}
class MidiEvent(val eventType: MidiEventType) {
var origin = Origin.DEVICE
var control: Int = 0
var note: Int = 0
var channel: Int = 0
var value: Int = 0
var velocity: Int = 0
enum class Origin {
DEVICE,
USER
}
companion object {
fun noteOn(channel: Int, note: Int, velocity: Int): MidiEvent {
val midiEvent = MidiEvent(MidiEventType.NOTE_ON)
midiEvent.velocity = velocity
midiEvent.note = note
midiEvent.channel = channel
return midiEvent
}
fun noteOff(channel: Int, note: Int): MidiEvent {
val midiEvent = MidiEvent(MidiEventType.NOTE_OFF)
midiEvent.note = note
midiEvent.channel = channel
return midiEvent
}
fun controlChange(channel:Int, control: Int, value: Int): MidiEvent {
val midiEvent = MidiEvent(MidiEventType.CONTROL_CHANGED)
midiEvent.channel = channel
midiEvent.control = control
midiEvent.value = value
return midiEvent
}
}
}