ES5506: fix mute

This commit is contained in:
tildearrow 2023-02-06 03:20:45 -05:00
parent 3a4057ece3
commit 82c53da498
2 changed files with 5 additions and 3 deletions

View file

@ -283,8 +283,8 @@ void es5506_core::voice_t::tick(u8 voice)
if (m_alu.busy()) if (m_alu.busy())
{ {
// Send to output // Send to output
m_output[0] = volume_calc(m_lvol, sign_ext<s32>(m_filter.o4_1(), 16)); m_output[0] = m_mute ? 0 : volume_calc(m_lvol, sign_ext<s32>(m_filter.o4_1(), 16));
m_output[1] = volume_calc(m_rvol, sign_ext<s32>(m_filter.o4_1(), 16)); m_output[1] = m_mute ? 0 : volume_calc(m_rvol, sign_ext<s32>(m_filter.o4_1(), 16));
m_ch.set_left(m_output[0]); m_ch.set_left(m_output[0]);
m_ch.set_right(m_output[1]); m_ch.set_right(m_output[1]);

View file

@ -27,7 +27,7 @@ class es5506_core : public es550x_shared_core
{ {
} }
void reset() inline void reset()
{ {
m_left = 0; m_left = 0;
m_right = 0; m_right = 0;
@ -181,6 +181,8 @@ class es5506_core : public es550x_shared_core
inline filter_ramp_t &k1ramp() { return m_k1ramp; } inline filter_ramp_t &k1ramp() { return m_k1ramp; }
inline bool muted() { return m_mute; }
output_t &ch() { return m_ch; } output_t &ch() { return m_ch; }
// for debug/preview only // for debug/preview only