firewheel_core/node/
dummy.rs1use crate::{channel_config::ChannelConfig, event::NodeEventList};
2
3use super::{
4 AudioNode, AudioNodeInfo, AudioNodeProcessor, ConstructProcessorContext, ProcBuffers, ProcInfo,
5 ProcessStatus,
6};
7
8#[derive(Default, Debug, Clone, Copy, PartialEq, Eq)]
10pub struct DummyNode;
11
12#[derive(Default, Debug, Clone, Copy, PartialEq, Eq)]
14pub struct DummyNodeConfig {
15 pub channel_config: ChannelConfig,
16}
17
18impl AudioNode for DummyNode {
19 type Configuration = DummyNodeConfig;
20
21 fn info(&self, config: &Self::Configuration) -> AudioNodeInfo {
22 AudioNodeInfo::new()
23 .debug_name("dummy")
24 .channel_config(config.channel_config)
25 .uses_events(false)
26 }
27
28 fn construct_processor(
29 &self,
30 _config: &Self::Configuration,
31 _cx: ConstructProcessorContext,
32 ) -> impl AudioNodeProcessor {
33 DummyProcessor
34 }
35}
36
37struct DummyProcessor;
38
39impl AudioNodeProcessor for DummyProcessor {
40 fn process(
41 &mut self,
42 _buffers: ProcBuffers,
43 _proc_info: &ProcInfo,
44 _events: NodeEventList,
45 ) -> ProcessStatus {
46 ProcessStatus::Bypass
47 }
48}