summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/cem3394.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/cem3394.h')
-rw-r--r--src/devices/sound/cem3394.h12
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