}
# Digital (Professional) Inputs
+#
+# Gen 1/2 have 18 capture channels (ADAT 1-6), Gen 3+ have 20 (ADAT 1-8).
+# Channel indices 18-19 are out of bounds when DirectCaptureChannels is 18,
+# so conditionally size the ADAT capture device.
+
+If.adat_in_18ch {
+ Condition {
+ Type String
+ String1 "${var:DirectCaptureChannels}"
+ String2 "18"
+ }
+ True.SectionDevice."Direct 2" {
+ Comment "ADAT Optical Input"
+
+ Value {
+ CapturePriority 48
+ }
-SectionDevice."Direct 2" {
- Comment "ADAT Optical Input"
-
- Value {
- CapturePriority 48
+ Macro.pcm_split.SplitPCMDevice {
+ Name "18i20_adat_in"
+ Direction Capture
+ HWChannels "${var:DirectCaptureChannels}"
+ Channels 6
+ Channel0 12
+ Channel1 13
+ Channel2 14
+ Channel3 15
+ Channel4 16
+ Channel5 17
+ ChannelPos0 UNKNOWN
+ ChannelPos1 UNKNOWN
+ ChannelPos2 UNKNOWN
+ ChannelPos3 UNKNOWN
+ ChannelPos4 UNKNOWN
+ ChannelPos5 UNKNOWN
+ }
}
+ False.SectionDevice."Direct 2" {
+ Comment "ADAT Optical Input"
- Macro.pcm_split.SplitPCMDevice {
- Name "18i20_adat_in"
- Direction Capture
- HWChannels "${var:DirectCaptureChannels}"
- Channels 8
- Channel0 12
- Channel1 13
- Channel2 14
- Channel3 15
- Channel4 16
- Channel5 17
- Channel6 18
- Channel7 19
- ChannelPos0 UNKNOWN
- ChannelPos1 UNKNOWN
- ChannelPos2 UNKNOWN
- ChannelPos3 UNKNOWN
- ChannelPos4 UNKNOWN
- ChannelPos5 UNKNOWN
- ChannelPos6 UNKNOWN
- ChannelPos7 UNKNOWN
+ Value {
+ CapturePriority 48
+ }
+
+ Macro.pcm_split.SplitPCMDevice {
+ Name "18i20_adat_in"
+ Direction Capture
+ HWChannels "${var:DirectCaptureChannels}"
+ Channels 8
+ Channel0 12
+ Channel1 13
+ Channel2 14
+ Channel3 15
+ Channel4 16
+ Channel5 17
+ Channel6 18
+ Channel7 19
+ ChannelPos0 UNKNOWN
+ ChannelPos1 UNKNOWN
+ ChannelPos2 UNKNOWN
+ ChannelPos3 UNKNOWN
+ ChannelPos4 UNKNOWN
+ ChannelPos5 UNKNOWN
+ ChannelPos6 UNKNOWN
+ ChannelPos7 UNKNOWN
+ }
}
}