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