use crate::common::spsc::RtStatusFlags;
use crate::dsp::gate::GateState;
#[inline(always)]
pub fn report_gate_flags(rt_status: &RtStatusFlags, gate_state: GateState) {
match gate_state {
GateState::Closed => {
rt_status.set_flag(crate::common::spsc::RT_STATUS_IS_SILENT);
rt_status.clear_flag(crate::common::spsc::RT_STATUS_IS_FADING);
}
GateState::FadingIn | GateState::FadingOut => {
rt_status.clear_flag(crate::common::spsc::RT_STATUS_IS_SILENT);
rt_status.set_flag(crate::common::spsc::RT_STATUS_IS_FADING);
}
GateState::Open => {
rt_status.clear_flag(crate::common::spsc::RT_STATUS_IS_SILENT);
rt_status.clear_flag(crate::common::spsc::RT_STATUS_IS_FADING);
}
}
}