#pragma once #include #include #include #include #include #if defined(__APPLE__) #if __LP64__ typedef unsigned int UInt32; #else typedef unsigned long UInt32; #endif typedef UInt32 MIDIObjectRef; typedef MIDIObjectRef MIDIClientRef; #else using MIDIClientRef = uint32_t; using MIDIObjectRef = uint32_t; #endif namespace libremidi { struct coremidi_input_configuration { std::string client_name = "libremidi client"; std::optional context{}; }; struct coremidi_output_configuration { std::string client_name = "libremidi client"; std::optional context{}; }; struct coremidi_observer_configuration { std::string client_name = "libremidi client"; std::function on_create_context{}; }; }