--- /dev/null
+Include.pcm_split.File "/common/pcm/split.conf"
+
+Macro [
+ {
+ SplitPCM {
+ Name "scarlett2i_mono_in"
+ Direction Capture
+ Format S32_LE
+ Channels 1
+ HWChannels 4
+ HWChannelPos0 MONO
+ HWChannelPos1 MONO
+ }
+ }
+ {
+ SplitPCM {
+ Name "scarlett2i_stereo_in"
+ Direction Capture
+ Format S32_LE
+ Channels 2
+ HWChannels 4
+ HWChannelPos0 MONO
+ HWChannelPos1 MONO
+ HWChannelPos2 FL
+ HWChannelPos3 FR
+ }
+ }
+]
+
+SectionDevice."Line1" {
+ Comment "${var:Playback1Name}"
+
+ Value {
+ PlaybackPriority 200
+ PlaybackPCM "hw:${CardId}"
+ }
+}
+
+SectionDevice."Mic1" {
+ Comment "${var:Capture1Name}"
+
+ Value {
+ CapturePriority 500
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "scarlett2i_mono_in"
+ Direction Capture
+ HWChannels 4
+ Channels 1
+ Channel0 0
+ ChannelPos0 MONO
+ }
+}
+
+SectionDevice."Mic2" {
+ Comment "${var:Capture2Name}"
+
+ Value {
+ CapturePriority 400
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "scarlett2i_mono_in"
+ Direction Capture
+ HWChannels 4
+ Channels 1
+ Channel0 1
+ ChannelPos0 MONO
+ }
+}
+
+SectionDevice."Line2" {
+ Comment "Monitor Input 3+4 (stereo)"
+
+ ConflictingDevice [
+ "Line3"
+ "Line4"
+ ]
+
+ Value {
+ CapturePriority 300
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "scarlett2i_stereo_in"
+ Direction Capture
+ HWChannels 4
+ Channels 2
+ Channel0 2
+ Channel1 3
+ ChannelPos0 FL
+ ChannelPos1 FR
+ }
+}
+
+SectionDevice."Line3" {
+ Comment "Monitor Input 3"
+
+ Value {
+ CapturePriority 200
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "scarlett2i_mono_in"
+ Direction Capture
+ HWChannels 4
+ Channels 1
+ Channel0 2
+ ChannelPos0 MONO
+ }
+}
+
+SectionDevice."Line4" {
+ Comment "Monitor Input 4"
+
+ Value {
+ CapturePriority 100
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "scarlett2i_mono_in"
+ Direction Capture
+ HWChannels 4
+ Channels 1
+ Channel0 3
+ ChannelPos0 MONO
+ }
+}
Define {
PlaybackChannels 2
- DirectPlaybackChannels 2
- DirectCaptureChannels 2
+ CaptureChannels 2
Model "2i2"
Playback1Name "Headphones / Line 1-2"
Playback2Name "Line 3-4"
Capture1Name "Input 1 Mic/Inst/Line"
Capture2Name "Input 2 Mic/Inst/Line"
+ CaptureMonitor ""
Generation "1st"
+ Profile "Scarlett-2i-HiFi"
}
If.solo {
True.Define.Generation "3rd"
}
-If.gen4 {
+If.gen4-solo {
Condition {
Type RegexMatch
String "${CardComponents}"
- Regex "USB1235:821[89]"
+ Regex "USB1235:8218"
+ }
+ True.Define {
+ Generation "4th"
+ Capture1Name "Input 1 Inst/Line"
+ Capture2Name "Input 2 Mic"
+ CaptureChannels 4
+ Profile "Scarlett-2i-gen4-HiFi"
+ }
+}
+
+If.gen4-2i2 {
+ Condition {
+ Type RegexMatch
+ String "${CardComponents}"
+ Regex "USB1235:8219"
+ }
+ True.Define {
+ Generation "4th"
+ CaptureChannels 4
+ Profile "Scarlett-2i-gen4-HiFi"
}
- True.Define.Generation "4th"
}
Comment "Focusrite Scarlett ${var:Model} ${var:Generation} Gen"
SectionUseCase."HiFi" {
Comment "Default"
- File "/USB-Audio/Focusrite/Scarlett-2i-HiFi.conf"
+ File "/USB-Audio/Focusrite/${var:Profile}.conf"
+}
+
+If.dhw {
+ Condition { Type AlwaysTrue }
+ True.Define {
+ DirectPlaybackChannels "${var:PlaybackChannels}"
+ DirectCaptureChannels "${var:CaptureChannels}"
+ }
}
Include.dhw.File "/common/direct.conf"