-LibraryConfig.pcm.Config {
-
- pcm.goxlr_stereo_out {
- @args [ CARD CHN0 CHN1 ]
- @args {
- CARD.type string
- CHN0.type integer
- CHN1.type integer
+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
}
- type dshare
- ipc_key 5678493
- ipc_perm 0600
- slave {
- pcm {
- type hw
- card $CARD
- device 0
- }
- channels 10
- }
- bindings.0 $CHN0
- bindings.1 $CHN1
- }
-
- pcm.goxlr_stereo_in {
- @args [ CARD CHN0 CHN1 ]
- @args {
- CARD.type string
- CHN0.type integer
- CHN1.type integer
- }
- type dsnoop
- ipc_key 5678593
- ipc_perm 0600
- slave {
- pcm {
- type hw
- card $CARD
- device 0
- }
- channels 23
- }
- bindings.0 $CHN0
- bindings.1 $CHN1
}
-
- pcm.goxlr_system {
- @args [ CARD ]
- @args.CARD.type string
- type empty
- slave.pcm {
- @func concat
- strings [ "goxlr_stereo_out:" $CARD ",0,1" ]
+ {
+ 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
}
}
-
- pcm.goxlr_game {
- @args [ CARD ]
- @args.CARD.type string
- type empty
- slave.pcm {
- @func concat
- strings [ "goxlr_stereo_out:" $CARD ",2,3" ]
- }
- }
-
- pcm.goxlr_chat {
- @args [ CARD ]
- @args.CARD.type string
- type empty
- slave.pcm {
- @func concat
- strings [ "goxlr_stereo_out:" $CARD ",4,5" ]
- }
- }
-
- pcm.goxlr_music {
- @args [ CARD ]
- @args.CARD.type string
- type empty
- slave.pcm {
- @func concat
- strings [ "goxlr_stereo_out:" $CARD ",6,7" ]
- }
- }
-
- pcm.goxlr_sample {
- @args [ CARD ]
- @args.CARD.type string
- type empty
- slave.pcm {
- @func concat
- strings [ "goxlr_stereo_out:" $CARD ",8,9" ]
- }
- }
-
- pcm.goxlr_mix {
- @args [ CARD ]
- @args.CARD.type string
- type empty
- slave.pcm {
- @func concat
- strings [ "goxlr_stereo_in:" $CARD ",0,1" ]
- }
- }
-
- pcm.goxlr_chatmic {
- @args [ CARD ]
- @args.CARD.type string
- type empty
- slave.pcm {
- @func concat
- strings [ "goxlr_stereo_in:" $CARD ",2,3" ]
- }
- }
-
- pcm.goxlr_sampler_input {
- @args [ CARD ]
- @args.CARD.type string
- type empty
- slave.pcm {
- @func concat
- strings [ "goxlr_stereo_in:" $CARD ",4,5" ]
- }
- }
-
-}
+]
SectionDevice."Speaker" {
Comment "System"
Value {
PlaybackPriority 100
- PlaybackPCM "goxlr_system:${CardId}"
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "goxlr_stereo_out"
+ Direction Playback
+ HWChannels 10
+ Channels 2
+ Channel0 0
+ Channel1 1
+ ChannelPos0 FL
+ ChannelPos1 FR
}
}
Value {
PlaybackPriority 300
- PlaybackPCM "goxlr_game:${CardId}"
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "goxlr_stereo_out"
+ Direction Playback
+ HWChannels 10
+ Channels 2
+ Channel0 2
+ Channel1 3
+ ChannelPos0 FL
+ ChannelPos1 FR
}
}
Value {
PlaybackPriority 400
- PlaybackPCM "goxlr_music:${CardId}"
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "goxlr_stereo_out"
+ Direction Playback
+ HWChannels 10
+ Channels 2
+ Channel0 6
+ Channel1 7
+ ChannelPos0 FL
+ ChannelPos1 FR
}
}
Value {
PlaybackPriority 200
- PlaybackPCM "goxlr_chat:${CardId}"
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "goxlr_stereo_out"
+ Direction Playback
+ HWChannels 10
+ Channels 2
+ Channel0 4
+ Channel1 5
+ ChannelPos0 FL
+ ChannelPos1 FR
}
}
Value {
PlaybackPriority 500
- PlaybackPCM "goxlr_sample:${CardId}"
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "goxlr_stereo_out"
+ Direction Playback
+ HWChannels 10
+ Channels 2
+ Channel0 8
+ Channel1 9
+ ChannelPos0 FL
+ ChannelPos1 FR
}
}
Value {
CapturePriority 200
- CapturePCM "goxlr_mix:${CardId}"
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "goxlr_stereo_in"
+ Direction Capture
+ HWChannels 23
+ Channels 2
+ Channel0 0
+ Channel1 1
+ ChannelPos0 FL
+ ChannelPos1 FR
}
}
Value {
CapturePriority 100
- CapturePCM "goxlr_chatmic:${CardId}"
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "goxlr_stereo_in"
+ Direction Capture
+ HWChannels 23
+ Channels 2
+ Channel0 2
+ Channel1 3
+ ChannelPos0 FL
+ ChannelPos1 FR
}
}
Value {
CapturePriority 300
- CapturePCM "goxlr_sampler_input:${CardId}"
+ }
+ Macro.pcm_split.SplitPCMDevice {
+ Name "goxlr_stereo_in"
+ Direction Capture
+ HWChannels 23
+ Channels 2
+ Channel0 4
+ Channel1 5
+ ChannelPos0 FL
+ ChannelPos1 FR
}
}
slave.pcm.chmap [ "${var:-__HWChannelPos3}" ]
}
}
+ If.pos4 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos4}"
+ }
+ False.LibraryConfig.pos4.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos4}" ]
+ }
+ }
+ If.pos5 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos5}"
+ }
+ False.LibraryConfig.pos4.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos5}" ]
+ }
+ }
+ If.pos6 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos6}"
+ }
+ False.LibraryConfig.pos6.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos6}" ]
+ }
+ }
+ If.pos7 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos7}"
+ }
+ False.LibraryConfig.pos7.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos7}" ]
+ }
+ }
+ If.pos8 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos8}"
+ }
+ False.LibraryConfig.pos8.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos8}" ]
+ }
+ }
+ If.pos9 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos9}"
+ }
+ False.LibraryConfig.pos9.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos9}" ]
+ }
+ }
+ If.pos10 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos10}"
+ }
+ False.LibraryConfig.pos10.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos10}" ]
+ }
+ }
+ If.pos11 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos11}"
+ }
+ False.LibraryConfig.pos11.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos11}" ]
+ }
+ }
+ If.pos12 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos12}"
+ }
+ False.LibraryConfig.pos12.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos12}" ]
+ }
+ }
+ If.pos13 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos13}"
+ }
+ False.LibraryConfig.pos13.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos13}" ]
+ }
+ }
+ If.pos14 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos14}"
+ }
+ False.LibraryConfig.pos14.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos14}" ]
+ }
+ }
+ If.pos15 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos15}"
+ }
+ False.LibraryConfig.pos15.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos15}" ]
+ }
+ }
+ If.pos16 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos16}"
+ }
+ False.LibraryConfig.pos16.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos16}" ]
+ }
+ }
+ If.pos17 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos17}"
+ }
+ False.LibraryConfig.pos17.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos17}" ]
+ }
+ }
+ If.pos18 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos18}"
+ }
+ False.LibraryConfig.pos18.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos18}" ]
+ }
+ }
+ If.pos19 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos19}"
+ }
+ False.LibraryConfig.pos19.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos19}" ]
+ }
+ }
+ If.pos20 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos20}"
+ }
+ False.LibraryConfig.pos20.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos20}" ]
+ }
+ }
+ If.pos21 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos21}"
+ }
+ False.LibraryConfig.pos21.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos21}" ]
+ }
+ }
+ If.pos22 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos22}"
+ }
+ False.LibraryConfig.pos22.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos22}" ]
+ }
+ }
+ If.pos23 {
+ Condition {
+ Type String
+ Empty "${var:-__HWChannelPos23}"
+ }
+ False.LibraryConfig.pos23.SubstiConfig.pcm."${var:__Name}" {
+ slave.pcm.chmap [ "${var:-__HWChannelPos23}" ]
+ }
+ }
If.ch1 {
Condition {