Control Surface
main
MIDI Control Surface library for Arduino
Toggle main menu visibility
Loading...
Searching...
No Matches
src
MIDI_Interfaces
USBHostMIDI_Interface.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
USBMIDI/Teensy-host/TeensyHostMIDI.hpp
"
4
#include "
USBMIDI_Interface.hpp
"
5
6
BEGIN_CS_NAMESPACE
7
10
template
<
size_t
MaxPacketSize = 512>
11
class
USBHostMIDIBackend
{
12
public
:
13
USBHostMIDIBackend
(USBHost &host) :
backend
(host) {}
14
15
public
:
16
using
MIDIUSBPacket_t
=
AH::Array<uint8_t, 4>
;
17
MIDIUSBPacket_t
read
() {
return
u32_to_bytes
(
backend
.read()); }
18
void
write
(
MIDIUSBPacket_t
data) {
backend
.write(
bytes_to_u32
(data)); }
19
void
sendNow
() {
backend
.send_now(); }
20
bool
preferImmediateSend
() {
return
false
; }
21
22
public
:
23
TeensyHostMIDI<MaxPacketSize>
backend
;
24
};
25
40
class
USBHostMIDI_Interface
41
:
public
GenericUSBMIDI_Interface
<USBHostMIDIBackend<64>> {
42
public
:
43
USBHostMIDI_Interface
(USBHost &host) :
GenericUSBMIDI_Interface
(host) {}
44
};
45
60
class
USBHostMIDI_Interface_BigBuffer
61
:
public
GenericUSBMIDI_Interface
<USBHostMIDIBackend<512>> {
62
public
:
63
USBHostMIDI_Interface_BigBuffer
(USBHost &host)
64
:
GenericUSBMIDI_Interface
(host) {}
65
};
66
67
END_CS_NAMESPACE
END_CS_NAMESPACE
#define END_CS_NAMESPACE
Definition
Settings/NamespaceSettings.hpp:14
BEGIN_CS_NAMESPACE
#define BEGIN_CS_NAMESPACE
Definition
Settings/NamespaceSettings.hpp:11
TeensyHostMIDI.hpp
u32_to_bytes
AH::Array< uint8_t, 4 > u32_to_bytes(uint32_t u)
Definition
USBMIDI.hpp:16
bytes_to_u32
uint32_t bytes_to_u32(uint8_t b0, uint8_t b1, uint8_t b2, uint8_t b3)
Definition
USBMIDI.hpp:25
USBMIDI_Interface.hpp
GenericUSBMIDI_Interface< USBHostMIDIBackend< 64 > >::GenericUSBMIDI_Interface
GenericUSBMIDI_Interface(Args &&...args)
Definition
USBMIDI_Interface.hpp:23
TeensyHostMIDI
Teensy USB Host MIDI driver.
Definition
TeensyHostMIDI.hpp:19
USBHostMIDIBackend::sendNow
void sendNow()
Definition
USBHostMIDI_Interface.hpp:19
USBHostMIDIBackend::read
MIDIUSBPacket_t read()
Definition
USBHostMIDI_Interface.hpp:17
USBHostMIDIBackend::write
void write(MIDIUSBPacket_t data)
Definition
USBHostMIDI_Interface.hpp:18
USBHostMIDIBackend::USBHostMIDIBackend
USBHostMIDIBackend(USBHost &host)
Definition
USBHostMIDI_Interface.hpp:13
USBHostMIDIBackend::preferImmediateSend
bool preferImmediateSend()
Definition
USBHostMIDI_Interface.hpp:20
USBHostMIDIBackend::backend
TeensyHostMIDI< MaxPacketSize > backend
Definition
USBHostMIDI_Interface.hpp:23
USBHostMIDIBackend::MIDIUSBPacket_t
AH::Array< uint8_t, 4 > MIDIUSBPacket_t
Definition
USBHostMIDI_Interface.hpp:16
USBHostMIDI_Interface_BigBuffer::USBHostMIDI_Interface_BigBuffer
USBHostMIDI_Interface_BigBuffer(USBHost &host)
Definition
USBHostMIDI_Interface.hpp:63
USBHostMIDI_Interface::USBHostMIDI_Interface
USBHostMIDI_Interface(USBHost &host)
Definition
USBHostMIDI_Interface.hpp:43
AH::Array
An array wrapper for easy copying, comparing, and iterating.
Definition
Array.hpp:32
Generated by
1.17.0