firewire_dice_protocols/presonus/
fstudioproject.rs

1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (c) 2021 Takashi Sakamoto
3
4//! Protocol implementation for PreSonus FireStudio Project.
5
6use super::tcat::{extension::*, tcd22xx_spec::*, *};
7
8/// Protocol implementation of PreSonus FireStudio Project.
9#[derive(Default, Debug)]
10pub struct FStudioProjectProtocol;
11
12impl TcatOperation for FStudioProjectProtocol {}
13
14impl TcatGlobalSectionSpecification for FStudioProjectProtocol {}
15
16impl TcatExtensionOperation for FStudioProjectProtocol {}
17
18impl Tcd22xxSpecification for FStudioProjectProtocol {
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: 8,
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        SrcBlk {
57            id: SrcBlkId::Ins0,
58            ch: 2,
59        },
60        SrcBlk {
61            id: SrcBlkId::Ins0,
62            ch: 3,
63        },
64        SrcBlk {
65            id: SrcBlkId::Ins0,
66            ch: 4,
67        },
68        SrcBlk {
69            id: SrcBlkId::Ins0,
70            ch: 5,
71        },
72        SrcBlk {
73            id: SrcBlkId::Ins0,
74            ch: 6,
75        },
76        SrcBlk {
77            id: SrcBlkId::Ins0,
78            ch: 7,
79        },
80    ];
81}