Added unlink() function

This commit is contained in:
2025-02-10 22:54:27 +03:00
parent b31f4c8c45
commit 1d0e3036e9
2 changed files with 19 additions and 4 deletions
+1
View File
@@ -420,6 +420,7 @@ impl App {
return; return;
} }
pwsp_output.unwrap().unlink(mic.unwrap());
pwsp_output.unwrap().link(mic.unwrap()); pwsp_output.unwrap().link(mic.unwrap());
} }
} }
+18 -4
View File
@@ -25,15 +25,29 @@ pub struct OutputDevice {
impl OutputDevice { impl OutputDevice {
pub fn link(&self, input_device: &InputDevice) { pub fn link(&self, input_device: &InputDevice) {
let _ = Command::new("pw-link") Command::new("pw-link")
.arg(&self.output_fl) .arg(&self.output_fl)
.arg(&input_device.input_fl) .arg(&input_device.input_fl)
.status(); .status().ok();
let _ = Command::new("pw-link") Command::new("pw-link")
.arg(&self.output_fr) .arg(&self.output_fr)
.arg(&input_device.input_fr) .arg(&input_device.input_fr)
.status(); .status().ok();
}
pub fn unlink(&self, input_device: &InputDevice) {
Command::new("pw-link")
.arg("--disconnect")
.arg(&self.output_fl)
.arg(&input_device.input_fl)
.status().ok();
Command::new("pw-link")
.arg("--disconnect")
.arg(&self.output_fr)
.arg(&input_device.input_fr)
.status().ok();
} }
} }