openMSX
MidiOutWindows.hh
Go to the documentation of this file.
1#ifndef MIDIOUTWINDOWS_HH
2#define MIDIOUTWINDOWS_HH
3
4#if defined(_WIN32)
5#include "MidiOutDevice.hh"
6#include "serialize_meta.hh"
7
8namespace openmsx {
9
10class PluggingController;
11
12class MidiOutWindows final : public MidiOutDevice
13{
14public:
15 static void registerAll(PluggingController& controller);
16
17 explicit MidiOutWindows(unsigned num);
18 ~MidiOutWindows() override;
19
20 // Pluggable
21 void plugHelper(Connector& connector, EmuTime::param time) override;
22 void unplugHelper(EmuTime::param time) override;
23 [[nodiscard]] std::string_view getName() const override;
24 [[nodiscard]] std::string_view getDescription() const override;
25
26 // SerialDataInterface (part)
27 void recvMessage(const std::vector<uint8_t>& message, EmuTime::param time) override;
28
29 template<typename Archive>
30 void serialize(Archive& ar, unsigned version);
31
32private:
33 unsigned devIdx = unsigned(-1);
34 std::string name;
35 std::string desc;
36};
37
38} // namespace openmsx
39
40#endif // defined(_WIN32)
41#endif // MIDIOUTWINDOWS_HH
This file implemented 3 utility functions:
Definition Autofire.cc:11
void serialize(Archive &ar, T &t, unsigned version)