pipewire: Add configuration for UMC202HD

This has some problems (as explained in the comment), but this at least
makes it work for now.
This commit is contained in:
Simon Bruder 2023-05-25 20:27:07 +02:00
parent 838eedcdd9
commit 5462768f19
Signed by: simon
GPG key ID: 8D3C82F9F309F8EC

View file

@ -23,4 +23,47 @@ lib.mkIf config.sbruder.gui.enable {
hardware.bluetooth.enable = lib.mkDefault bluetoothSupport; hardware.bluetooth.enable = lib.mkDefault bluetoothSupport;
services.blueman.enable = lib.mkDefault bluetoothSupport; services.blueman.enable = lib.mkDefault bluetoothSupport;
environment.etc."pipewire/pipewire.conf.d/10-behringer-umc202hd.conf".text = ''
# This is heavily based on the example from the PipeWire wiki:
# https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Virtual-Devices#behringer-umc404hd-microphoneguitar-virtual-sources
# It has the problem that the virtual source persists,
# even when the physical source is disconnected.
context.modules = [
{ name = libpipewire-module-loopback
args = {
node.description = "UMC202HD Left"
capture.props = {
node.name = "capture.UMC202HD_Left"
audio.position = [ FL ]
stream.dont-remix = true
target.object = "alsa_input.usb-BEHRINGER_UMC202HD_192k_12345678-00.analog-stereo"
node.passive = true
}
playback.props = {
node.name = "UMC202HD_Left"
media.class = "Audio/Source"
audio.position = [ MONO ]
}
}
}
{ name = libpipewire-module-loopback
args = {
node.description = "UMC202HD Right"
capture.props = {
node.name = "capture.UMC202HD_Right"
audio.position = [ FR ]
stream.dont-remix = true
target.object = "alsa_input.usb-BEHRINGER_UMC202HD_192k_12345678-00.analog-stereo"
node.passive = true
}
playback.props = {
node.name = "UMC202HD_Right"
media.class = "Audio/Source"
audio.position = [ MONO ]
}
}
}
]
'';
} }