1#ifndef MIDIOUTCOREMIDI_HH
2#define MIDIOUTCOREMIDI_HH
7#include <CoreMIDI/MIDIServices.h>
13class PluggingController;
17class MidiOutMessageBuffer :
public MidiOutDevice
20 virtual OSStatus sendPacketList(MIDIPacketList *myPacketList) = 0;
24 const std::vector<uint8_t>& message, EmuTime::param time)
override;
29class MidiOutCoreMIDI final :
public MidiOutMessageBuffer
32 static void registerAll(PluggingController& controller);
37 explicit MidiOutCoreMIDI(MIDIEndpointRef endpoint);
40 void plugHelper(Connector& connector, EmuTime::param time)
override;
41 void unplugHelper(EmuTime::param time)
override;
42 [[nodiscard]] std::string_view getName()
const override;
43 [[nodiscard]] std::string_view getDescription()
const override;
46 OSStatus sendPacketList(MIDIPacketList *myPacketList)
override;
48 template<
typename Archive>
49 void serialize(Archive& ar,
unsigned version);
54 MIDIEndpointRef endpoint;
64class MidiOutCoreMIDIVirtual final :
public MidiOutMessageBuffer
67 explicit MidiOutCoreMIDIVirtual();
70 void plugHelper(Connector& connector, EmuTime::param time)
override;
71 void unplugHelper(EmuTime::param time)
override;
72 [[nodiscard]] std::string_view getName()
const override;
73 [[nodiscard]] std::string_view getDescription()
const override;
76 OSStatus sendPacketList(MIDIPacketList *myPacketList)
override;
78 template<
typename Archive>
79 void serialize(Archive& ar,
unsigned version);
83 MIDIEndpointRef endpoint;
This file implemented 3 utility functions:
void serialize(Archive &ar, T &t, unsigned version)