diff options
Diffstat (limited to 'src/devices/sound/roland_lp.cpp')
-rw-r--r-- | src/devices/sound/roland_lp.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/devices/sound/roland_lp.cpp b/src/devices/sound/roland_lp.cpp index fd63f56cf76..fe918d080f0 100644 --- a/src/devices/sound/roland_lp.cpp +++ b/src/devices/sound/roland_lp.cpp @@ -256,17 +256,14 @@ void mb87419_mb87420_device::write(offs_t offset, u8 data) // sound_stream_update - handle a stream update //------------------------------------------------- -void mb87419_mb87420_device::sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) +void mb87419_mb87420_device::sound_stream_update(sound_stream &stream) { - outputs[0].fill(0); - outputs[1].fill(0); - for (auto& chn : m_chns) { if (! chn.enable || chn.play_dir == 0) continue; - for (int smpl = 0; smpl < outputs[0].samples(); smpl ++) + for (int smpl = 0; smpl < stream.samples(); smpl ++) { s32 smp_data; if (chn.play_dir > 0) @@ -274,8 +271,8 @@ void mb87419_mb87420_device::sound_stream_update(sound_stream &stream, std::vect else smp_data = sample_interpolate(chn.smpl_nxt, chn.smpl_cur, chn.addr & 0x3FFF); smp_data = smp_data * chn.volume; - outputs[0].add_int(smpl, smp_data, 32768 << 14); // >>14 results in a good overall volume - outputs[1].add_int(smpl, smp_data, 32768 << 14); + stream.add_int(0, smpl, smp_data, 32768 << 14); // >>14 results in a good overall volume + stream.add_int(1, smpl, smp_data, 32768 << 14); uint32_t old_addr = chn.addr; if (chn.play_dir > 0) |