]> git.alsa-project.org Git - alsa-ucm-conf.git/commitdiff
GoXLR: rewrite to use the SplitPCM macros
authorJaroslav Kysela <perex@perex.cz>
Tue, 24 May 2022 13:36:13 +0000 (15:36 +0200)
committerJaroslav Kysela <perex@perex.cz>
Fri, 27 May 2022 08:17:16 +0000 (10:17 +0200)
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2/USB-Audio/GoXLR/GoXLR-HiFi.conf
ucm2/common/pcm/split.conf

index 343fbccc654299c6b8124ad99e3f3a573707b2b1..8c12f53d8ffba921f89de331f07b175d991e5b61 100644 (file)
-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
        }
 }
 
@@ -140,7 +75,16 @@ SectionDevice."Line1" {
 
        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
        }
 }
 
@@ -149,7 +93,16 @@ SectionDevice."Line2" {
 
        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
        }
 }
 
@@ -158,7 +111,16 @@ SectionDevice."Headphones" {
 
        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
        }
 }
 
@@ -167,7 +129,16 @@ SectionDevice."Line3" {
 
        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
        }
 }
 
@@ -176,7 +147,16 @@ SectionDevice."Line4" {
 
        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
        }
 }
 
@@ -185,7 +165,16 @@ SectionDevice."Headset" {
 
        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
        }
 }
 
@@ -194,6 +183,15 @@ SectionDevice."Line5" {
 
        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
        }
 }
index b0596c121bc578f4c5b9f8bbbe34e8726c9ad22c..95a65b55c0cf7d790f133404f465fdb73f4f60d8 100644 (file)
@@ -71,6 +71,186 @@ DefineMacro.SplitPCM.If.0 {
                                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 {