From b4c60415ae74deff40838d6995718d5bda1074bf Mon Sep 17 00:00:00 2001 From: Dirk Best Date: Mon, 20 Nov 2017 00:11:20 +0100 Subject: wave: Look up speaker count and cassette device relative to owner Fixes cassette speakers inside devices. --- src/devices/sound/wave.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/devices/sound/wave.cpp b/src/devices/sound/wave.cpp index 7383805d05e..810f537e51d 100644 --- a/src/devices/sound/wave.cpp +++ b/src/devices/sound/wave.cpp @@ -47,13 +47,13 @@ wave_device::wave_device(const machine_config &mconfig, const char *tag, device_ void wave_device::device_start() { - speaker_device_iterator spkiter(machine().root_device()); + speaker_device_iterator spkiter(*owner()); int speakers = spkiter.count(); if (speakers > 1) machine().sound().stream_alloc(*this, 0, 2, machine().sample_rate()); else machine().sound().stream_alloc(*this, 0, 1, machine().sample_rate()); - m_cass = machine().device(m_cassette_tag); + m_cass = owner()->subdevice(m_cassette_tag); } //------------------------------------------------- @@ -69,7 +69,7 @@ void wave_device::sound_stream_update(sound_stream &stream, stream_sample_t **in stream_sample_t *right_buffer = nullptr; int i; - speaker_device_iterator spkiter(m_cass->machine().root_device()); + speaker_device_iterator spkiter(*owner()); int speakers = spkiter.count(); if (speakers>1) right_buffer = outputs[1]; -- cgit v1.2.3