19 #ifndef __libbackend_coremidi_io_h__
20 #define __libbackend_coremidi_io_h__
22 #include <CoreServices/CoreServices.h>
23 #include <CoreAudio/CoreAudio.h>
24 #include <AudioUnit/AudioUnit.h>
26 #include <AudioUnit/AudioUnit.h>
27 #include <AudioToolbox/AudioToolbox.h>
78 int send_event (uint32_t,
double,
const uint8_t *,
const size_t);
79 size_t recv_event (uint32_t, uint64_t &, uint8_t *,
size_t &);
83 std::string
port_id (uint32_t,
bool input);
PBD::RingBuffer< uint8_t > ** _rb
std::string port_id(uint32_t, bool input)
int send_event(uint32_t, double, const uint8_t *, const size_t)
MIDIEndpointRef * _input_endpoints
void set_port_changed_callback(void(changed_callback(void *)), void *arg)
MIDIClientRef _midi_client
MIDIPortRef * _input_ports
CoreMIDIQueue * _input_queue
MIDIEndpointRef * _output_endpoints
void start_cycle(MIDITimeStamp, double cycle_ns)
pthread_mutex_t _discovery_lock
uint32_t n_midi_inputs(void) const
void notify_proc(const MIDINotification *message)
std::string port_name(uint32_t, bool input)
uint32_t n_midi_outputs(void) const
size_t recv_event(uint32_t, uint64_t &, uint8_t *, size_t &)
MIDITimeStamp _send_start
void(* _changed_callback)(void *)
MIDIPortRef * _output_ports
void set_enabled(bool yn=true)
MIDITimeStamp _recv_start
std::vector< std::shared_ptr< CoreMIDIPacket > > CoreMIDIQueue
struct ARDOUR::_CoreMIDIPacket CoreMIDIPacket
_CoreMIDIPacket(const MIDIPacket *other)