23 double timestamp_sec)>;
45 virtual bool open(
const std::string& port_id) = 0;
virtual bool is_open() const =0
virtual bool open(const std::string &port_id)=0
virtual void send(const MidiEvent &event)=0
virtual ~MidiOutput()=default
virtual std::vector< MidiPortInfo > enumerate_inputs()=0
virtual void set_port_change_callback(PortChangeCallback)
Definition device.hpp:63
virtual std::vector< MidiPortInfo > enumerate_outputs()=0
virtual std::unique_ptr< MidiOutput > create_output()=0
std::function< void()> PortChangeCallback
Register a callback for MIDI port changes (device plug/unplug).
Definition device.hpp:62
virtual std::unique_ptr< MidiInput > create_input()=0
virtual ~MidiSystem()=default
Definition custom_node_events.hpp:26
std::function< void(const std::vector< uint8_t > &bytes, double timestamp_sec)> MidiSysexCallback
Definition device.hpp:22
std::function< void(const MidiEvent &event)> MidiInputCallback
Definition device.hpp:21
std::unique_ptr< MidiSystem > create_midi_system()
Timestamped MIDI event combining a choc::midi::ShortMessage with timing info.
Definition message.hpp:32
std::string name
Definition device.hpp:13
bool is_output
Definition device.hpp:15
std::string id
Definition device.hpp:12
bool is_input
Definition device.hpp:14