Fixed some stuttering/glitching in the sample playback.
This commit is contained in:
@@ -12,6 +12,6 @@ use crate::tracker::Tracker;
|
|||||||
fn main() {
|
fn main() {
|
||||||
let mut tracker = Tracker::new(4, 64);
|
let mut tracker = Tracker::new(4, 64);
|
||||||
tracker.load_file("./3266CHIP.MOD");
|
tracker.load_file("./3266CHIP.MOD");
|
||||||
tracker.play_sample(2, 8287.0);
|
tracker.play_sample(1, 8287.0);
|
||||||
//tracker.play();
|
//tracker.play();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,11 +42,11 @@ impl Iterator for Sample {
|
|||||||
if self.sample.data.len() == 0 {
|
if self.sample.data.len() == 0 {
|
||||||
return Some(0.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() {
|
if self.num_sample >= self.sample.data.len() {
|
||||||
self.num_sample = 0;
|
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))
|
Some((value as i8 as f32)/(i8::MAX as f32))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user