use super::*;
#[derive(Default, Debug)]
pub struct ScratchampClkProtocol;
impl MediaClockFrequencyOperation for ScratchampClkProtocol {
const FREQ_LIST: &'static [u32] = &[44100, 48000, 88200, 96000];
}
impl SamplingClockSourceOperation for ScratchampClkProtocol {
const DST: SignalAddr = SignalAddr::Subunit(SignalSubunitAddr {
subunit: MUSIC_SUBUNIT_0,
plug_id: 0x05,
});
const SRC_LIST: &'static [SignalAddr] = &[
SignalAddr::Subunit(SignalSubunitAddr {
subunit: MUSIC_SUBUNIT_0,
plug_id: 0x05,
}),
];
}
#[derive(Default, Debug)]
pub struct ScratchampOutputProtocol;
impl AvcAudioFeatureSpecification for ScratchampOutputProtocol {
const ENTRIES: &'static [(u8, AudioCh)] = &[
(0x01, AudioCh::Each(0)), (0x01, AudioCh::Each(1)), (0x02, AudioCh::Each(0)), (0x02, AudioCh::Each(1)), ];
}
impl AvcLevelOperation for ScratchampOutputProtocol {}
#[derive(Default, Debug)]
pub struct ScratchampHeadphoneProtocol;
impl AvcAudioFeatureSpecification for ScratchampHeadphoneProtocol {
const ENTRIES: &'static [(u8, AudioCh)] = &[
(0x03, AudioCh::Each(0)), (0x03, AudioCh::Each(1)), ];
}
impl AvcLevelOperation for ScratchampHeadphoneProtocol {}