blob: baddd310e43a03a57331afdcb075bc2913e868da [file] [log] [blame]
Samuel Shuertea0f92f2024-09-15 00:10:13 -04001{...}: {
2 services.pipewire.extraConfig.pipewire."new-virtual-devices" = {
3 "context.modules" = [
4 {
5 name = "libpipewire-module-combine-stream";
6 args = {
7 "combine.mode" = "sink";
8 "node.name" = "output";
9 "node.description" = "Combined Outputs";
10 "combine.latency-compensate" = false;
11 "combine.props" = {
12 "audio.position" = [ "FL" "FR" ];
13 };
14 "stream.props" = {
15 "stream.dont-remix" = true;
16 };
17 "stream.rules" = [
18 {
19 matches = [
20 {
21 "media.class" = "Audio/Sink";
22 "node.name" = "alsa_output.usb-NXP_SEMICONDUCTORS_Razer_Kraken_V3_Pro-00.analog-stereo";
23 }
Samuel Shuertea0f92f2024-09-15 00:10:13 -040024 ];
25 actions = {
26 create-stream = {
27 "audio.position" = [ "FL" "FR" ];
28 "combine.audio.position" = [ "FL" "FR" ];
29 };
30 };
31 }
Samuel Shuertff51bfb2024-10-06 13:46:52 -040032 {
33 matches = [
34 {
35 "media.class" = "Audio/Sink";
36 "node.name" = "alsa_output.usb-R__DE_RODECaster_Duo_IR0023015-00.pro-output-1";
37 }
38 ];
39 actions = {
40 create-stream = {
41 "audio.position" = [ "AUX0" "AUX1" ];
42 "combine.audio.position" = [ "FL" "FR" ];
43 };
44 };
45 }
46 ];
47 };
48 }
49 {
50 name = "libpipewire-module-combine-stream";
51 args = {
52 "combine.mode" = "sink";
53 "node.name" = "chat_output";
54 "node.description" = "Chat Output";
55 "combine.latency-compensate" = false;
56 "combine.props" = {
57 "audio.position" = [ "FL" "FR" ];
58 };
59 "stream.props" = {
60 "stream.dont-remix" = true;
61 };
62 "stream.rules" = [
63 {
64 matches = [
65 {
66 "media.class" = "Audio/Sink";
67 "node.name" = "alsa_output.usb-R__DE_RODECaster_Duo_IR0023015-00.pro-output-0";
68 }
69 ];
70 actions = {
71 create-stream = {
72 "audio.position" = [ "AUX0" "AUX1" ];
73 "combine.audio.position" = [ "FL" "FR" ];
74 };
75 };
76 }
77 ];
78 };
79 }
80 {
81 name = "libpipewire-module-combine-stream";
82 args = {
83 "combine.mode" = "source";
84 "node.name" = "input";
85 "node.description" = "Input";
86 "combine.latency-compensate" = false;
87 "combine.props" = {
88 "audio.position" = [ "FL" "FR" ];
89 };
90 "stream.props" = {
91 "stream.dont-remix" = true;
92 };
93 "stream.rules" = [
94 {
95 matches = [
96 {
97 "media.class" = "Audio/Source";
98 "node.name" = "alsa_input.usb-R__DE_RODECaster_Duo_IR0023015-00.pro-input-1";
99 }
100 ];
101 actions = {
102 create-stream = {
103 "audio.position" = [ "AUX0" "AUX1" ];
104 "combine.audio.position" = [ "FL" "FR" ];
105 };
106 };
107 }
Samuel Shuertea0f92f2024-09-15 00:10:13 -0400108 ];
109 };
110 }
111 ];
112 };
113}