5 Serial pc(USBTX, USBRX);
8 void transmitMessage(MIDIMessage msg) {
10 case MIDIMessage::NoteOnType:
12 midi.write(MIDIMessage::NoteOn(msg.key()));
14 case MIDIMessage::NoteOffType:
16 midi.write(MIDIMessage::NoteOff(msg.key()));
18 case MIDIMessage::ProgramChangeType:
20 midi.write(MIDIMessage::ProgramChange(msg.program()));
22 case MIDIMessage::SysExType:
24 unsigned char tmp[64];
25 for(int i=0;i<msg.length-1;i++) {
28 midi.write(MIDIMessage::SysEx(tmp,msg.length-1));
41 midi.write(MIDIMessage::ProgramChange(1));
45 midi.write(MIDIMessage::NoteOn(21));
47 midi.write(MIDIMessage::NoteOff(21));
51 unsigned char gm_reset[]={0xF0,0x7E,0x7F,0x09,0x01,0xF7};
52 midi.write(MIDIMessage::SysEx(gm_reset,6));
55 // GM Master volume max
56 unsigned char gm_master_vol_max[]={0xF0,0x7F,0x7F,0x04,0x01,0x7F,0x7F,0xF7};
57 midi.write(MIDIMessage::SysEx(gm_master_vol_max,8));
61 unsigned char gs_reset[]={0xF0,0x41,0x10,0x42,0x12,0x40,0x00,0x7F,0x00,0x41,0xF7};
62 midi.write(MIDIMessage::SysEx(gs_reset,11));
65 // GS Master volume max
66 unsigned char gs_master_vol_max[]={0xF0,0x41,0x10,0x42,0x12,0x40,0x00,0x04,0x7F,0x3D,0xF7};
67 midi.write(MIDIMessage::SysEx(gs_master_vol_max,11));
70 midi.attach(transmitMessage);