use super::*;
#[derive(Default, Debug)]
pub struct AureonClkProtocol;
impl MediaClockFrequencyOperation for AureonClkProtocol {
const FREQ_LIST: &'static [u32] = &[32000, 44100, 48000, 88200, 96000, 192000];
}
impl SamplingClockSourceOperation for AureonClkProtocol {
const DST: SignalAddr = SignalAddr::Subunit(SignalSubunitAddr {
subunit: MUSIC_SUBUNIT_0,
plug_id: 0x03,
});
const SRC_LIST: &'static [SignalAddr] = &[
SignalAddr::Subunit(SignalSubunitAddr {
subunit: MUSIC_SUBUNIT_0,
plug_id: 0x03,
}),
];
}
#[derive(Default, Debug)]
pub struct AureonMixerOutputProtocol;
impl AvcAudioFeatureSpecification for AureonMixerOutputProtocol {
const ENTRIES: &'static [(u8, AudioCh)] = &[
(0x01, AudioCh::Each(0)), (0x01, AudioCh::Each(1)), (0x01, AudioCh::Each(2)), (0x01, AudioCh::Each(3)), (0x01, AudioCh::Each(4)), (0x01, AudioCh::Each(5)), (0x01, AudioCh::Each(6)), (0x01, AudioCh::Each(7)), ];
}
impl AvcLevelOperation for AureonMixerOutputProtocol {}
impl AvcMuteOperation for AureonMixerOutputProtocol {}
#[derive(Default, Debug)]
pub struct AureonPhysInputProtocol;
impl AvcAudioFeatureSpecification for AureonPhysInputProtocol {
const ENTRIES: &'static [(u8, AudioCh)] = &[
(0x02, AudioCh::Master), (0x03, AudioCh::Master), ];
}
impl AvcLevelOperation for AureonPhysInputProtocol {}
#[derive(Default, Debug)]
pub struct AureonMonitorSourceProtocol;
impl AvcSelectorOperation for AureonMonitorSourceProtocol {
const FUNC_BLOCK_ID_LIST: &'static [u8] = &[0x01];
const INPUT_PLUG_ID_LIST: &'static [u8] = &[0x00, 0x01, 0x02, 0x03];
}
#[derive(Default, Debug)]
pub struct AureonMonitorOutputProtocol;
impl AvcAudioFeatureSpecification for AureonMonitorOutputProtocol {
const ENTRIES: &'static [(u8, AudioCh)] = &[
(0x04, AudioCh::Master), ];
}
impl AvcLevelOperation for AureonMonitorOutputProtocol {}
impl AvcMuteOperation for AureonMonitorOutputProtocol {}
#[derive(Default, Debug)]
pub struct AureonSpdifOutputProtocol;
impl AvcSelectorOperation for AureonSpdifOutputProtocol {
const FUNC_BLOCK_ID_LIST: &'static [u8] = &[0x02];
const INPUT_PLUG_ID_LIST: &'static [u8] = &[0x00, 0x01];
}