firewire_dice_protocols/presonus/
fstudiomobile.rs

1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (c) 2021 Takashi Sakamoto
3
4//! Protocol implementation for PreSonus FireStudio Mobile.
5
6use super::{tcat::extension::*, tcat::tcd22xx_spec::*, *};
7
8/// Protocol implementation of PreSonus FireStudio Mobile.
9#[derive(Default, Debug)]
10pub struct FStudioMobileProtocol;
11
12impl TcatOperation for FStudioMobileProtocol {}
13
14impl TcatGlobalSectionSpecification for FStudioMobileProtocol {}
15
16impl TcatExtensionOperation for FStudioMobileProtocol {}
17
18impl Tcd22xxSpecification for FStudioMobileProtocol {
19    const INPUTS: &'static [Input] = &[
20        Input {
21            id: SrcBlkId::Ins0,
22            offset: 0,
23            count: 8,
24            label: None,
25        },
26        Input {
27            id: SrcBlkId::Aes,
28            offset: 2,
29            count: 2,
30            label: Some("S/PDIF"),
31        },
32    ];
33    const OUTPUTS: &'static [Output] = &[
34        Output {
35            id: DstBlkId::Ins0,
36            offset: 0,
37            count: 4,
38            label: None,
39        },
40        Output {
41            id: DstBlkId::Aes,
42            offset: 2,
43            count: 2,
44            label: Some("S/PDIF"),
45        },
46    ];
47    const FIXED: &'static [SrcBlk] = &[
48        SrcBlk {
49            id: SrcBlkId::Ins0,
50            ch: 0,
51        },
52        SrcBlk {
53            id: SrcBlkId::Ins0,
54            ch: 1,
55        },
56    ];
57}