Include.pcm_split.File "/common/pcm/split.conf"
-Macro [
- {
- SplitPCM {
- Name "goxlr_stereo_out"
- Direction Playback
- Channels 2
- HWChannels 10
- HWChannelPos0 FL
- HWChannelPos1 FR
- HWChannelPos2 FL
- HWChannelPos3 FR
- HWChannelPos4 FL
- HWChannelPos5 FR
- HWChannelPos6 FL
- HWChannelPos7 FR
- HWChannelPos8 FL
- HWChannelPos9 FR
- }
- }
- {
- SplitPCM {
- Name "goxlr_stereo_in"
- Direction Capture
- Channels 2
- HWChannels 23
- HWChannelPos0 FL
- HWChannelPos1 FR
- HWChannelPos2 FL
- HWChannelPos3 FR
- HWChannelPos4 FL
- HWChannelPos5 FR
- HWChannelPos6 FL
- HWChannelPos7 FR
- HWChannelPos8 FL
- HWChannelPos9 FR
- HWChannelPos10 FL
- HWChannelPos11 FR
- HWChannelPos12 FL
- HWChannelPos13 FR
- HWChannelPos14 FL
- HWChannelPos15 FR
- HWChannelPos16 FL
- HWChannelPos17 FR
- HWChannelPos18 FL
- HWChannelPos19 FR
- HWChannelPos20 FL
- HWChannelPos21 FR
- HWChannelPos22 MONO
- }
- }
-]
+Macro.playback.SplitPCM {
+ Name "goxlr_stereo_out"
+ Direction Playback
+ Channels 2
+ HWChannels "${var:PlaybackChannels}"
+ HWChannelPos0 FL
+ HWChannelPos1 FR
+ HWChannelPos2 FL
+ HWChannelPos3 FR
+ HWChannelPos4 FL
+ HWChannelPos5 FR
+ HWChannelPos6 FL
+ HWChannelPos7 FR
+ HWChannelPos8 FL
+ HWChannelPos9 FR
+}
+
+Macro.capture.SplitPCM {
+ Name "goxlr_stereo_in"
+ Direction Capture
+ Channels 2
+ HWChannels "${var:CaptureChannels}"
+ HWChannelPos0 FL
+ HWChannelPos1 FR
+ HWChannelPos2 FL
+ HWChannelPos3 FR
+ HWChannelPos4 FL
+ HWChannelPos5 FR
+ HWChannelPos6 FL
+ HWChannelPos7 FR
+ HWChannelPos8 FL
+ HWChannelPos9 FR
+ HWChannelPos10 FL
+ HWChannelPos11 FR
+ HWChannelPos12 FL
+ HWChannelPos13 FR
+ HWChannelPos14 FL
+ HWChannelPos15 FR
+ HWChannelPos16 FL
+ HWChannelPos17 FR
+ HWChannelPos18 FL
+ HWChannelPos19 FR
+ HWChannelPos20 MONO # mini ends here
+ HWChannelPos21 MONO
+ HWChannelPos22 MONO # standard firmware ends here
+ HWChannelPos23 FL
+ HWChannelPos24 FR # beta firmware ends here
+}
SectionDevice."Speaker" {
Comment "System"
Macro.pcm_split.SplitPCMDevice {
Name "goxlr_stereo_out"
Direction Playback
- HWChannels 10
+ HWChannels "${var:PlaybackChannels}"
Channels 2
Channel0 0
Channel1 1
Macro.pcm_split.SplitPCMDevice {
Name "goxlr_stereo_out"
Direction Playback
- HWChannels 10
+ HWChannels "${var:PlaybackChannels}"
Channels 2
Channel0 2
Channel1 3
Macro.pcm_split.SplitPCMDevice {
Name "goxlr_stereo_out"
Direction Playback
- HWChannels 10
+ HWChannels "${var:PlaybackChannels}"
Channels 2
Channel0 6
Channel1 7
Macro.pcm_split.SplitPCMDevice {
Name "goxlr_stereo_out"
Direction Playback
- HWChannels 10
+ HWChannels "${var:PlaybackChannels}"
Channels 2
Channel0 4
Channel1 5
Macro.pcm_split.SplitPCMDevice {
Name "goxlr_stereo_out"
Direction Playback
- HWChannels 10
+ HWChannels "${var:PlaybackChannels}"
Channels 2
Channel0 8
Channel1 9
Macro.pcm_split.SplitPCMDevice {
Name "goxlr_stereo_in"
Direction Capture
- HWChannels 23
+ HWChannels "${var:CaptureChannels}"
Channels 2
Channel0 0
Channel1 1
Macro.pcm_split.SplitPCMDevice {
Name "goxlr_stereo_in"
Direction Capture
- HWChannels 23
+ HWChannels "${var:CaptureChannels}"
Channels 2
Channel0 2
Channel1 3
Macro.pcm_split.SplitPCMDevice {
Name "goxlr_stereo_in"
Direction Capture
- HWChannels 23
+ HWChannels "${var:CaptureChannels}"
Channels 2
Channel0 4
Channel1 5
-Comment "GoXLR USB-Audio"
+Define {
+ PlaybackChannels 10
+ CaptureChannels 23 # change to 25 for beta firmware
+ Model "GoXLR"
+}
+
+If.mini {
+ Condition {
+ Type RegexMatch
+ String "${CardComponents}"
+ Regex "USB1220:8fe4"
+ }
+ True.Define {
+ Model "GoXLR Mini"
+ CaptureChannels 21
+ }
+}
+
+If.beta {
+ Condition {
+ Type String
+ # alsa-lib 1.2.14+ (Syntax 8) is required to support this!
+ # String1 "${sys-card:[type=hex,pos=0x9c]device/../descriptors}"
+ String1 ""
+ String2 "19" # 0x19 == 25
+ }
+ True.Define {
+ CaptureChannels 25
+ }
+}
+
+Comment "${var:Model} USB"
SectionUseCase."HiFi" {
Comment "Default Alsa Profile"
File "/USB-Audio/GoXLR/GoXLR-HiFi.conf"
}
-Define.DirectPlaybackChannels 10
-Define.DirectCaptureChannels 23
+If.direct {
+ Condition { Type AlwaysTrue }
+ True {
+ Define.DirectPlaybackChannels "${var:PlaybackChannels}"
+ Define.DirectCaptureChannels "${var:CaptureChannels}"
+ }
+}
Include.dhw.File "/common/direct.conf"