use crate::buffer::ChannelConfig;
use crate::param::AutomationEvent;
use crate::process::AudioProcessor;
use crossbeam_channel::Sender;
pub(crate) enum ControlMessage {
RegisterNode {
id: u64,
node: Box<dyn AudioProcessor>,
inputs: usize,
outputs: usize,
channel_config: ChannelConfig,
},
ConnectNode {
from: u64,
to: u64,
input: u32,
output: u32,
},
DisconnectNode {
from: u64,
to: u64,
},
DisconnectAll {
from: u64,
},
FreeWhenFinished {
id: u64,
},
AudioParamEvent {
to: Sender<AutomationEvent>,
event: AutomationEvent,
},
}