From c143931f9948a0249213bdaab2658a31d4dddaf2 Mon Sep 17 00:00:00 2001 From: Eskil Queseth Date: Sat, 12 Jun 2021 17:40:41 +0200 Subject: add documentation --- mumd/src/audio/input.rs | 1 - mumd/src/audio/transformers.rs | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'mumd') diff --git a/mumd/src/audio/input.rs b/mumd/src/audio/input.rs index b84cefb..7a7ff0f 100644 --- a/mumd/src/audio/input.rs +++ b/mumd/src/audio/input.rs @@ -102,7 +102,6 @@ impl DefaultAudioInputDevice { opus::Application::Voip, ) .unwrap(); - // 4 blocks @ 2.5 ms meaning 10 ms total let buffer_size = (sample_rate.0 * frame_size / 400) as usize; let transformers = vec![Box::new(NoiseGate::new(50)) as Box]; diff --git a/mumd/src/audio/transformers.rs b/mumd/src/audio/transformers.rs index 6994a40..25e28b8 100644 --- a/mumd/src/audio/transformers.rs +++ b/mumd/src/audio/transformers.rs @@ -1,7 +1,11 @@ +/// A trait that represents a transform of a audio buffer in some way. pub trait Transformer { + /// Do the transform. Returning `None` is interpreted as "the buffer is unwanted". + /// The implementor is free to modify the buffer however it wants to. fn transform<'a>(&mut self, buf: &'a mut [f32]) -> Option<&'a mut [f32]>; } +/// A struct representing a noise gate transform. pub struct NoiseGate { alltime_high: f32, open: usize, @@ -9,6 +13,8 @@ pub struct NoiseGate { } impl NoiseGate { + /// Create a new noise gate. `deactivation_delay` is defined in terms of + /// how many quiet frames it receives before closing the noise gate. pub fn new(deactivation_delay: usize) -> Self { Self { alltime_high: 0.0, -- cgit v1.2.1