Ryo Od
/
MIDI_Display_Message
Test program for MIDI Library (Nucleo F446RE)
main.cpp@1:2380cb43b3ae, 2018-05-04 (annotated)
- Committer:
- ryood
- Date:
- Fri May 04 22:10:20 2018 +0000
- Revision:
- 1:2380cb43b3ae
- Parent:
- 0:418e035ba7e9
first MIDI OUT
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ryood | 0:418e035ba7e9 | 1 | #include "mbed.h" |
ryood | 0:418e035ba7e9 | 2 | #include "MIDI.h" |
ryood | 0:418e035ba7e9 | 3 | |
ryood | 0:418e035ba7e9 | 4 | #define TITLE_STR1 ("MIDI Message") |
ryood | 0:418e035ba7e9 | 5 | #define TITLE_STR2 ("20180502") |
ryood | 0:418e035ba7e9 | 6 | |
ryood | 0:418e035ba7e9 | 7 | MIDI midi(D10, D2); // Serail2 |
ryood | 0:418e035ba7e9 | 8 | Serial pc(D1, D0); // Serial1 |
ryood | 0:418e035ba7e9 | 9 | |
ryood | 0:418e035ba7e9 | 10 | // ----------------------------------------------------------------------------- |
ryood | 0:418e035ba7e9 | 11 | |
ryood | 0:418e035ba7e9 | 12 | void printNoteOnOff(const char* type, byte inChannel, byte inNote, byte inVelocity) |
ryood | 0:418e035ba7e9 | 13 | { |
ryood | 0:418e035ba7e9 | 14 | pc.printf("%s %3d %3d %3d\r\n", type, inChannel, inNote, inVelocity); |
ryood | 0:418e035ba7e9 | 15 | } |
ryood | 0:418e035ba7e9 | 16 | |
ryood | 0:418e035ba7e9 | 17 | void handleNoteOn(byte inChannel, byte inNote, byte inVelocity) |
ryood | 0:418e035ba7e9 | 18 | { |
ryood | 1:2380cb43b3ae | 19 | midi.sendNoteOn(inNote, inVelocity, inChannel); |
ryood | 0:418e035ba7e9 | 20 | printNoteOnOff("On ", inChannel, inNote, inVelocity); |
ryood | 0:418e035ba7e9 | 21 | } |
ryood | 0:418e035ba7e9 | 22 | |
ryood | 0:418e035ba7e9 | 23 | void handleNoteOff(byte inChannel, byte inNote, byte inVelocity) |
ryood | 0:418e035ba7e9 | 24 | { |
ryood | 1:2380cb43b3ae | 25 | midi.sendNoteOff(inNote, inVelocity, inChannel); |
ryood | 0:418e035ba7e9 | 26 | printNoteOnOff("Off", inChannel, inNote, inVelocity); |
ryood | 0:418e035ba7e9 | 27 | } |
ryood | 0:418e035ba7e9 | 28 | |
ryood | 0:418e035ba7e9 | 29 | // ----------------------------------------------------------------------------- |
ryood | 0:418e035ba7e9 | 30 | |
ryood | 0:418e035ba7e9 | 31 | int main() |
ryood | 0:418e035ba7e9 | 32 | { |
ryood | 0:418e035ba7e9 | 33 | midi.setHandleNoteOn(handleNoteOn); |
ryood | 0:418e035ba7e9 | 34 | midi.setHandleNoteOff(handleNoteOff); |
ryood | 0:418e035ba7e9 | 35 | midi.begin(MIDI_CHANNEL_OMNI); |
ryood | 0:418e035ba7e9 | 36 | |
ryood | 0:418e035ba7e9 | 37 | pc.baud(115200); |
ryood | 0:418e035ba7e9 | 38 | |
ryood | 0:418e035ba7e9 | 39 | for (;;) { |
ryood | 0:418e035ba7e9 | 40 | if (midi.read()) { |
ryood | 0:418e035ba7e9 | 41 | byte type = midi.getType(); |
ryood | 0:418e035ba7e9 | 42 | byte channel = midi.getChannel(); |
ryood | 0:418e035ba7e9 | 43 | byte data1 = midi.getData1(); |
ryood | 0:418e035ba7e9 | 44 | byte data2 = midi.getData2(); |
ryood | 0:418e035ba7e9 | 45 | |
ryood | 0:418e035ba7e9 | 46 | pc.printf("%2x %2x %2x %2x\r\n", type, channel, data1, data2); |
ryood | 0:418e035ba7e9 | 47 | } |
ryood | 0:418e035ba7e9 | 48 | } |
ryood | 0:418e035ba7e9 | 49 | } |