diff options
Diffstat (limited to 'mumd/src/audio/transformers.rs')
| -rw-r--r-- | mumd/src/audio/transformers.rs | 6 |
1 files changed, 6 insertions, 0 deletions
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, |
