firewire_dice_protocols/presonus/
fstudiotube.rs

1// SPDX-License-Identifier: LGPL-3.0-or-later
2// Copyright (c) 2023 Takashi Sakamoto
3
4//! Protocol implementation for PreSonus FireStudio Tube.
5
6use super::{tcat::extension::*, tcat::tcd22xx_spec::*, *};
7
8/// Protocol implementation of PreSonus FireStudio Tube.
9#[derive(Default, Debug)]
10pub struct FStudioTubeProtocol;
11
12impl TcatOperation for FStudioTubeProtocol {}
13
14impl TcatGlobalSectionSpecification for FStudioTubeProtocol {}
15
16impl TcatExtensionOperation for FStudioTubeProtocol {}
17
18impl Tcd22xxSpecification for FStudioTubeProtocol {
19    const INPUTS: &'static [Input] = &[Input {
20        id: SrcBlkId::Ins0,
21        offset: 0,
22        count: 16,
23        label: None,
24    }];
25    const OUTPUTS: &'static [Output] = &[Output {
26        id: DstBlkId::Ins0,
27        offset: 0,
28        count: 8,
29        label: None,
30    }];
31    // MEMO: Analog input 14/15 for Tube amplifier is always used for display metering ignoring
32    // router entries.
33    const FIXED: &'static [SrcBlk] = &[];
34}