From 70a7a645dcd791ab8c33ee1096a815428e702ae3 Mon Sep 17 00:00:00 2001 From: /dev/urandom Date: Sat, 15 Feb 2025 04:41:57 +0100 Subject: feat: loop song --- src/music.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/music.rs') diff --git a/src/music.rs b/src/music.rs index d44eabf..0f0f7e7 100644 --- a/src/music.rs +++ b/src/music.rs @@ -12,8 +12,13 @@ impl AudioCallback for Music { fn callback(&mut self, out_f: &mut [f32]) { let len = out_f.len(); - pcm_to_f32pcm(&self.pcm[self.offset..(self.offset + len)], out_f, len); + let slice = &self.pcm[self.offset..(self.offset + len).min(self.pcm.len() - 1)]; + let len = slice.len(); + pcm_to_f32pcm(&slice, out_f, len); self.offset += len; + if self.offset > self.pcm.len() { + self.offset = 0; + } } } -- cgit v1.2.3