From 8350c25cc05766defc8126b928d73e9fe290b79c Mon Sep 17 00:00:00 2001 From: Lennard Kittner Date: Sun, 19 Oct 2025 14:12:04 +0200 Subject: [PATCH] Add mute playback to CLI app --- src/bin/hyper_headset_cli.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/bin/hyper_headset_cli.rs b/src/bin/hyper_headset_cli.rs index a5aa059..52ba1f1 100644 --- a/src/bin/hyper_headset_cli.rs +++ b/src/bin/hyper_headset_cli.rs @@ -52,6 +52,13 @@ fn main() { .help("Enables surround sound. This may be on by default and cannot be changed on your device.") .value_parser(clap::value_parser!(bool)), ) + .arg( + Arg::new("mute_playback") + .long("mute_playback") + .required(false) + .help("Mute or unmute playback.") + .value_parser(clap::value_parser!(bool)), + ) .get_matches(); let mut device = match connect_compatible_device() { @@ -153,6 +160,17 @@ fn main() { } } + if let Some(mute_playback) = matches.get_one::("mute_playback") { + if let Some(packet) = device.set_silent_mode_packet(*mute_playback) { + device.prepare_write(); + if let Err(err) = device.get_device_state().hid_device.write(&packet) { + println!("Failed to mute playback with error: {:?}", err) + } + } else { + println!("Can't mute playback on this device") + } + } + std::thread::sleep(Duration::from_secs_f64(0.5)); println!("State after potentially setting some stuff");