diff options
Diffstat (limited to 'src/devices/sound/cem3394.h')
-rw-r--r-- | src/devices/sound/cem3394.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/devices/sound/cem3394.h b/src/devices/sound/cem3394.h index 63480d4dd8f..b5a73f19941 100644 --- a/src/devices/sound/cem3394.h +++ b/src/devices/sound/cem3394.h @@ -17,13 +17,13 @@ MCFG_DEVICE_REPLACE(_tag, CEM3394, _clock) #define MCFG_CEM3394_EXT_INPUT_CB(_class, _method) \ - cem3394_device::set_ext_input_callback(*device, cem3394_device::ext_input_delegate(&_class::_method, #_class "::" #_method, this)); + downcast<cem3394_device &>(*device).set_ext_input_callback(cem3394_device::ext_input_delegate(&_class::_method, #_class "::" #_method, this)); #define MCFG_CEM3394_VCO_ZERO(_freq) \ - cem3394_device::set_vco_zero_freq(*device, _freq); + downcast<cem3394_device &>(*device).set_vco_zero_freq(_freq); #define MCFG_CEM3394_FILTER_ZERO(_freq) \ - cem3394_device::set_filter_zero_freq(*device, _freq); + downcast<cem3394_device &>(*device).set_filter_zero_freq(_freq); class cem3394_device : public device_t, public device_sound_interface @@ -48,9 +48,9 @@ public: cem3394_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - static void set_ext_input_callback(device_t &device, ext_input_delegate &&callback) { downcast<cem3394_device &>(device).m_ext_cb = std::move(callback); } - static void set_vco_zero_freq(device_t &device, double freq) { downcast<cem3394_device &>(device).m_vco_zero_freq = freq; } - static void set_filter_zero_freq(device_t &device, double freq) { downcast<cem3394_device &>(device).m_filter_zero_freq = freq; } + template <typename Object> void set_ext_input_callback(Object &&cb) { m_ext_cb = std::forward<Object>(cb); } + void set_vco_zero_freq(double freq) { m_vco_zero_freq = freq; } + void set_filter_zero_freq(double freq) { m_filter_zero_freq = freq; } protected: // device-level overrides |