From 136d1a103cade9a970b3ab57e0300a9cdefd5064 Mon Sep 17 00:00:00 2001 From: Irjan Olsen Date: Tue, 10 Jan 2023 19:57:45 +0100 Subject: [PATCH] Fixed some stuttering/glitching in the sample playback. --- src/main.rs | 2 +- src/sampler.rs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index c8c61c0..f60ee38 100644 --- a/src/main.rs +++ b/src/main.rs @@ -12,6 +12,6 @@ use crate::tracker::Tracker; fn main() { let mut tracker = Tracker::new(4, 64); tracker.load_file("./3266CHIP.MOD"); - tracker.play_sample(2, 8287.0); + tracker.play_sample(1, 8287.0); //tracker.play(); } diff --git a/src/sampler.rs b/src/sampler.rs index 5c0daf1..7207fdf 100644 --- a/src/sampler.rs +++ b/src/sampler.rs @@ -42,11 +42,11 @@ impl Iterator for Sample { if self.sample.data.len() == 0 { return Some(0.0); } + let value = self.sample.data[self.num_sample]; + self.num_sample = self.num_sample.wrapping_add(1); if self.num_sample >= self.sample.data.len() { self.num_sample = 0; } - let value = self.sample.data[self.num_sample]; - self.num_sample = self.num_sample.wrapping_add(1); Some((value as i8 as f32)/(i8::MAX as f32)) } }