Direction Playback
Format S24_3LE
Channels 2
- HWChannels 20
+ HWChannels "${var:DirectPlaybackChannels}"
HWChannelPos0 FL
HWChannelPos1 FR
HWChannelPos2 FL
Direction Capture
Format S24_3LE
Channels 1
- HWChannels 20
+ HWChannels "${var:DirectCaptureChannels}"
HWChannelPos0 MONO
HWChannelPos1 MONO
HWChannelPos2 MONO
Direction Capture
Format S24_3LE
Channels 2
- HWChannels 20
+ HWChannels "${var:DirectCaptureChannels}"
HWChannelPos0 FL
HWChannelPos1 FR
HWChannelPos2 FL
Direction Playback
Format S24_3LE
Channels 8
- HWChannels 20
+ HWChannels "${var:DirectPlaybackChannels}"
HWChannelPos0 UNKNOWN
HWChannelPos1 UNKNOWN
HWChannelPos2 UNKNOWN
Direction Capture
Format S24_3LE
Channels 8
- HWChannels 20
+ HWChannels "${var:DirectCaptureChannels}"
HWChannelPos0 UNKNOWN
HWChannelPos1 UNKNOWN
HWChannelPos2 UNKNOWN
Macro.pcm_split.SplitPCMDevice {
Name "18i20_stereo_out"
Direction Playback
- HWChannels 20
+ HWChannels "${var:DirectPlaybackChannels}"
Channels 2
Channel0 6
Channel1 7
Macro.pcm_split.SplitPCMDevice {
Name "18i20_stereo_out"
Direction Playback
- HWChannels 20
+ HWChannels "${var:DirectPlaybackChannels}"
Channels 2
Channel0 8
Channel1 9
Macro.pcm_split.SplitPCMDevice {
Name "18i20_stereo_out"
Direction Playback
- HWChannels 20
+ HWChannels "${var:DirectPlaybackChannels}"
Channels 2
Channel0 0
Channel1 1
Macro.pcm_split.SplitPCMDevice {
Name "18i20_stereo_out"
Direction Playback
- HWChannels 20
+ HWChannels "${var:DirectPlaybackChannels}"
Channels 2
Channel0 2
Channel1 3
Macro.pcm_split.SplitPCMDevice {
Name "18i20_stereo_out"
Direction Playback
- HWChannels 20
+ HWChannels "${var:DirectPlaybackChannels}"
Channels 2
Channel0 4
Channel1 5
Macro.pcm_split.SplitPCMDevice {
Name "18i20_stereo_out"
Direction Playback
- HWChannels 20
+ HWChannels "${var:DirectPlaybackChannels}"
Channels 2
Channel0 6
Channel1 7
Macro.pcm_split.SplitPCMDevice {
Name "18i20_stereo_out"
Direction Playback
- HWChannels 20
+ HWChannels "${var:DirectPlaybackChannels}"
Channels 2
Channel0 8
Channel1 9
Macro.pcm_split.SplitPCMDevice {
Name "18i20_mono_in"
Direction Capture
- HWChannels 20
+ HWChannels "${var:DirectCaptureChannels}"
Channels 1
Channel0 0
ChannelPos0 MONO
Macro.pcm_split.SplitPCMDevice {
Name "18i20_mono_in"
Direction Capture
- HWChannels 20
+ HWChannels "${var:DirectCaptureChannels}"
Channels 1
Channel0 1
ChannelPos0 MONO
Macro.pcm_split.SplitPCMDevice {
Name "18i20_mono_in"
Direction Capture
- HWChannels 20
+ HWChannels "${var:DirectCaptureChannels}"
Channels 1
Channel0 2
ChannelPos0 MONO
Macro.pcm_split.SplitPCMDevice {
Name "18i20_mono_in"
Direction Capture
- HWChannels 20
+ HWChannels "${var:DirectCaptureChannels}"
Channels 1
Channel0 3
ChannelPos0 MONO
Macro.pcm_split.SplitPCMDevice {
Name "18i20_mono_in"
Direction Capture
- HWChannels 20
+ HWChannels "${var:DirectCaptureChannels}"
Channels 1
Channel0 4
ChannelPos0 MONO
Macro.pcm_split.SplitPCMDevice {
Name "18i20_mono_in"
Direction Capture
- HWChannels 20
+ HWChannels "${var:DirectCaptureChannels}"
Channels 1
Channel0 5
ChannelPos0 MONO
Macro.pcm_split.SplitPCMDevice {
Name "18i20_mono_in"
Direction Capture
- HWChannels 20
+ HWChannels "${var:DirectCaptureChannels}"
Channels 1
Channel0 6
ChannelPos0 MONO
Macro.pcm_split.SplitPCMDevice {
Name "18i20_mono_in"
Direction Capture
- HWChannels 20
+ HWChannels "${var:DirectCaptureChannels}"
Channels 1
Channel0 7
ChannelPos0 MONO
Macro.pcm_split.SplitPCMDevice {
Name "18i20_stereo_out"
Direction Playback
- HWChannels 20
+ HWChannels "${var:DirectPlaybackChannels}"
Channels 2
Channel0 10
Channel1 11
Macro.pcm_split.SplitPCMDevice {
Name "18i20_adat_out"
Direction Playback
- HWChannels 20
+ HWChannels "${var:DirectPlaybackChannels}"
Channels 8
Channel0 12
Channel1 13
Macro.pcm_split.SplitPCMDevice {
Name "18i20_mono_in"
Direction Capture
- HWChannels 20
+ HWChannels "${var:DirectCaptureChannels}"
Channels 1
Channel0 10
ChannelPos0 MONO
Macro.pcm_split.SplitPCMDevice {
Name "18i20_mono_in"
Direction Capture
- HWChannels 20
+ HWChannels "${var:DirectCaptureChannels}"
Channels 1
Channel0 11
ChannelPos0 MONO
Macro.pcm_split.SplitPCMDevice {
Name "18i20_adat_in"
Direction Capture
- HWChannels 20
+ HWChannels "${var:DirectCaptureChannels}"
Channels 8
Channel0 12
Channel1 13
-# The 18i20 provides 20 playback and capture channels each:
+# The 18i20 provides 20 playback and 18 or 20 capture channels each:
#
# +----+---------------+-----------------+
# | Ch | Inputs | Outputs |
#
Define.Generation "1st"
+Define.DirectPlaybackChannels 20
+Define.DirectCaptureChannels 20 # fallback; overridden per generation
+
+If.gen1 {
+ Condition {
+ Type RegexMatch
+ String "${CardComponents}"
+ Regex "USB1235:800c"
+ }
+ True.Define {
+ DirectCaptureChannels 18
+ }
+}
If.gen2 {
Condition {
String "${CardComponents}"
Regex "USB1235:8201"
}
- True.Define.Generation "2nd"
+ True.Define {
+ Generation "2nd"
+ DirectCaptureChannels 18
+ }
}
If.gen3 {
String "${CardComponents}"
Regex "USB1235:8215"
}
- True.Define.Generation "3rd"
+ True.Define {
+ Generation "3rd"
+ DirectCaptureChannels 20
+ }
}
If.gen4 {
String "${CardComponents}"
Regex "USB1235:821d"
}
- True.Define.Generation "4th"
+ True.Define {
+ Generation "4th"
+ DirectCaptureChannels 20
+ }
}
Comment "Focusrite Scarlett 18i20 ${var:Generation} Gen"
File "/USB-Audio/Focusrite/Scarlett-18i20-HiFi.conf"
}
-Define.DirectPlaybackChannels 20
-Define.DirectCaptureChannels 20
-
Include.dhw.File "/common/direct.conf"