/** * Ein NoteOn-Kommando senden * channel gibt dabei im Bereich von 0-15 den Midi-Kanal an * note kann von 0-127 eine Note zwischen C -1 und G 9 angeben * velocity gibt die Anschlagsstärke im Bereich von 1-127 an (0 = NoteOff) */ void midi_noteon(uint8_t channel, uint8_t note, uint8_t velocity) { // Midi-Kanal senden midi_send((channel & 0x0F) | 0x90); // Noten-Wert senden midi_send(note & 0x7F); // Anschlagstärke senden midi_send(velocity & 0x7F); }
/** * Ein NoteOff-Kommando senden */ void midi_noteoff(uint8_t channel, uint8_t note) { // Midi-Kanal senden midi_send((channel & 0x0F) | 0x90); // Noten-Wert senden midi_send(note & 0x7F); // Anschlagstärke 0 (NoteOff) senden midi_send(0); }
void midi_receive( MidiPacket packet[], uint8_t num ) { // process incoming MIDI packets // for now, just mirror all data midi_send( packet, num ); }