]> git.alsa-project.org Git - alsa-ucm-conf.git/commitdiff
USB-Audio: Add RODECaster Pro II
authorMalte Linke (parzival-space) <me@parzival.space>
Wed, 4 Feb 2026 21:18:13 +0000 (22:18 +0100)
committerJaroslav Kysela <perex@perex.cz>
Mon, 16 Feb 2026 09:55:23 +0000 (10:55 +0100)
Use tabs instead of spaces
Reduce files
Include simple configs using new Synthax 8
Remove duplicated Comment assignment
Update Priority values
Fix regex pattern

Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/656
Signed-off-by: "Malte Linke (parzival-space)" <me@parzival.space>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2/USB-Audio/RODE/RODECaster-Pro-II-Multitrack-Capture.conf [new file with mode: 0644]
ucm2/USB-Audio/RODE/RODECaster-Pro-II-Multitrack-Playback.conf [new file with mode: 0644]
ucm2/USB-Audio/RODE/RODECaster-Pro-II.conf [new file with mode: 0644]
ucm2/USB-Audio/USB-Audio.conf

diff --git a/ucm2/USB-Audio/RODE/RODECaster-Pro-II-Multitrack-Capture.conf b/ucm2/USB-Audio/RODE/RODECaster-Pro-II-Multitrack-Capture.conf
new file mode 100644 (file)
index 0000000..9868031
--- /dev/null
@@ -0,0 +1,223 @@
+Include.pcm_split.File "/common/pcm/split.conf"
+
+Macro.playback.SplitPCM {
+       Name "rodecaster_pro_ii_stereo_in"
+       Direction Capture
+       Channels 2
+       HWChannels 16
+       Device 1
+
+       HWChannelPos0 FL        # Main Mix Left
+       HWChannelPos1 FR        # Main Mix Right
+
+       HWChannelPos2 MONO      # Combo 1
+       HWChannelPos3 MONO      # Combo 2
+       HWChannelPos4 MONO      # Combo 3
+       HWChannelPos5 MONO      # Combo 4
+
+       HWChannelPos6 FL        # Bluetooth Left
+       HWChannelPos7 FR        # Bluetooth Right
+
+       HWChannelPos8 FL        # Smart Pads Left
+       HWChannelPos9 FR        # Smart Pads Right
+
+       HWChannelPos10 FL       # System Left
+       HWChannelPos11 FR       # System Right
+
+       HWChannelPos12 FL       # Chat Left
+       HWChannelPos13 FR       # Chat Right
+
+       HWChannelPos14 FL       # USB2 Left
+       HWChannelPos15 FR       # USB2 Right
+}
+
+SectionDevice."Mic" {
+       Comment "Microphone"
+
+       Value {
+               CapturePriority 100
+               CapturePCM "hw:${CardId},0"
+       }
+}
+
+SectionDevice."Line:main" {
+       Comment "Main"
+
+       Value {
+               CapturePriority 110
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "rodecaster_pro_ii_stereo_in"
+               Direction Capture
+               Device 1
+               HWChannels 16
+               Channels 2
+               Channel0 0
+               Channel1 1
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Line:combo_1" {
+       Comment "Combo 1"
+
+       Value {
+               CapturePriority 120
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "rodecaster_pro_ii_stereo_in"
+               Direction Capture
+               Device 1
+               HWChannels 16
+               Channels 1
+               Channel0 2
+               ChannelPos0 MONO
+       }
+}
+
+SectionDevice."Line:combo_2" {
+       Comment "Combo 2"
+
+       Value {
+               CapturePriority 130
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "rodecaster_pro_ii_stereo_in"
+               Direction Capture
+               Device 1
+               HWChannels 16
+               Channels 1
+               Channel0 3
+               ChannelPos0 MONO
+       }
+}
+
+SectionDevice."Line:combo_3" {
+       Comment "Combo 3"
+
+       Value {
+               CapturePriority 140
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "rodecaster_pro_ii_stereo_in"
+               Direction Capture
+               Device 1
+               HWChannels 16
+               Channels 1
+               Channel0 4
+               ChannelPos0 MONO
+       }
+}
+
+SectionDevice."Line:combo_4" {
+       Comment "Combo 4"
+
+       Value {
+               CapturePriority 150
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "rodecaster_pro_ii_stereo_in"
+               Direction Capture
+               Device 1
+               HWChannels 16
+               Channels 1
+               Channel0 5
+               ChannelPos0 MONO
+       }
+}
+
+SectionDevice."Line:bluetooth" {
+       Comment "Bluetooth"
+
+       Value {
+               CapturePriority 160
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "rodecaster_pro_ii_stereo_in"
+               Direction Capture
+               Device 1
+               HWChannels 16
+               Channels 2
+               Channel0 6
+               Channel1 7
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Line:usb2" {
+       Comment "USB 2"
+
+       Value {
+               CapturePriority 170
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "rodecaster_pro_ii_stereo_in"
+               Direction Capture
+               Device 1
+               HWChannels 16
+               Channels 2
+               Channel0 14
+               Channel1 15
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Line:smart_pads" {
+       Comment "SMART Pads"
+
+       Value {
+               CapturePriority 180
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "rodecaster_pro_ii_stereo_in"
+               Direction Capture
+               Device 1
+               HWChannels 16
+               Channels 2
+               Channel0 8
+               Channel1 9
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Line:system" {
+       Comment "System"
+
+       Value {
+               CapturePriority 190
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "rodecaster_pro_ii_stereo_in"
+               Direction Capture
+               Device 1
+               HWChannels 16
+               Channels 2
+               Channel0 10
+               Channel1 11
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Line:chat" {
+       Comment "Chat"
+
+       Value {
+               CapturePriority 200
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "rodecaster_pro_ii_stereo_in"
+               Direction Capture
+               Device 1
+               HWChannels 16
+               Channels 2
+               Channel0 12
+               Channel1 13
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
\ No newline at end of file
diff --git a/ucm2/USB-Audio/RODE/RODECaster-Pro-II-Multitrack-Playback.conf b/ucm2/USB-Audio/RODE/RODECaster-Pro-II-Multitrack-Playback.conf
new file mode 100644 (file)
index 0000000..30916b2
--- /dev/null
@@ -0,0 +1,128 @@
+Include.pcm_split.File "/common/pcm/split.conf"
+
+Macro.playback.SplitPCM {
+       Name "rodecaster_pro_ii_stereo_out"
+       Direction Playback
+       Channels 2
+       HWChannels 10
+       Device 1
+
+       HWChannelPos0 FL        # System Left
+       HwChannelPos1 FR        # System Right
+
+       HWChannelPos2 FL        # Game Left
+       HWChannelPos3 FR        # Game Right
+
+       HWChannelPos4 FL        # Music Left
+       HWChannelPos5 FR        # Music Right
+
+       HWChannelPos6 FL        # Virtual A Left
+       HWChannelPos7 FR        # Virtual A Right
+
+       HWChannelPos8 FL        # Virtual B Left
+       HWChannelPos9 FR        # Virtual B Right
+}
+
+SectionDevice."Speaker" {
+       Comment "System"
+
+       Value {
+               PlaybackPriority 100
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "rodecaster_pro_ii_stereo_out"
+               Direction Playback
+               Device 1
+               HWChannels 10
+               Channels 2
+               Channel0 0
+               Channel1 1
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Line:chat" {
+       Comment "Chat"
+
+       Value {
+               PlaybackPCM "hw:${CardId},0"
+               PlaybackPriority 110
+       }
+}
+
+SectionDevice."Line:game" {
+       Comment "Game"
+
+       Value {
+               PlaybackPriority 120
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "rodecaster_pro_ii_stereo_out"
+               Direction Playback
+               Device 1
+               HWChannels 10
+               Channels 2
+               Channel0 2
+               Channel1 3
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Line:music" {
+       Comment "Music"
+
+       Value {
+               PlaybackPriority 130
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "rodecaster_pro_ii_stereo_out"
+               Direction Playback
+               Device 1
+               HWChannels 10
+               Channels 2
+               Channel0 4
+               Channel1 5
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Line:virtual_a" {
+       Comment "Virtual A"
+
+       Value {
+               PlaybackPriority 140
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "rodecaster_pro_ii_stereo_out"
+               Direction Playback
+               Device 1
+               HWChannels 10
+               Channels 2
+               Channel0 6
+               Channel1 7
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
+
+SectionDevice."Line:virtual_b" {
+       Comment "Virtual B"
+
+       Value {
+               PlaybackPriority 150
+       }
+       Macro.pcm_split.SplitPCMDevice {
+               Name "rodecaster_pro_ii_stereo_out"
+               Direction Playback
+               Device 1
+               HWChannels 10
+               Channels 2
+               Channel0 8
+               Channel1 9
+               ChannelPos0 FL
+               ChannelPos1 FR
+       }
+}
\ No newline at end of file
diff --git a/ucm2/USB-Audio/RODE/RODECaster-Pro-II.conf b/ucm2/USB-Audio/RODE/RODECaster-Pro-II.conf
new file mode 100644 (file)
index 0000000..abafb62
--- /dev/null
@@ -0,0 +1,156 @@
+# The RODECaster Pro II has two USB ports, each with its own PID.
+# USB1 has additionally the special capability to send multiple additonal tracks (multitrack mode).
+# The multitrack functionallity can be configured for output and input individually.
+# This soundcard also provides two devices on USB1. Device 0 is always the Mic/Chat Track. Device 1 is the
+# optional multitrack device.
+
+Comment "RODECaster Pro II USB"
+If.usb1 {
+       Condition {
+               Type String
+               Haystack "${CardComponents}"
+               Needle "USB19f7:0037"
+       }
+       True {
+               # Multitrack is disabled for Input and Output
+               SectionUseCase."HiFi" {
+                       Comment "RODECaster Pro II"
+                       Config {
+                               SectionDevice."Speaker" {
+                                       Comment "System"
+                                       Value {
+                                               PlaybackPCM "hw:${CardId},1"
+                                               PlaybackPriority 100
+                                       }
+                               }
+                               SectionDevice."Line:chat" {
+                                       Comment "Chat"
+                                       Value {
+                                               PlaybackPCM "hw:${CardId},0"
+                                               PlaybackPriority 110
+                                       }
+                               }
+                               SectionDevice."Mic" {
+                                       Comment "Microphone"
+                                       Value {
+                                               CapturePCM "hw:${CardId},0"
+                                               CapturePriority 100
+                                       }
+                               }
+                               SectionDevice."Line:main" {
+                                       Comment "Main"
+                                       Value {
+                                               CapturePCM "hw:${CardId},1"
+                                               CapturePriority 110
+                                       }
+                               }
+                       }
+               }
+       }
+}
+If.usb1_multitrack {
+       Condition {
+               Type String
+               Haystack "${CardComponents}"
+               Needle "USB19f7:0072"
+       }
+       True {
+               # Multitrack is enabled for Input and Output
+               SectionUseCase."HiFi" {
+                       Comment "RODECaster Pro II"
+                       Config {
+                               Include.playback.File "/USB-Audio/RODE/RODECaster-Pro-II-Multitrack-Playback.conf"
+                               Include.capture.File "/USB-Audio/RODE/RODECaster-Pro-II-Multitrack-Capture.conf"
+                       }
+               }
+       }
+}
+If.usb1_multitrack_playback {
+       Condition {
+               Type String
+               Haystack "${CardComponents}"
+               Needle "USB19f7:0078"
+       }
+       True {
+               # Multitrack is only for Input enabled
+               SectionUseCase."HiFi" {
+                       Comment "RODECaster Pro II"
+                       Config {
+                               Include.playback.File "/USB-Audio/RODE/RODECaster-Pro-II-Multitrack-Playback.conf"
+                               SectionDevice."Mic" {
+                                       Comment "Microphone"
+                                       Value {
+                                               CapturePCM "hw:${CardId},0"
+                                               CapturePriority 100
+                                       }
+                               }
+                               SectionDevice."Line:main" {
+                                       Comment "Main"
+                                       Value {
+                                               CapturePCM "hw:${CardId},1"
+                                               CapturePriority 110
+                                       }
+                               }
+                       }
+               }
+       }
+}
+If.usb1_multitrack_capture {
+       Condition {
+               Type String
+               Haystack "${CardComponents}"
+               Needle "USB19f7:0030"
+       }
+       True {
+               # Multitrack is only for Output enabled
+               SectionUseCase."HiFi" {
+                       Comment "RODECaster Pro II"
+                       Config {
+                               Include.capture.File "/USB-Audio/RODE/RODECaster-Pro-II-Multitrack-Capture.conf"
+                               SectionDevice."Speaker" {
+                                       Comment "System"
+                                       Value {
+                                               PlaybackPCM "hw:${CardId},1"
+                                               PlaybackPriority 100
+                                       }
+                               }
+                               SectionDevice."Line:chat" {
+                                       Comment "Chat"
+                                       Value {
+                                               PlaybackPCM "hw:${CardId},0"
+                                               PlaybackPriority 110
+                                       }
+                               }
+                       }
+               }
+       }
+}
+
+If.usb2 {
+       Condition {
+               Type String
+               Haystack "${CardComponents}"
+               Needle "USB19f7:0026"
+       }
+       True {
+               SectionUseCase."HiFi" {
+                       Comment "RODECaster Pro II"
+                       Config {
+                               SectionDevice."Speaker" {
+                                       Comment "Secondary"
+
+                                       Value {
+                                               PlaybackPCM "hw:${CardId},0"
+                                       }
+                               }
+                               SectionDevice."Mic" {
+                                       Comment "Secondary"
+
+                                       Value {
+                                               CapturePCM "hw:${CardId},0"
+                                       }
+                               }
+                       }
+               }
+       }
+}
index 3eac704dfa676cc5584fd56459742b9abf073295..177e1af737e30557faf0029f186082991c70711a 100644 (file)
@@ -148,6 +148,13 @@ Macro.sony-dualsense-ps5.RegexMatch        "Id='054c:0((ce6)|(df2))' Profile='Sony/Dual
 # and generations from the same series
 Macro.boss-katana.StringMatch          "Id='0582:01d8' Profile='BOSS/Katana'"
 
+Macro.rode-rodecaster-pro-2.RegexMatch {
+       # RODECaster Pro II USB1: 19f7:0037, 19f7:0072, 19f7:0078, 19f7:0030
+       # RODECaster Pro II USB2: 19f7:0026
+       Id "19f7:00(37|72|78|30|26)"
+       Profile "RODE/RODECaster-Pro-II"
+}
+
 Macro.roland-quadcapture.StringMatch   "Id='0582:012f' Profile='Roland/Quad-Capture'"
 Macro.roland-bridgecast.StringMatch    "Id='0582:02b7' Profile='Roland/BridgeCast'"