]> git.alsa-project.org Git - alsa-ucm-conf.git/commitdiff
USB-Audio: Add Focusrite Vocaster interfaces
authorGeoffrey D. Bennett <g@b4.vu>
Sun, 14 Apr 2024 15:46:57 +0000 (01:16 +0930)
committerJaroslav Kysela <perex@perex.cz>
Thu, 15 Jan 2026 15:36:26 +0000 (16:36 +0100)
Add split configs for the Focusrite Vocaster One and Two interfaces.

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/666
Signed-off-by: Geoffrey D. Bennett <g@b4.vu>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2/USB-Audio/Focusrite/Vocaster-One-HiFi.conf [new file with mode: 0644]
ucm2/USB-Audio/Focusrite/Vocaster-One.conf [new file with mode: 0644]
ucm2/USB-Audio/Focusrite/Vocaster-Two-HiFi.conf [new file with mode: 0644]
ucm2/USB-Audio/Focusrite/Vocaster-Two.conf [new file with mode: 0644]
ucm2/USB-Audio/USB-Audio.conf

diff --git a/ucm2/USB-Audio/Focusrite/Vocaster-One-HiFi.conf b/ucm2/USB-Audio/Focusrite/Vocaster-One-HiFi.conf
new file mode 100644 (file)
index 0000000..c343bcb
--- /dev/null
@@ -0,0 +1,192 @@
+Include.pcm_split.File "/common/pcm/split.conf"
+
+Macro [
+       {
+               SplitPCM {
+                       Name "vocaster_one_stereo_out"
+                       Direction Playback
+                       Channels 2
+                       HWChannels 4
+                       HWChannelPos0 FL
+                       HWChannelPos1 FR
+                       HWChannelPos2 FL
+                       HWChannelPos3 FR
+               }
+       }
+       {
+               SplitPCM {
+                       Name "vocaster_one_mono_in"
+                       Direction Capture
+                       Channels 1
+                       HWChannels 10
+                       HWChannelPos0 MONO
+                       HWChannelPos1 MONO
+                       HWChannelPos2 MONO
+                       HWChannelPos3 MONO
+                       HWChannelPos4 MONO
+                       HWChannelPos5 MONO
+                       HWChannelPos6 MONO
+                       HWChannelPos7 MONO
+                       HWChannelPos8 MONO
+                       HWChannelPos9 MONO
+               }
+       }
+       {
+               SplitPCM {
+                       Name "vocaster_one_stereo_in"
+                       Direction Capture
+                       Channels 2
+                       HWChannels 10
+                       HWChannelPos0 FL
+                       HWChannelPos1 FR
+                       HWChannelPos2 FL
+                       HWChannelPos3 FR
+                       HWChannelPos4 FL
+                       HWChannelPos5 FR
+                       HWChannelPos6 FL
+                       HWChannelPos7 FR
+                       HWChannelPos8 FL
+                       HWChannelPos9 FR
+               }
+       }
+]
+
+SectionDevice."USB 1" {
+       Comment "Video Call"
+
+       Value {
+               PlaybackPriority 200
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_one_stereo_out"
+               Direction Playback
+               HWChannels 4
+               Channels 2
+               Channel0 0
+               Channel1 1
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."USB 2" {
+       Comment "Playback"
+
+       Value {
+               PlaybackPriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_one_stereo_out"
+               Direction Playback
+               HWChannels 4
+               Channels 2
+               Channel0 2
+               Channel1 3
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."USB 3" {
+       Comment "Video Call"
+
+       Value {
+               CapturePriority 200
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_one_stereo_in"
+               Direction Capture
+               HWChannels 10
+               Channels 2
+               Channel0 0
+               Channel1 1
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."USB 4" {
+       Comment "Show Mix"
+
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_one_stereo_in"
+               Direction Capture
+               HWChannels 10
+               Channels 2
+               Channel0 2
+               Channel1 3
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."USB 5" {
+       Comment "Host Mic"
+
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_one_mono_in"
+               Direction Capture
+               HWChannels 10
+               Channels 1
+               Channel0 4
+               ChannelPos0 MONO
+       }
+}
+
+SectionDevice."USB 6" {
+       Comment "Aux"
+
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_one_mono_in"
+               Direction Capture
+               HWChannels 10
+               Channels 1
+               Channel0 5
+               ChannelPos0 MONO
+       }
+}
+
+SectionDevice."USB 7" {
+       Comment "Loopback 1"
+
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_one_stereo_in"
+               Direction Capture
+               HWChannels 10
+               Channels 2
+               Channel0 6
+               Channel1 7
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."USB 8" {
+       Comment "Loopback 2"
+
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_one_stereo_in"
+               Direction Capture
+               HWChannels 10
+               Channels 2
+               Channel0 8
+               Channel1 9
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
diff --git a/ucm2/USB-Audio/Focusrite/Vocaster-One.conf b/ucm2/USB-Audio/Focusrite/Vocaster-One.conf
new file mode 100644 (file)
index 0000000..bc898ac
--- /dev/null
@@ -0,0 +1,10 @@
+Comment "Focusrite Vocaster One"
+
+SectionUseCase."HiFi" {
+       Comment "Default"
+       File "/USB-Audio/Focusrite/Vocaster-One-HiFi.conf"
+}
+
+Include.dhw.File "/common/directm.conf"
+
+Macro.0.DirectUseCase { Id="Direct" PlaybackChannels=4 CaptureChannels=10 }
diff --git a/ucm2/USB-Audio/Focusrite/Vocaster-Two-HiFi.conf b/ucm2/USB-Audio/Focusrite/Vocaster-Two-HiFi.conf
new file mode 100644 (file)
index 0000000..d5cf715
--- /dev/null
@@ -0,0 +1,254 @@
+Include.pcm_split.File "/common/pcm/split.conf"
+
+Macro [
+       {
+               SplitPCM {
+                       Name "vocaster_two_stereo_out"
+                       Direction Playback
+                       Channels 2
+                       HWChannels 4
+                       HWChannelPos0 FL
+                       HWChannelPos1 FR
+                       HWChannelPos2 FL
+                       HWChannelPos3 FR
+               }
+       }
+       {
+               SplitPCM {
+                       Name "vocaster_two_mono_in"
+                       Direction Capture
+                       Channels 1
+                       HWChannels 14
+                       HWChannelPos0 MONO
+                       HWChannelPos1 MONO
+                       HWChannelPos2 MONO
+                       HWChannelPos3 MONO
+                       HWChannelPos4 MONO
+                       HWChannelPos5 MONO
+                       HWChannelPos6 MONO
+                       HWChannelPos7 MONO
+                       HWChannelPos8 MONO
+                       HWChannelPos9 MONO
+                       HWChannelPos10 MONO
+                       HWChannelPos11 MONO
+                       HWChannelPos12 MONO
+                       HWChannelPos13 MONO
+               }
+       }
+       {
+               SplitPCM {
+                       Name "vocaster_two_stereo_in"
+                       Direction Capture
+                       Channels 2
+                       HWChannels 14
+                       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
+               }
+       }
+]
+
+SectionDevice."USB 1" {
+       Comment "Video Call"
+
+       Value {
+               PlaybackPriority 200
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_two_stereo_out"
+               Direction Playback
+               HWChannels 4
+               Channels 2
+               Channel0 0
+               Channel1 1
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."USB 2" {
+       Comment "Playback"
+
+       Value {
+               PlaybackPriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_two_stereo_out"
+               Direction Playback
+               HWChannels 4
+               Channels 2
+               Channel0 2
+               Channel1 3
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."USB 3" {
+       Comment "Video Call"
+
+       Value {
+               CapturePriority 200
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_two_stereo_in"
+               Direction Capture
+               HWChannels 14
+               Channels 2
+               Channel0 0
+               Channel1 1
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."USB 4" {
+       Comment "Show Mix"
+
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_two_stereo_in"
+               Direction Capture
+               HWChannels 14
+               Channels 2
+               Channel0 2
+               Channel1 3
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."USB 5" {
+       Comment "Host Mic"
+
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_two_mono_in"
+               Direction Capture
+               HWChannels 14
+               Channels 1
+               Channel0 4
+               ChannelPos0 MONO
+       }
+}
+
+SectionDevice."USB 6" {
+       Comment "Guest Mic"
+
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_two_mono_in"
+               Direction Capture
+               HWChannels 14
+               Channels 1
+               Channel0 5
+               ChannelPos0 MONO
+       }
+}
+
+SectionDevice."USB 7" {
+       Comment "Mic In 1-2"
+
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_two_stereo_in"
+               Direction Capture
+               HWChannels 14
+               Channels 2
+               Channel0 4
+               Channel1 5
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."USB 8" {
+       Comment "Aux"
+
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_two_stereo_in"
+               Direction Capture
+               HWChannels 14
+               Channels 2
+               Channel0 6
+               Channel1 7
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."USB 9" {
+       Comment "Bluetooth"
+
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_two_stereo_in"
+               Direction Capture
+               HWChannels 14
+               Channels 2
+               Channel0 8
+               Channel1 9
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."USB 10" {
+       Comment "Loopback 1"
+
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_two_stereo_in"
+               Direction Capture
+               HWChannels 14
+               Channels 2
+               Channel0 10
+               Channel1 11
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."USB 11" {
+       Comment "Loopback 2"
+
+       Value {
+               CapturePriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "vocaster_two_stereo_in"
+               Direction Capture
+               HWChannels 14
+               Channels 2
+               Channel0 12
+               Channel1 13
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
diff --git a/ucm2/USB-Audio/Focusrite/Vocaster-Two.conf b/ucm2/USB-Audio/Focusrite/Vocaster-Two.conf
new file mode 100644 (file)
index 0000000..16b720e
--- /dev/null
@@ -0,0 +1,10 @@
+Comment "Focusrite Vocaster Two"
+
+SectionUseCase."HiFi" {
+       Comment "Default"
+       File "/USB-Audio/Focusrite/Vocaster-Two-HiFi.conf"
+}
+
+Include.dhw.File "/common/directm.conf"
+
+Macro.0.DirectUseCase { Id="Direct" PlaybackChannels=4 CaptureChannels=14 }
index ab238450ce73c00d0354dfa6991dc369c7773348..7bfbdb7bec5a6029eac64489ca869926b85685ec 100644 (file)
@@ -397,6 +397,28 @@ If.focusrite-scarlett-18i20 {
        True.Define.ProfileName "Focusrite/Scarlett-18i20"
 }
 
+If.focusrite-vocaster-one {
+       Condition {
+               Type RegexMatch
+               String "${CardComponents}"
+               Regex "USB1235:8216"
+       }
+       True.Define {
+               ProfileName "Focusrite/Vocaster-One"
+       }
+}
+
+If.focusrite-vocaster-two {
+       Condition {
+               Type RegexMatch
+               String "${CardComponents}"
+               Regex "USB1235:8217"
+       }
+       True.Define {
+               ProfileName "Focusrite/Vocaster-Two"
+       }
+}
+
 If.behringer-ulm200d {
        Condition {
                Type String