Skip to content

Instantly share code, notes, and snippets.

@tpope
Created July 6, 2022 20:53
Show Gist options
  • Save tpope/f32dcf1261b29154289ae5bbda8b6679 to your computer and use it in GitHub Desktop.
Save tpope/f32dcf1261b29154289ae5bbda8b6679 to your computer and use it in GitHub Desktop.
RODECaster Pro II PulseAudio support
# /etc/udev/rules.d/90-rodecaster-pro-ii.rules
# RODECaster Pro II primary USB interface: 19f7:0030
# RODECaster Pro II secondary USB interface: 19f7:0026
# We're only concerned with the former.
# PulseAudio
ATTRS{idVendor}=="19f7", ATTRS{idProduct}=="0030", ENV{PULSE_PROFILE_SET}="rodecaster-pro-ii.conf"
# PipeWire
ATTRS{idVendor}=="19f7", ATTRS{idProduct}=="0030", ENV{ACP_PROFILE_SET}="rodecaster-pro-ii.conf"
# Profile set for the RODECaster Pro II primary USB interface.
# PulseAudio: /usr/share/pulseaudio/alsa-mixer/profile-sets/rodecaster-pro-ii.conf
# PipeWire: /usr/share/alsa-card-profile/mixer/profile-sets/rodecaster-pro-ii.conf
# Config for RODECaster Pro II primary USB interface 19f7:0030
# License: GPL 2.1 or newer (same as PulseAudio)
[General]
# Only supports 1 source and 1 sink. Simultaneous use of both sinks and/or
# sources is an intended usage, so we supplement below.
auto-profiles = yes
[Mapping chat]
description = Chat
device-strings = hw:%f,0
channel-map = left,right
intended-roles = phone
[Mapping main-output]
description = Main
device-strings = hw:%f,1
channel-map = left,right
direction = output
[Mapping main-input]
description = Main
device-strings = hw:%f,1
channel-map = left,right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9,aux10,aux11,aux12,aux13
# 1 - Mix L
# 2 - Mix R
# 3 - XLR/TRS 1
# 4 - XLR/TRS 2
# 5 - XLR/TRS 3
# 6 - XLR/TRS 4
# 7 - Bluetooth L
# 8 - Bluetooth R
# 9 - SMART Pads L
# 10 - SMART Pads R
# 11 - USB Main L
# 12 - USB Main R
# 13 - USB Chat L
# 14 - USB Chat R
# 15 - USB Secondary L
# 16 - USB Secondary R
direction = input
[Profile output:chat+output:main-output+input:chat+input:main-input]
output-mappings = main-output chat
input-mappings = main-input chat
# The first auto-profile has an apparent priority of 5050
priority = 5140
[Profile output:chat+output:main-output+input:chat]
output-mappings = main-output chat
input-mappings = chat
priority = 5130
[Profile output:chat+output:main-output+input:main-input]
output-mappings = main-output chat
input-mappings = main-input
priority = 5120
[Profile output:chat+input:chat+input:main-input]
output-mappings = chat
input-mappings = main-input chat
priority = 5110
[Profile output:main-output+input:chat+input:main-input]
output-mappings = main-output
input-mappings = main-input chat
priority = 5100
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment