use crossbeam::channel::Sender;
use ndarray::ArcArray2;
use super::source::*;
use crate::daq::SharedInQueue;
use crate::filter::Equalizer;
use crate::*;
use crate::{config::*, siggen::SourceDescriptor};
#[cfg_attr(
feature = "python-bindings",
gen_stub_pyclass_complex_enum,
pyclass(from_py_object)
)]
#[derive(Clone, Debug)]
pub enum SiggenCommand {
ChangeSource {
src: SourceDescriptor,
},
SetEqualizer {
channels: Vec<usize>,
eq: Option<Equalizer>,
},
ResetSiggen {
fs: StrictlyPositive,
},
SetGain {
ch: usize,
g: Positive,
},
SetAllGains {
g: Positive,
},
SetMuteChannel {
ch: usize,
mute: bool,
},
SetMuteAllChannels {
mute: bool,
},
}