devalang_wasm/engine/audio/effects/processors/
reverse.rs1use crate::engine::audio::effects::processors::super_trait::EffectProcessor;
2
3#[derive(Debug, Clone)]
4pub struct ReverseProcessor {
5 reversed: bool,
6}
7
8impl ReverseProcessor {
9 pub fn new(reversed: bool) -> Self {
10 Self { reversed }
11 }
12}
13
14impl Default for ReverseProcessor {
15 fn default() -> Self {
16 Self::new(false)
17 }
18}
19
20impl EffectProcessor for ReverseProcessor {
21 fn process(&mut self, samples: &mut [f32], _sample_rate: u32) {
22 if self.reversed {
23 samples.reverse();
24 }
25 }
26
27 fn reset(&mut self) {
28 }
30
31 fn name(&self) -> &str {
32 "Reverse"
33 }
34}