OXYGENHUB
◆ main openmsx / src / serial / MidiOutWindows.hh
949 B · C++ · last changed chore(): initial commit 1 month ago source blame history raw
e8555c89 Andy McCall 1
#ifndef MIDIOUTWINDOWS_HH
2
#define MIDIOUTWINDOWS_HH
3
4
#ifdef _WIN32
5
6
#include "MidiOutDevice.hh"
7
#include "serialize_meta.hh"
8
9
namespace openmsx {
10
11
class PluggingController;
12
13
class MidiOutWindows final : public MidiOutDevice
14
{
15
public:
16
	static void registerAll(PluggingController& controller);
17
18
	explicit MidiOutWindows(unsigned num);
19
	~MidiOutWindows() override;
20
21
	// Pluggable
22
	void plugHelper(Connector& connector, EmuTime time) override;
23
	void unplugHelper(EmuTime time) override;
24
	[[nodiscard]] zstring_view getName() const override;
25
	[[nodiscard]] zstring_view getDescription() const override;
26
27
	// SerialDataInterface (part)
28
	void recvMessage(const std::vector<uint8_t>& message, EmuTime time) override;
29
30
	template<typename Archive>
31
	void serialize(Archive& ar, unsigned version);
32
33
private:
34
	unsigned devIdx = unsigned(-1);
35
	std::string name;
36
	std::string desc;
37
};
38
39
} // namespace openmsx
40
41
#endif // defined(_WIN32)
42
#endif // MIDIOUTWINDOWS_HH