aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2021-06-25 07:51:48 +0200
committerGustav Sörnäs <gustav@sornas.net>2021-06-26 07:55:51 +0200
commit9d67e3a6e1304062ba40993077ce0617565b9df9 (patch)
tree1c450778a244d90b0f9b82a6be402ed299eced79
parent48430e85aaafe341f8bf00a90b4723c332322201 (diff)
downloadmum-9d67e3a6e1304062ba40993077ce0617565b9df9.tar.gz
store num channels on sound effects
-rw-r--r--mumd/src/audio/sound_effects.rs9
1 files 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<Vec<f32>>,
loaded_paths: HashMap<PathBuf, usize>,
+
+ 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);