]> git.alsa-project.org Git - alsa-ucm-conf.git/commitdiff
USB-Audio: Arturia Minifuse 2 - rewrite to use the SplitPCM macros
authorJaroslav Kysela <perex@perex.cz>
Mon, 23 May 2022 12:34:50 +0000 (14:34 +0200)
committerJaroslav Kysela <perex@perex.cz>
Fri, 27 May 2022 08:18:14 +0000 (10:18 +0200)
More minor cleanups:

- use the standard UCM device names (see use-case.h)
- add ConflictingDevice to Mic1 and Mic2
- try to avoid duplicate priorities

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2/USB-Audio/Arturia/Minifuse-2-HiFi.conf

index 282fb5eea83e27de9e79ae3869915371968b4dd6..13432208f7df0e821799a60575d10bd2b065364b 100644 (file)
-LibraryConfig.pcm.Config {
-
-       pcm.minifuse2_stereo_p {
-               @args [ CARD CHN0 CHN1 ]
-               @args {
-                       CARD.type string
-                       CHN0.type integer
-                       CHN1.type integer
-               }
-               type dshare
-               ipc_key 583542
-               slave {
-                       pcm {
-                               type hw
-                               card $CARD
-                               device 0
-                       }
-                       channels 4
+Include.pcm_split.File "/common/pcm/split.conf"
+
+Macro [
+       {
+               SplitPCM {
+                       Name "minifuse2_stereo_out"
+                       Direction Playback
+                       Channels 2
+                       HWChannels 4
+                       HWChannelPos0 FL
+                       HWChannelPos1 FR
+                       HWChannelPos2 FL
+                       HWChannelPos3 FR
                }
-               bindings.0 $CHN0
-               bindings.1 $CHN1
        }
-
-       pcm.minifuse2_stereo_c {
-               @args [ CARD CHN0 CHN1 ]
-               @args {
-                       CARD.type string
-                       CHN0.type integer
-                       CHN1.type integer
+       {
+               SplitPCM {
+                       Name "minifuse2_stereo_in"
+                       Direction Capture
+                       Channels 2
+                       HWChannels 4
+                       HWChannelPos0 FL
+                       HWChannelPos1 FR
+                       HWChannelPos2 FL
+                       HWChannelPos3 FR
                }
-               type dsnoop
-               ipc_key 583542
-               slave {
-                       pcm {
-                               type hw
-                               card $CARD
-                               device 0
-                       }
-                       channels 4
-               }
-               bindings.0 $CHN0
-               bindings.1 $CHN1
        }
-
-       pcm.minifuse2_mono_c {
-               @args [ CARD CHN0 ]
-               @args {
-                       CARD.type string
-                       CHN0.type integer
-               }
-               type dsnoop
-               ipc_key 583542
-               slave {
-                       pcm {
-                               type hw
-                               card $CARD
-                               device 0
-                       }
-                       channels 4
+       {
+               SplitPCM {
+                       Name "minifuse2_mono_in"
+                       Direction Capture
+                       Channels 1
+                       HWChannels 4
+                       HWChannelPos0 MONO
+                       HWChannelPos1 MONO
+                       HWChannelPos2 MONO
+                       HWChannelPos3 MONO
                }
-               bindings.0 $CHN0
        }
+]
 
-       pcm.minifuse2_main_p {
-               @args [ CARD ]
-               @args.CARD.type string
-               type empty
-               slave.pcm {
-                       @func concat
-                       strings [ "minifuse2_stereo_p:" $CARD ",0,1" ]
-               }
-       }
-
-       pcm.minifuse2_loopback_p {
-               @args [ CARD ]
-               @args.CARD.type string
-               type empty
-               slave.pcm {
-                       @func concat
-                       strings [ "minifuse2_stereo_p:" $CARD ",2,3" ]
-               }
-       }
+SectionDevice."Line1" {
+       Comment "Main Output L/R"
 
-       pcm.minifuse2_loopback_c {
-               @args [ CARD ]
-               @args.CARD.type string
-               type empty
-               slave.pcm {
-                       @func concat
-                       strings [ "minifuse2_stereo_c:" $CARD ",2,3" ]
-               }
-       }
-
-       pcm.minifuse2_mic1_c {
-               @args [ CARD ]
-               @args.CARD.type string
-               type empty
-               slave.pcm {
-                       @func concat
-                       strings [ "minifuse2_mono_c:" $CARD ",0" ]
-               }
-       }
-
-       pcm.minifuse2_mic2_c {
-               @args [ CARD ]
-               @args.CARD.type string
-               type empty
-               slave.pcm {
-                       @func concat
-                       strings [ "minifuse2_mono_c:" $CARD ",1" ]
-               }
-       }
-
-       pcm.minifuse2_combo_c {
-               @args [ CARD ]
-               @args.CARD.type string
-               type empty
-               slave.pcm {
-                       @func concat
-                       strings [ "minifuse2_stereo_c:" $CARD ",0,1" ]
-               }
-       }
-}
-
-SectionDevice."Main" {
-       Comment "Main Playback L/R"
        Value {
                PlaybackPriority 300
-               PlaybackChannels 2
-               PlaybackPCM "minifuse2_main_p:${CardId}"
        }
-}
-
-SectionDevice."Loopback_p" {
-       Comment "Loopback Playback L/R"
-       Value {
-               PlaybackPriority 200
-               PlaybackChannels 2
-               PlaybackPCM "minifuse2_loopback_p:${CardId}"
+       Macro.pcm_split.SplitPCMDevice {
+               Name "minifuse2_stereo_out"
+               Direction Playback
+               HWChannels 4
+               Channels 2
+               Channel0 0
+               Channel1 1
+               ChannelPos0 FL
+               ChannelPos1 FR
        }
 }
 
-SectionDevice."Loopback_c" {
-       Comment "Loopback Capture L/R"
+SectionDevice."Line2" {
+       Comment "Loopback L/R"
+
        Value {
+               PlaybackPriority 200
                CapturePriority 200
-               CaptureChannels 2
-               CapturePCM "minifuse2_loopback_c:${CardId}"
+       }
+       Macro.pcm_split1.SplitPCMDevice {
+               Name "minifuse2_stereo_out"
+               Direction Playback
+               HWChannels 4
+               Channels 2
+               Channel0 2
+               Channel1 3
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+       Macro.pcm_split2.SplitPCMDevice {
+               Name "minifuse2_stereo_in"
+               Direction Capture
+               HWChannels 4
+               Channels 2
+               Channel0 2
+               Channel1 3
+               ChannelPos0 FL
+               ChannelPos1 FR
        }
 }
 
-SectionDevice."Combo_c" {
-       Comment "Stereo Capture 1+2 L/R"
+SectionDevice."Line3" {
+       Comment "Stereo Input 1+2 L/R"
+
        Value {
                CapturePriority 100
-               CaptureChannels 2
-               CapturePCM "minifuse2_combo_c:${CardId}"
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "minifuse2_stereo_in"
+               Direction Capture
+               HWChannels 4
+               Channels 2
+               Channel0 0
+               Channel1 1
+               ChannelPos0 FL
+               ChannelPos1 FR
        }
 }
 
 SectionDevice."Mic1" {
        Comment "Mic/Line/Inst 1 (L)"
 
+       ConflictingDevice [
+               "Line3"
+       ]
+
        Value {
-               CapturePriority 300
-               CaptureChannels 1
-               CapturePCM "minifuse2_mic1_c:${CardId}"
+               CapturePriority 400
+       }
+       Macro.pcm_split2.SplitPCMDevice {
+               Name "minifuse2_mono_in"
+               Direction Capture
+               HWChannels 4
+               Channels 1
+               Channel0 0
+               ChannelPos0 MONO
        }
 }
 
 SectionDevice."Mic2" {
        Comment "Mic/Line/Inst 2 (R)"
 
+       ConflictingDevice [
+               "Line3"
+       ]
+
        Value {
-               CapturePriority 200
-               CaptureChannels 1
-               CapturePCM "minifuse2_mic2_c:${CardId}"
+               CapturePriority 300
+       }
+       Macro.pcm_split2.SplitPCMDevice {
+               Name "minifuse2_mono_in"
+               Direction Capture
+               HWChannels 4
+               Channels 1
+               Channel0 1
+               ChannelPos0 MONO
        }
 }