From 9d67e3a6e1304062ba40993077ce0617565b9df9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Fri, 25 Jun 2021 07:51:48 +0200 Subject: store num channels on sound effects --- mumd/src/audio/sound_effects.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mumd/src/audio/sound_effects.rs b/mumd/src/audio/sound_effects.rs index 34a7b84..14727f3 100644 --- a/mumd/src/audio/sound_effects.rs +++ b/mumd/src/audio/sound_effects.rs @@ -20,6 +20,8 @@ use crate::audio::SAMPLE_RATE; pub struct SoundEffects { data: Vec>, loaded_paths: HashMap, + + num_channels: usize, } impl fmt::Debug for SoundEffects { @@ -31,10 +33,11 @@ impl fmt::Debug for SoundEffects { } impl SoundEffects { - pub fn new() -> Self { + pub fn new(num_channels: usize) -> Self { SoundEffects { - data: Vec::new(), + data: vec![unpack_audio(get_default_sfx(), AudioFileKind::Wav).unwrap().0], loaded_paths: HashMap::new(), + num_channels, } } @@ -42,7 +45,7 @@ impl SoundEffects { let idx = match self.loaded_paths.entry(path.as_ref().to_owned()) { Entry::Occupied(o) => *o.get(), Entry::Vacant(v) => { - if let Ok(samples) = open_and_unpack_audio(v.key(), 2) { + if let Ok(samples) = open_and_unpack_audio(v.key(), self.num_channels) { let idx = self.data.len(); self.data.push(samples); v.insert(idx); -- cgit v1.2.1