OXYGENHUB
◆ main openmsx / src / serial / MidiOutConnector.cc
1.3 KiB · C++ · last changed chore(): initial commit 1 month ago source blame history raw
e8555c89 Andy McCall 1
#include "MidiOutConnector.hh"
2
3
#include "DummyMidiOutDevice.hh"
4
#include "MidiOutDevice.hh"
5
6
#include "serialize.hh"
7
8
#include "checked_cast.hh"
9
10
#include <memory>
11
12
namespace openmsx {
13
14
MidiOutConnector::MidiOutConnector(PluggingController& pluggingController_,
15
                                   std::string name_)
16
	: Connector(pluggingController_, name_,
17
	            std::make_unique<DummyMidiOutDevice>())
18
	, description(std::move(name_))
19
{
20
}
21
22
zstring_view MidiOutConnector::getDescription() const
23
{
24
	return description;
25
}
26
27
zstring_view MidiOutConnector::getClass() const
28
{
29
	return "midi out";
30
}
31
32
MidiOutDevice& MidiOutConnector::getPluggedMidiOutDev() const
33
{
34
	return *checked_cast<MidiOutDevice*>(&getPlugged());
35
}
36
37
void MidiOutConnector::setDataBits(DataBits bits)
38
{
39
	getPluggedMidiOutDev().setDataBits(bits);
40
}
41
42
void MidiOutConnector::setStopBits(StopBits bits)
43
{
44
	getPluggedMidiOutDev().setStopBits(bits);
45
}
46
47
void MidiOutConnector::setParityBit(bool enable, Parity parity)
48
{
49
	getPluggedMidiOutDev().setParityBit(enable, parity);
50
}
51
52
void MidiOutConnector::recvByte(uint8_t value, EmuTime time)
53
{
54
	getPluggedMidiOutDev().recvByte(value, time);
55
}
56
57
template<typename Archive>
58
void MidiOutConnector::serialize(Archive& ar, unsigned /*version*/)
59
{
60
	ar.template serializeBase<Connector>(*this);
61
}
62
INSTANTIATE_SERIALIZE_METHODS(MidiOutConnector);
63
64
} // namespace openmsx