]> git.alsa-project.org Git - alsa-ucm-conf.git/commitdiff
UR44: Add stereo inputs to the HiFi profile, relabel the inputs and outputs
authorPetr Mrázek <peterix@gmail.com>
Tue, 24 Jun 2025 15:23:43 +0000 (17:23 +0200)
committerJaroslav Kysela <perex@perex.cz>
Tue, 23 Sep 2025 10:15:47 +0000 (12:15 +0200)
I relabeled the 'line outs' as Mix 1 and 2, because that is what is accessible to a computer.
Mix 1 and 2 are not necessarily mapped to any output.

The inputs are named after where they are on the device (Front, Back)

The device is internally complex and needs quite a bit of reverse
engineering to fully expose its functionality on linux and will
need dedicated software to be written, but this at least makes
it usable on a basic level.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/584
Signed-off-by: Petr Mrázek <peterix@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2/USB-Audio/Steinberg/UR44-HiFi.conf

index 7926a0feacd1a8da6b78668dcee767ff40b965c0..5c1fd7e114162690b9d91302e69d51ec73abbfe6 100644 (file)
@@ -13,6 +13,20 @@ Macro [
                        HWChannelPos3 FR
                }
        }
+       {
+               SplitPCM {
+                       Name "steinberg_ur44_stereo_in"
+                       Direction Capture
+                       Channels 2
+                       HWChannels 6
+                       HWChannelPos0 FL
+                       HWChannelPos1 FR
+                       HWChannelPos2 FL
+                       HWChannelPos3 FR
+                       HWChannelPos4 FL
+                       HWChannelPos5 FR
+               }
+       }
        {
                SplitPCM {
                        Name "steinberg_ur44_mono_in"
@@ -29,8 +43,8 @@ Macro [
        }
 ]
 
-SectionDevice."Line1" {
-       Comment "Line Outputs 1 and 2"
+SectionDevice."Line 1" {
+       Comment "Mix 1"
 
        Value {
                PlaybackPriority 200
@@ -47,8 +61,8 @@ SectionDevice."Line1" {
        }
 }
 
-SectionDevice."Line2" {
-       Comment "Line Outputs 3 and 4"
+SectionDevice."Line 2" {
+       Comment "Mix 2"
 
        Value {
                PlaybackPriority 100
@@ -65,11 +79,11 @@ SectionDevice."Line2" {
        }
 }
 
-SectionDevice."Line3" {
-       Comment "Mono Input 1"
+SectionDevice."Line 3" {
+       Comment "Front 1"
 
        Value {
-               CapturePriority 600
+               CapturePriority 1000
        }
        Macro.pcm_split.SplitPCMDevice {
                Name "steinberg_ur44_mono_in"
@@ -81,11 +95,11 @@ SectionDevice."Line3" {
        }
 }
 
-SectionDevice."Line4" {
-       Comment "Mono Input 2"
+SectionDevice."Line 4" {
+       Comment "Front 2"
 
        Value {
-               CapturePriority 500
+               CapturePriority 900
        }
        Macro.pcm_split.SplitPCMDevice {
                Name "steinberg_ur44_mono_in"
@@ -97,11 +111,11 @@ SectionDevice."Line4" {
        }
 }
 
-SectionDevice."Line5" {
-       Comment "Mono Input 3"
+SectionDevice."Line 5" {
+       Comment "Front 3"
 
        Value {
-               CapturePriority 400
+               CapturePriority 800
        }
        Macro.pcm_split.SplitPCMDevice {
                Name "steinberg_ur44_mono_in"
@@ -113,11 +127,11 @@ SectionDevice."Line5" {
        }
 }
 
-SectionDevice."Line6" {
-       Comment "Mono Input 4"
+SectionDevice."Line 6" {
+       Comment "Front 4"
 
        Value {
-               CapturePriority 300
+               CapturePriority 700
        }
        Macro.pcm_split.SplitPCMDevice {
                Name "steinberg_ur44_mono_in"
@@ -129,11 +143,11 @@ SectionDevice."Line6" {
        }
 }
 
-SectionDevice."Line7" {
-       Comment "Mono Input 5"
+SectionDevice."Line 7" {
+       Comment "Back 5"
 
        Value {
-               CapturePriority 200
+               CapturePriority 600
        }
        Macro.pcm_split.SplitPCMDevice {
                Name "steinberg_ur44_mono_in"
@@ -145,11 +159,11 @@ SectionDevice."Line7" {
        }
 }
 
-SectionDevice."Line8" {
-       Comment "Mono Input 6"
+SectionDevice."Line 8" {
+       Comment "Back 6"
 
        Value {
-               CapturePriority 100
+               CapturePriority 500
        }
        Macro.pcm_split.SplitPCMDevice {
                Name "steinberg_ur44_mono_in"
@@ -160,3 +174,75 @@ SectionDevice."Line8" {
                ChannelPos0 MONO
        }
 }
+
+SectionDevice."Line 9" {
+       Comment "Front 1 & 2"
+
+       Value {
+               CapturePriority 400
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "steinberg_ur44_stereo_in"
+               Direction Capture
+               HWChannels 6
+               Channels 2
+               Channel0 0
+               Channel1 1
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Line 10" {
+       Comment "Front 3 & 4"
+
+       Value {
+               CapturePriority 300
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "steinberg_ur44_stereo_in"
+               Direction Capture
+               HWChannels 6
+               Channels 2
+               Channel0 2
+               Channel1 3
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Line 11" {
+       Comment "Back 5 & 6"
+
+       Value {
+               CapturePriority 200
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "steinberg_ur44_stereo_in"
+               Direction Capture
+               HWChannels 6
+               Channels 2
+               Channel0 4
+               Channel1 5
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Line 12" {
+       Comment "Front 2 & 3"
+
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "steinberg_ur44_stereo_in"
+               Direction Capture
+               HWChannels 6
+               Channels 2
+               Channel0 1
+               Channel1 2
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}