#[cfg(any(feature = "standalone", feature = "clap-plugin", test))]
use crate::common::spsc::RtStatusFlags;
#[cfg(any(feature = "standalone", feature = "clap-plugin", test))]
use crate::dsp::adaptive::AdaptiveCompute;
#[cfg(any(feature = "standalone", feature = "clap-plugin", test))]
use crate::dsp::cabsim::conv::ConvEngine;
#[cfg(any(feature = "standalone", feature = "clap-plugin", test))]
use crate::dsp::gate::{DynamicHysteresis, GateParams};
#[cfg(any(feature = "standalone", feature = "clap-plugin", test))]
use crate::dsp::resampler::NamResampler;
#[cfg(any(feature = "standalone", feature = "clap-plugin", test))]
use crate::models::StaticModel;
use super::bridge::DspBridgeWriter;
#[cfg(any(feature = "standalone", feature = "clap-plugin", test))]
use crate::dsp::oversample::OversampleEngine;
#[cfg(any(feature = "standalone", feature = "clap-plugin", test))]
pub struct DspPipelineContext<'a> {
pub resampler: &'a mut NamResampler,
pub os_l: &'a mut OversampleEngine,
pub os_r: &'a mut OversampleEngine,
pub active_model_l: &'a mut Option<Box<StaticModel>>,
pub active_model_r: &'a mut Option<Box<StaticModel>>,
pub input_gain_mult: f32,
pub output_gain_mult: f32,
pub gate_params: &'a GateParams,
pub silence_hysteresis: &'a mut DynamicHysteresis,
pub mono_hysteresis: &'a mut DynamicHysteresis,
pub threshold_open_sq: f32,
pub threshold_close_sq: f32,
pub process_mono: &'a mut bool,
pub rt_status: &'a RtStatusFlags,
pub adaptive: &'a mut AdaptiveCompute,
pub bridge_writer: Option<DspBridgeWriter>,
pub conv: Option<&'a mut ConvEngine>,
}
#[cfg(any(feature = "standalone", feature = "clap-plugin", test))]
pub struct DspBuffers<'a> {
pub resamp_mid_l: &'a mut [f32],
pub resamp_mid_r: &'a mut [f32],
pub resamp_out_l: &'a mut [f32],
pub resamp_out_r: &'a mut [f32],
pub model_out_l: &'a mut [f32],
pub model_out_r: &'a mut [f32],
pub os_in_l: &'a mut [f32],
pub os_in_r: &'a mut [f32],
pub os_model_l: &'a mut [f32],
pub os_model_r: &'a mut [f32],
}