synthberry
Software MIDI synthesizer for the Raspberry Pi.
 All Classes Functions
serialmidi.h
1 #ifndef SERIALMIDI_H
2 #define SERIALMIDI_H
3 
4 #include <string>
5 #include <SerialStream.h>
6 #include "imidisource.h"
7 #include "notes.h"
8 #include "midistatus.h"
9 
21 class SerialMidi : public IMidiSource
22 {
23 public:
24  SerialMidi(std::string serialPath);
25  ~SerialMidi();
26  void run();
27  Notes& getNotes();
28 
29 private:
30  void parseMessage();
31  LibSerial::SerialStream serialStream;
32  uint8_t channel;
33  Notes notes;
34  MidiStatus status;
35  uint8_t data[2]; // MIDI Channel Messages have 2 data bytes at most
36 };
37 
38 #endif // SERIALMIDI_H