diff options
Diffstat (limited to 'src/devices/bus/midi/midi.h')
-rw-r--r-- | src/devices/bus/midi/midi.h | 8 |
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 ); |