summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/midi/midi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/midi/midi.h')
-rw-r--r--src/devices/bus/midi/midi.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/devices/bus/midi/midi.h b/src/devices/bus/midi/midi.h
index 162d2d7545e..e85a69b9b35 100644
--- a/src/devices/bus/midi/midi.h
+++ b/src/devices/bus/midi/midi.h
@@ -6,6 +6,13 @@
#pragma once
+#define MCFG_MIDI_PORT_ADD(_tag, _slot_intf, _def_slot) \
+ MCFG_DEVICE_ADD(_tag, MIDI_PORT, 0) \
+ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false)
+
+#define MCFG_MIDI_RX_HANDLER(_devcb) \
+ downcast<midi_port_device &>(*device).set_rx_handler(DEVCB_##_devcb);
+
class device_midi_port_interface;
class midi_port_device : public device_t,
@@ -27,6 +34,7 @@ public:
virtual ~midi_port_device();
// static configuration helpers
+ template <class Object> devcb_base &set_rx_handler(Object &&cb) { return m_rxd_handler.set_callback(std::forward<Object>(cb)); }
auto rxd_handler() { return m_rxd_handler.bind(); }
DECLARE_WRITE_LINE_MEMBER( write_txd );