Skip to content

Instantly share code, notes, and snippets.

@ngandrass
Last active April 10, 2024 22:28
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save ngandrass/c81cda4903b8429262fe80dc69d8252f to your computer and use it in GitHub Desktop.
Save ngandrass/c81cda4903b8429262fe80dc69d8252f to your computer and use it in GitHub Desktop.
Rename RODE RODECaster Pro II outputs (sinks) and inputs (sources). To be used with PipeWire and WirePlumber.
-- Renames the outputs and inputs of the RODE RODECaster Pro II.
--
-- Place this file inside ~/.config/wireplumber/main.lua.d/
--
-- Tips on using the RODE RODECaster Pro II on Linux:
-- - Use PipeWire together with WirePlumber. I'm using the following packages on
-- Arch Linux: pipewire pipewire-alsa pipewire-pulse pipewire-jack wireplumber.
-- Optional packages: qpwgraph
-- - Configure the RODE RODECaster Pro II to use the 'Pro Audio' profile
-- - Your node names might differ. Run `pactl list sinks` and `pactl list sources` to check assigned names.
-- Outputs (Sinks)
rule = table.insert(alsa_monitor.rules, {
matches = {
{
{ "node.name", "equals", "alsa_output.usb-R__DE_RODECaster_Pro_II_GV0085101-00.pro-output-1" },
},
},
apply_properties = {
["node.description"] = "RODECaster Pro II (Main)",
},
})
rule = table.insert(alsa_monitor.rules, {
matches = {
{
{ "node.name", "equals", "alsa_output.usb-R__DE_RODECaster_Pro_II_GV0085101-00.pro-output-0" },
},
},
apply_properties = {
["node.description"] = "RODECaster Pro II (Chat)",
},
})
rule = table.insert(alsa_monitor.rules, {
matches = {
{
{ "node.name", "equals", "alsa_output.usb-R__DE_R__DECaster_Pro_II_GV0085101-00.pro-output-0" },
},
},
apply_properties = {
["node.description"] = "RODECaster Pro II (Secondary)",
},
})
-- Inputs (Sources)
rule = table.insert(alsa_monitor.rules, {
matches = {
{
{ "node.name", "equals", "alsa_input.usb-R__DE_RODECaster_Pro_II_GV0085101-00.pro-input-1" },
},
},
apply_properties = {
["node.description"] = "RODECaster Pro II (Main)",
},
})
rule = table.insert(alsa_monitor.rules, {
matches = {
{
{ "node.name", "equals", "alsa_input.usb-R__DE_RODECaster_Pro_II_GV0085101-00.pro-input-0" },
},
},
apply_properties = {
["node.description"] = "RODECaster Pro II (Chat)",
},
})
rule = table.insert(alsa_monitor.rules, {
matches = {
{
{ "node.name", "equals", "alsa_input.usb-R__DE_R__DECaster_Pro_II_GV0085101-00.pro-input-0" },
},
},
apply_properties = {
["node.description"] = "RODECaster Pro II (Secondary)",
},
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment