summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/linn/linndrum.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/linn/linndrum.cpp')
-rw-r--r--src/mame/linn/linndrum.cpp17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/mame/linn/linndrum.cpp b/src/mame/linn/linndrum.cpp
index edfb52c15e2..1803e68fdba 100644
--- a/src/mame/linn/linndrum.cpp
+++ b/src/mame/linn/linndrum.cpp
@@ -272,8 +272,7 @@ private:
required_device<filter_biquad_device> m_click_bpf;
required_device<mixer_device> m_left_mixer; // 4558 op-amp (U1A).
required_device<mixer_device> m_right_mixer; // 4558 op-amp (U1B).
- required_device<speaker_device> m_left_out; // 4558 op-amp (U2A).
- required_device<speaker_device> m_right_out; // 4558 op-amp (U2B).
+ required_device<speaker_device> m_out; // 4558 op-amp (U2A, U2B).
static constexpr const float MIXER_R_PRE_FADER[NUM_MIXER_CHANNELS] =
{
@@ -383,8 +382,7 @@ linndrum_audio_device::linndrum_audio_device(const machine_config &mconfig, cons
, m_click_bpf(*this, "click_bpf")
, m_left_mixer(*this, "lmixer")
, m_right_mixer(*this, "rmixer")
- , m_left_out(*this, "lspeaker")
- , m_right_out(*this, "rspeaker")
+ , m_out(*this, "speaker")
{
}
@@ -676,11 +674,10 @@ void linndrum_audio_device::device_add_mconfig(machine_config &config)
m_left_mixer->add_route(0, left_rc, 1.0);
m_right_mixer->add_route(0, right_rc, 1.0);
- SPEAKER(config, m_left_out).front_left();
- SPEAKER(config, m_right_out).front_right();
+ SPEAKER(config, m_out, 2).front();
// Gain will be set in update_master_volume().
- left_rc.add_route(0, m_left_out, 1.0);
- right_rc.add_route(0, m_right_out, 1.0);
+ left_rc.add_route(0, m_out, 1.0, 0);
+ right_rc.add_route(0, m_out, 1.0, 1);
}
void linndrum_audio_device::device_start()
@@ -996,8 +993,8 @@ void linndrum_audio_device::update_master_volume()
const float final_gain = gain * VOLTAGE_TO_SOUND_SCALER;
// Using -final_gain, because the output opamps (U2A, U2B) are inverting.
- m_left_out->set_input_gain(0, -final_gain);
- m_right_out->set_input_gain(0, -final_gain);
+ m_out->set_input_gain(0, -final_gain);
+ m_out->set_input_gain(1, -final_gain);
LOGMASKED(LOG_MIX, "Master volume updated. Gain: %f, final gain: %f\n", gain, final_gain);
}