summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/samples.cpp
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2020-09-17 01:24:17 -0700
committer Aaron Giles <aaron@aarongiles.com>2020-09-17 01:24:17 -0700
commit8d7d01caef380b119fbd8653fa5ad23e0d592564 (patch)
tree69ad747e9a42081425070a010fff86688bf67b54 /src/devices/sound/samples.cpp
parentdc0ede3c90717ed25de0695c555b861f06344f18 (diff)
Revert "sound: Improved view interfaces to match usage patterns"
This reverts commit dc0ede3c90717ed25de0695c555b861f06344f18.
Diffstat (limited to 'src/devices/sound/samples.cpp')
-rw-r--r--src/devices/sound/samples.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/devices/sound/samples.cpp b/src/devices/sound/samples.cpp
index bfe7c02bb6b..5c8d129b799 100644
--- a/src/devices/sound/samples.cpp
+++ b/src/devices/sound/samples.cpp
@@ -334,7 +334,7 @@ void samples_device::sound_stream_update(sound_stream &stream, std::vector<read_
double endpos = chan.source_len;
const int16_t *sample = chan.source;
- while (!buffer.done())
+ for (int sampindex = 0; sampindex < buffer.samples(); sampindex++)
{
// do a linear interp on the sample
double pos_floor = floor(chan.pos);
@@ -343,7 +343,7 @@ void samples_device::sound_stream_update(sound_stream &stream, std::vector<read_
stream_buffer::sample_t sample1 = stream_buffer::sample_t(sample[ipos++]);
stream_buffer::sample_t sample2 = stream_buffer::sample_t(sample[(ipos + 1) % chan.source_len]);
- buffer.put(sample_scale * ((1.0 - frac) * sample1 + frac * sample2));
+ buffer.put(sampindex, sample_scale * ((1.0 - frac) * sample1 + frac * sample2));
// advance
chan.pos += step;
@@ -357,7 +357,7 @@ void samples_device::sound_stream_update(sound_stream &stream, std::vector<read_
{
chan.source = nullptr;
chan.source_num = -1;
- buffer.fill(0);
+ buffer.fill(0, sampindex);
break;
}
}