Skip to content

Commit e922ab8

Browse files
authored
Merge pull request #55 from versioduo/midi-packet-interface
Midi: add packet interface
2 parents 92a8d28 + 1bf32c5 commit e922ab8

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

src/Adafruit_USBD_MIDI.cpp

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@
3535

3636
Adafruit_USBD_MIDI::Adafruit_USBD_MIDI(void) : _n_cables(1) {}
3737

38-
Adafruit_USBD_MIDI::Adafruit_USBD_MIDI(uint8_t n_cables)
39-
: _n_cables(n_cables) {}
38+
void Adafruit_USBD_MIDI::setCables(uint8_t n_cables) {
39+
_n_cables = n_cables;
40+
}
4041

4142
bool Adafruit_USBD_MIDI::begin(void) {
4243
if (!USBDevice.addInterface(*this))
@@ -114,4 +115,14 @@ void Adafruit_USBD_MIDI::flush(void) {
114115
// MIDI Library doen't use flush
115116
}
116117

118+
bool Adafruit_USBD_MIDI::send(const uint8_t packet[4])
119+
{
120+
return tud_midi_send(packet);
121+
}
122+
123+
bool Adafruit_USBD_MIDI::receive(uint8_t packet[4])
124+
{
125+
return tud_midi_receive(packet);
126+
}
127+
117128
#endif

src/Adafruit_USBD_MIDI.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
class Adafruit_USBD_MIDI : public Stream, Adafruit_USBD_Interface {
3131
public:
3232
Adafruit_USBD_MIDI(void);
33-
Adafruit_USBD_MIDI(uint8_t n_cables);
3433

3534
bool begin(void);
3635

@@ -47,10 +46,16 @@ class Adafruit_USBD_MIDI : public Stream, Adafruit_USBD_Interface {
4746
virtual int peek(void);
4847
virtual void flush(void);
4948

49+
// Raw MIDI USB packet interface.
50+
bool send(const uint8_t packet[4]);
51+
bool receive(uint8_t packet[4]);
52+
5053
// from Adafruit_USBD_Interface
5154
virtual uint16_t getDescriptor(uint8_t itfnum, uint8_t *buf,
5255
uint16_t bufsize);
5356

57+
void setCables(uint8_t n_cables);
58+
5459
private:
5560
uint8_t _n_cables;
5661
};

0 commit comments

Comments
 (0)