From 89944f0f56935dfd4c3adca6ff8f1fd52212ee03 Mon Sep 17 00:00:00 2001 From: Eskil Queseth Date: Fri, 13 Nov 2020 23:37:54 +0100 Subject: add mvp for playing sound when stuff happens --- mumd/src/audio/output.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'mumd/src/audio/output.rs') diff --git a/mumd/src/audio/output.rs b/mumd/src/audio/output.rs index ce116a8..2b58d5b 100644 --- a/mumd/src/audio/output.rs +++ b/mumd/src/audio/output.rs @@ -71,8 +71,9 @@ impl SaturatingAdd for u16 { } } -pub fn curry_callback( - buf: Arc>>, +pub fn curry_callback( + effect_sound: Arc>>, + user_bufs: Arc>>, output_volume_receiver: watch::Receiver, user_volumes: Arc>>, ) -> impl FnMut(&mut [T], &OutputCallbackInfo) + Send + 'static { @@ -83,8 +84,9 @@ pub fn curry_callback( let volume = *output_volume_receiver.borrow(); - let mut lock = buf.lock().unwrap(); - for (id, client_stream) in &mut *lock { + let mut effects_sound = effect_sound.lock().unwrap(); + let mut user_bufs = user_bufs.lock().unwrap(); + for (id, client_stream) in &mut *user_bufs { let (user_volume, muted) = user_volumes .lock() .unwrap() @@ -98,5 +100,9 @@ pub fn curry_callback( } } } + + for sample in data.iter_mut() { + *sample = sample.saturating_add(Sample::from(&(effects_sound.pop_front().unwrap_or(0.0) * volume))); + } } } -- cgit v1.2.1 From 3b0d0f7aee5b6d8dc4ab59c1c16315c2c80347b3 Mon Sep 17 00:00:00 2001 From: Eskil Queseth Date: Mon, 16 Nov 2020 02:23:28 +0100 Subject: cargo fmt --- mumd/src/audio/output.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'mumd/src/audio/output.rs') diff --git a/mumd/src/audio/output.rs b/mumd/src/audio/output.rs index 2b58d5b..5e0cb8d 100644 --- a/mumd/src/audio/output.rs +++ b/mumd/src/audio/output.rs @@ -102,7 +102,9 @@ pub fn curry_callback } for sample in data.iter_mut() { - *sample = sample.saturating_add(Sample::from(&(effects_sound.pop_front().unwrap_or(0.0) * volume))); + *sample = sample.saturating_add(Sample::from( + &(effects_sound.pop_front().unwrap_or(0.0) * volume), + )); } } } -- cgit v1.2.1