diff options
Diffstat (limited to 'src/devices/sound/dac.h')
-rw-r--r-- | src/devices/sound/dac.h | 40 |
1 files changed, 20 insertions, 20 deletions
diff --git a/src/devices/sound/dac.h b/src/devices/sound/dac.h index 7a48ba80998..b45dc66dfad 100644 --- a/src/devices/sound/dac.h +++ b/src/devices/sound/dac.h @@ -87,12 +87,12 @@ protected: virtual void sound_stream_update_tag(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override { - for (int samp = 0; samp < outputs[0].samples(); samp++) + while (!outputs[0].done()) { - double const vref_pos = inputs[DAC_VREF_POS_INPUT].get(samp) * this->m_gain; - double const vref_neg = inputs[DAC_VREF_NEG_INPUT].get(samp) * this->m_gain; + double const vref_pos = inputs[DAC_VREF_POS_INPUT].get() * this->m_gain; + double const vref_neg = inputs[DAC_VREF_NEG_INPUT].get() * this->m_gain; stream_buffer::sample_t const vout = vref_neg + dac_multiply<bits>(vref_pos - vref_neg, this->m_code); - outputs[0].put(samp, vout); + outputs[0].put(vout); } } }; @@ -107,20 +107,20 @@ protected: { if (this->m_code & (1 << (bits - 1))) { - for (int samp = 0; samp < outputs[0].samples(); samp++) + while (!outputs[0].done()) { - double const vref_neg = inputs[DAC_VREF_NEG_INPUT].get(samp) * this->m_gain; + double const vref_neg = inputs[DAC_VREF_NEG_INPUT].get() * this->m_gain; stream_buffer::sample_t const vout = dac_multiply<bits - 1>(vref_neg, this->m_code ^ ~(~0U << bits)); - outputs[0].put(samp, vout); + outputs[0].put(vout); } } else { - for (int samp = 0; samp < outputs[0].samples(); samp++) + while (!outputs[0].done()) { - double const vref_pos = inputs[DAC_VREF_POS_INPUT].get(samp) * this->m_gain; + double const vref_pos = inputs[DAC_VREF_POS_INPUT].get() * this->m_gain; stream_buffer::sample_t const vout = dac_multiply<bits - 1>(vref_pos, this->m_code); - outputs[0].put(samp, vout); + outputs[0].put(vout); } } } @@ -134,12 +134,12 @@ protected: virtual void sound_stream_update_tag(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override { - for (int samp = 0; samp < outputs[0].samples(); samp++) + while (!outputs[0].done()) { - double const vref_pos = inputs[DAC_VREF_POS_INPUT].get(samp) * this->m_gain; - double const vref_neg = inputs[DAC_VREF_NEG_INPUT].get(samp) * this->m_gain; + double const vref_pos = inputs[DAC_VREF_POS_INPUT].get() * this->m_gain; + double const vref_neg = inputs[DAC_VREF_NEG_INPUT].get() * this->m_gain; stream_buffer::sample_t const vout = vref_neg + dac_multiply<bits>(vref_pos - vref_neg, this->m_code ^ (1 << (bits - 1))); - outputs[0].put(samp, vout); + outputs[0].put(vout); } } }; @@ -154,20 +154,20 @@ protected: { if (this->m_code & (1 << (bits - 1))) { - for (int samp = 0; samp < outputs[0].samples(); samp++) + while (!outputs[0].done()) { - double const vref_neg = inputs[DAC_VREF_NEG_INPUT].get(samp) * this->m_gain; + double const vref_neg = inputs[DAC_VREF_NEG_INPUT].get() * this->m_gain; stream_buffer::sample_t const vout = dac_multiply<bits - 1>(vref_neg, this->m_code ^ (1 << (bits - 1))); - outputs[0].put(samp, vout); + outputs[0].put(vout); } } else { - for (int samp = 0; samp < outputs[0].samples(); samp++) + while (!outputs[0].done()) { - double const vref_pos = inputs[DAC_VREF_POS_INPUT].get(samp) * this->m_gain; + double const vref_pos = inputs[DAC_VREF_POS_INPUT].get() * this->m_gain; stream_buffer::sample_t const vout = dac_multiply<bits - 1>(vref_pos, this->m_code); - outputs[0].put(samp, vout); + outputs[0].put(vout); } } } |