From 2aec154f07b285680c9f7835737bd6ce7bf8c34c Mon Sep 17 00:00:00 2001 From: Mollusk Date: Mon, 1 Jun 2026 03:31:12 -0400 Subject: [PATCH] feat: sound notification chimes for connection lifecycle events Audible chimes for reconnect/reconnected/reconnect-failed, self-leave, peer join/leave, and mic/deafen toggle, completing the 4-phase notification plan (phase 1 room/peer join+leave shipped in 673b72d). - Per-event custom WAV overrides in Settings, with ~ expansion and live file-found/not-found validation; persisted on settings exit. Each event falls back to its embedded default chime when no custom path is set. - Reconnect-attempt chime is edge-triggered: fires once per disconnect, not once per redial attempt. - Global "enable sound notifications" toggle. --- assets/sounds/generate_chimes.py | 10 ++ assets/sounds/mic-toggle.wav | Bin 0 -> 7724 bytes assets/sounds/reconnect-attempt.wav | Bin 0 -> 19244 bytes assets/sounds/reconnect-failed.wav | Bin 0 -> 43244 bytes assets/sounds/reconnected.wav | Bin 0 -> 33644 bytes assets/sounds/self-leave.wav | Bin 0 -> 43244 bytes src/app/mod.rs | 153 +++++++++++++++++++++++----- src/config.rs | 31 ++++++ src/core/messages.rs | 1 + src/core/mod.rs | 2 +- src/notify.rs | 106 ++++++++++++++++++- 11 files changed, 270 insertions(+), 33 deletions(-) create mode 100644 assets/sounds/mic-toggle.wav create mode 100644 assets/sounds/reconnect-attempt.wav create mode 100644 assets/sounds/reconnect-failed.wav create mode 100644 assets/sounds/reconnected.wav create mode 100644 assets/sounds/self-leave.wav diff --git a/assets/sounds/generate_chimes.py b/assets/sounds/generate_chimes.py index ee38c70..e46e500 100644 --- a/assets/sounds/generate_chimes.py +++ b/assets/sounds/generate_chimes.py @@ -66,6 +66,16 @@ CHIMES = { "peer-join.wav": [(G4, 0.13), (C5, 0.28)], # Someone left: two-note fall — the mirror of an arrival. "peer-leave.wav": [(C5, 0.13), (G4, 0.28)], + # Reconnecting to peer: soft single Bb4 note. + "reconnect-attempt.wav": [(466.16, 0.20)], + # Reconnected to peer: bright two-note rise (C5 -> G5). + "reconnected.wav": [(C5, 0.10), (G5, 0.25)], + # Left a room: descending triad. + "self-leave.wav": [(G5, 0.10), (E5, 0.10), (C5, 0.25)], + # Mute/unmute toggle: tiny clean blip. + "mic-toggle.wav": [(E5, 0.08)], + # Reconnect gave up: disappointing low two-note fall. + "reconnect-failed.wav": [(C5, 0.15), (349.23, 0.30)], } diff --git a/assets/sounds/mic-toggle.wav b/assets/sounds/mic-toggle.wav new file mode 100644 index 0000000000000000000000000000000000000000..57fbd23e9192b6ec34ab7ee39df8056929a6f2b1 GIT binary patch literal 7724 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 UPBS_|JjoziNEyB?l0+2pAJ^zm-2eap literal 0 HcmV?d00001 diff --git a/assets/sounds/reconnect-failed.wav b/assets/sounds/reconnect-failed.wav new file mode 100644 index 0000000000000000000000000000000000000000..43c364c56309ab802268b8e578437d111985e30f GIT binary patch literal 43244 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 impl iced::futures::Stream { @@ -90,6 +92,22 @@ pub struct AppState { current_screen: Screen, } +impl AppState { + fn custom_sound_path(&self, sound: Sound) -> &str { + let opt = match sound { + Sound::SelfJoin => &self.config.custom_sound_self_join, + Sound::PeerJoin => &self.config.custom_sound_peer_join, + Sound::PeerLeave => &self.config.custom_sound_peer_leave, + Sound::ReconnectAttempt => &self.config.custom_sound_reconnect_attempt, + Sound::Reconnected => &self.config.custom_sound_reconnected, + Sound::SelfLeave => &self.config.custom_sound_self_leave, + Sound::MicToggle => &self.config.custom_sound_mic_toggle, + Sound::ReconnectFailed => &self.config.custom_sound_reconnect_failed, + }; + opt.as_deref().unwrap_or("") + } +} + impl Default for AppState { fn default() -> Self { let (ui_tx, ui_rx) = tokio::sync::mpsc::channel(100); @@ -97,6 +115,7 @@ impl Default for AppState { let _ = UI_RX.set(Mutex::new(Some(ui_rx))); let config = AppConfig::load(); + notify::set_enabled(config.notifications_enabled); let _ = controller.send(CoreCommand::SetNoiseGateThreshold(config.noise_gate_threshold)); let _ = controller.send(CoreCommand::SetNetworkMode(config.network_mode)); let all_devices = enumerate_audio_devices(); @@ -197,10 +216,12 @@ fn update(state: &mut AppState, message: AppMessage) -> Task { AppMessage::ToggleMutePressed => { let _ = state.controller.send(CoreCommand::ToggleMute); state.is_muted = !state.is_muted; + notify::play(Sound::MicToggle, state.config.custom_sound_mic_toggle.as_deref()); } AppMessage::ToggleDeafenPressed => { let _ = state.controller.send(CoreCommand::ToggleDeafen); state.is_deafened = !state.is_deafened; + notify::play(Sound::MicToggle, state.config.custom_sound_mic_toggle.as_deref()); } AppMessage::UiEventReceived(event) => { match event { @@ -209,7 +230,7 @@ fn update(state: &mut AppState, message: AppMessage) -> Task { state.self_id = self_id; state.status_message = "Connected".to_string(); state.current_screen = Screen::Room; - notify::play(Sound::SelfJoin); + notify::play(Sound::SelfJoin, state.config.custom_sound_self_join.as_deref()); } UiEvent::RoomLeft => { state.ticket = "".to_string(); @@ -219,27 +240,44 @@ fn update(state: &mut AppState, message: AppMessage) -> Task { state.ever_connected.clear(); state.status_message = "Ready to connect".to_string(); state.current_screen = Screen::Home; + notify::play(Sound::SelfLeave, state.config.custom_sound_self_leave.as_deref()); } UiEvent::PeerJoined { id, state: peer_state } => { state.peers.insert(id, peer_state); - notify::play(Sound::PeerJoin); + notify::play(Sound::PeerJoin, state.config.custom_sound_peer_join.as_deref()); } UiEvent::PeerLeft { id } => { state.peers.remove(&id); state.audio_levels.remove(&id); state.connecting.remove(&id); state.ever_connected.remove(&id); - notify::play(Sound::PeerLeave); + notify::play(Sound::PeerLeave, state.config.custom_sound_peer_leave.as_deref()); + } + UiEvent::PeerConnectionFailed { id } => { + state.peers.remove(&id); + state.audio_levels.remove(&id); + state.connecting.remove(&id); + state.ever_connected.remove(&id); + notify::play(Sound::ReconnectFailed, state.config.custom_sound_reconnect_failed.as_deref()); } UiEvent::PeerUpdated { id, state: peer_state } => { state.peers.insert(id, peer_state); } UiEvent::PeerConnecting { id } => { + let is_reconnect_attempt = state.ever_connected.contains(&id); + let was_already_connecting = state.connecting.contains(&id); state.connecting.insert(id); + if is_reconnect_attempt && !was_already_connecting { + notify::play(Sound::ReconnectAttempt, state.config.custom_sound_reconnect_attempt.as_deref()); + } } UiEvent::PeerConnected { id } => { + let was_reconnect = state.ever_connected.contains(&id); state.connecting.remove(&id); state.ever_connected.insert(id); + if was_reconnect { + notify::play(Sound::Reconnected, state.config.custom_sound_reconnected.as_deref()); + } } UiEvent::AudioLevels(levels) => { for (id, val) in levels { @@ -288,6 +326,24 @@ fn update(state: &mut AppState, message: AppMessage) -> Task { // Applied on the next join, since the endpoint is rebuilt then. let _ = state.controller.send(CoreCommand::SetNetworkMode(mode)); } + AppMessage::ToggleNotifications(enabled) => { + state.config.notifications_enabled = enabled; + state.config.save(); + notify::set_enabled(enabled); + } + AppMessage::CustomSoundPathChanged(sound, path) => { + let path_opt = if path.trim().is_empty() { None } else { Some(path) }; + match sound { + Sound::SelfJoin => state.config.custom_sound_self_join = path_opt, + Sound::PeerJoin => state.config.custom_sound_peer_join = path_opt, + Sound::PeerLeave => state.config.custom_sound_peer_leave = path_opt, + Sound::ReconnectAttempt => state.config.custom_sound_reconnect_attempt = path_opt, + Sound::Reconnected => state.config.custom_sound_reconnected = path_opt, + Sound::SelfLeave => state.config.custom_sound_self_leave = path_opt, + Sound::MicToggle => state.config.custom_sound_mic_toggle = path_opt, + Sound::ReconnectFailed => state.config.custom_sound_reconnect_failed = path_opt, + } + } AppMessage::EventOccurred(Event::Keyboard(keyboard::Event::KeyPressed { key, .. })) => { if state.is_setting_hotkey { state.ptt_hotkey = key.clone(); @@ -308,6 +364,7 @@ fn update(state: &mut AppState, message: AppMessage) -> Task { state.current_screen = Screen::Settings; } AppMessage::NavigateBack => { + state.config.save(); if state.ticket.is_empty() { state.current_screen = Screen::Home; } else { @@ -407,30 +464,50 @@ fn view(state: &AppState) -> Element<'_, AppMessage> { ].width(iced::Length::Fill).padding(10); if state.current_screen == Screen::Settings { - let settings_box = container( + let path_field = |label: &'static str, sound: Sound| { + let path = state.custom_sound_path(sound); + let validation_widget = match notify::validate_custom_path(path) { + None => text(""), + Some(true) => text("✓ File found").size(10).color(color_green), + Some(false) => text("✗ File not found").size(10).color(color_red), + }; + + column![ + row![ + text(label).size(12).color(Color::from_rgb8(180, 180, 180)), + horizontal_space(), + validation_widget, + ].align_y(iced::alignment::Vertical::Center), + text_input("Default (embedded)...", path) + .on_input(move |val| AppMessage::CustomSoundPathChanged(sound, val)) + .style(t_style) + .padding(8) + ].spacing(4).width(iced::Length::Fixed(320.0)) + }; + + let settings_content = scrollable( column![ text("Settings").size(24).color(color_blue), vertical_space(20.0), text("Device Settings").size(14).color(color_subtext), - row![ - column![ - text("Input Target").size(12).color(color_subtext), - pick_list( - &state.input_devices[..], - state.selected_input.clone(), - AppMessage::InputDeviceSelected, - ).width(iced::Length::Fixed(160.0)) - ].spacing(4), - horizontal_space(), - column![ - text("Output Target").size(12).color(color_subtext), - pick_list( - &state.output_devices[..], - state.selected_output.clone(), - AppMessage::OutputDeviceSelected, - ).width(iced::Length::Fixed(160.0)) - ].spacing(4), - ].spacing(10), + vertical_space(10.0), + column![ + text("Input Device").size(12).color(Color::from_rgb8(180, 180, 180)), + pick_list( + &state.input_devices[..], + state.selected_input.as_ref(), + AppMessage::InputDeviceSelected, + ).width(iced::Length::Fixed(320.0)), + ].spacing(4).width(iced::Length::Fixed(320.0)), + vertical_space(10.0), + column![ + text("Output Device").size(12).color(Color::from_rgb8(180, 180, 180)), + pick_list( + &state.output_devices[..], + state.selected_output.as_ref(), + AppMessage::OutputDeviceSelected, + ).width(iced::Length::Fixed(320.0)), + ].spacing(4).width(iced::Length::Fixed(320.0)), vertical_space(20.0), column![ text(format!("Mic Sensitivity (Noise Gate): {:.1}%", state.config.noise_gate_threshold * 100.0)).size(14).color(color_subtext), @@ -447,6 +524,25 @@ fn view(state: &AppState) -> Element<'_, AppMessage> { text(network_mode_hint(state.config.network_mode)).size(11).color(color_subtext), text("Takes effect on your next room join.").size(11).color(color_surface), ].spacing(6).width(iced::Length::Fixed(320.0)), + vertical_space(20.0), + column![ + text("Notification Chimes").size(14).color(color_subtext), + checkbox(state.config.notifications_enabled) + .label("Enable sound notifications") + .on_toggle(AppMessage::ToggleNotifications), + ].spacing(10).width(iced::Length::Fixed(320.0)), + vertical_space(20.0), + text("Custom Chime Files (WAV Paths)").size(14).color(color_subtext), + + path_field("Self Join", Sound::SelfJoin), + path_field("Self Leave", Sound::SelfLeave), + path_field("Peer Join", Sound::PeerJoin), + path_field("Peer Leave", Sound::PeerLeave), + path_field("Reconnect Attempt", Sound::ReconnectAttempt), + path_field("Reconnected", Sound::Reconnected), + path_field("Mic Toggle", Sound::MicToggle), + path_field("Reconnect Failed", Sound::ReconnectFailed), + vertical_space(30.0), button( text("Back") @@ -460,10 +556,13 @@ fn view(state: &AppState) -> Element<'_, AppMessage> { ] .align_x(iced::alignment::Horizontal::Center) .spacing(10) - ) - .style(c_style(color_mantle, color_surface, 12.0)) - .padding(30) - .width(420); + ); + + let settings_box = container(settings_content) + .style(c_style(color_mantle, color_surface, 12.0)) + .padding(30) + .width(460) + .height(500); let content = column![settings_box].align_x(iced::alignment::Horizontal::Center); diff --git a/src/config.rs b/src/config.rs index 3468231..e1bca9c 100644 --- a/src/config.rs +++ b/src/config.rs @@ -36,6 +36,10 @@ impl std::fmt::Display for NetworkMode { } } +fn default_true() -> bool { + true +} + #[derive(Debug, Clone, Serialize, Deserialize)] pub struct AppConfig { pub input_device: String, @@ -43,6 +47,24 @@ pub struct AppConfig { pub noise_gate_threshold: f32, #[serde(default)] pub network_mode: NetworkMode, + #[serde(default = "default_true")] + pub notifications_enabled: bool, + #[serde(default)] + pub custom_sound_self_join: Option, + #[serde(default)] + pub custom_sound_peer_join: Option, + #[serde(default)] + pub custom_sound_peer_leave: Option, + #[serde(default)] + pub custom_sound_reconnect_attempt: Option, + #[serde(default)] + pub custom_sound_reconnected: Option, + #[serde(default)] + pub custom_sound_self_leave: Option, + #[serde(default)] + pub custom_sound_mic_toggle: Option, + #[serde(default)] + pub custom_sound_reconnect_failed: Option, } impl Default for AppConfig { @@ -52,6 +74,15 @@ impl Default for AppConfig { output_device: "".to_string(), noise_gate_threshold: 0.01, network_mode: NetworkMode::default(), + notifications_enabled: true, + custom_sound_self_join: None, + custom_sound_peer_join: None, + custom_sound_peer_leave: None, + custom_sound_reconnect_attempt: None, + custom_sound_reconnected: None, + custom_sound_self_leave: None, + custom_sound_mic_toggle: None, + custom_sound_reconnect_failed: None, } } } diff --git a/src/core/messages.rs b/src/core/messages.rs index 37933a8..2eee7af 100644 --- a/src/core/messages.rs +++ b/src/core/messages.rs @@ -23,6 +23,7 @@ pub enum UiEvent { RoomLeft, PeerJoined { id: EndpointId, state: PeerState }, PeerLeft { id: EndpointId }, + PeerConnectionFailed { id: EndpointId }, PeerUpdated { id: EndpointId, state: PeerState }, /// Audio link to a peer is being (re)established — show a connecting state. PeerConnecting { id: EndpointId }, diff --git a/src/core/mod.rs b/src/core/mod.rs index b4a68c2..7b8feac 100644 --- a/src/core/mod.rs +++ b/src/core/mod.rs @@ -510,7 +510,7 @@ async fn run_core_loop( )); transport_evict.disconnect_peer(peer_id).await; jitter_evict.lock().await.remove(&peer_id); - let _ = ui_evict.send(UiEvent::PeerLeft { id: peer_id }).await; + let _ = ui_evict.send(UiEvent::PeerConnectionFailed { id: peer_id }).await; timers_evict.lock().unwrap().remove(&peer_id); }); // Replace (and abort) any timer already pending for diff --git a/src/notify.rs b/src/notify.rs index 644ed2b..b03a3ff 100644 --- a/src/notify.rs +++ b/src/notify.rs @@ -12,10 +12,24 @@ use std::collections::HashMap; use std::path::{Path, PathBuf}; use std::process::{Command, Stdio}; +use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::{Mutex, OnceLock}; +static ENABLED: AtomicBool = AtomicBool::new(true); + +/// Enable or disable all notification chimes globally. +pub fn set_enabled(enabled: bool) { + ENABLED.store(enabled, Ordering::Relaxed); +} + +/// Check if notifications are enabled. +pub fn is_enabled() -> bool { + ENABLED.load(Ordering::Relaxed) +} + + /// A notification event with a distinct chime. -#[derive(Clone, Copy, PartialEq, Eq, Hash)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pub enum Sound { /// You joined a room. SelfJoin, @@ -23,6 +37,16 @@ pub enum Sound { PeerJoin, /// A participant left. PeerLeave, + /// Reconnecting to a peer. + ReconnectAttempt, + /// Reconnected to a peer. + Reconnected, + /// You left a room. + SelfLeave, + /// Mic mute/unmute toggle. + MicToggle, + /// Reconnect failed / peer evicted. + ReconnectFailed, } impl Sound { @@ -32,6 +56,11 @@ impl Sound { Sound::SelfJoin => include_bytes!("../assets/sounds/self-join.wav"), Sound::PeerJoin => include_bytes!("../assets/sounds/peer-join.wav"), Sound::PeerLeave => include_bytes!("../assets/sounds/peer-leave.wav"), + Sound::ReconnectAttempt => include_bytes!("../assets/sounds/reconnect-attempt.wav"), + Sound::Reconnected => include_bytes!("../assets/sounds/reconnected.wav"), + Sound::SelfLeave => include_bytes!("../assets/sounds/self-leave.wav"), + Sound::MicToggle => include_bytes!("../assets/sounds/mic-toggle.wav"), + Sound::ReconnectFailed => include_bytes!("../assets/sounds/reconnect-failed.wav"), } } @@ -41,16 +70,60 @@ impl Sound { Sound::SelfJoin => "self-join", Sound::PeerJoin => "peer-join", Sound::PeerLeave => "peer-leave", + Sound::ReconnectAttempt => "reconnect-attempt", + Sound::Reconnected => "reconnected", + Sound::SelfLeave => "self-leave", + Sound::MicToggle => "mic-toggle", + Sound::ReconnectFailed => "reconnect-failed", } } } +/// Helper to expand `~` at the start of a path to the user's home directory. +pub fn expand_tilde(path_str: &str) -> PathBuf { + let trimmed = path_str.trim(); + if trimmed == "~" { + dirs::home_dir().unwrap_or_else(|| PathBuf::from(trimmed)) + } else if let Some(stripped) = trimmed.strip_prefix("~/") { + dirs::home_dir() + .map(|home| home.join(stripped)) + .unwrap_or_else(|| PathBuf::from(trimmed)) + } else { + PathBuf::from(trimmed) + } +} + +/// Check if a custom path is valid (i.e. if it exists and is a file). +/// Returns `None` if empty/whitespace, `Some(true)` if valid, `Some(false)` if invalid. +pub fn validate_custom_path(path_str: &str) -> Option { + if path_str.trim().is_empty() { + None + } else { + let path = expand_tilde(path_str); + Some(path.exists() && path.is_file()) + } +} + /// Play a notification chime, fire-and-forget. Never blocks; never errors out. -pub fn play(sound: Sound) { - let Some(path) = cached_path(sound) else { +pub fn play(sound: Sound, custom_path: Option<&str>) { + if !is_enabled() { return; - }; - std::thread::spawn(move || spawn_player(&path)); + } + let custom_path = custom_path.map(String::from); + std::thread::spawn(move || { + if let Some(ref path_str) = custom_path + && !path_str.trim().is_empty() + { + let path = expand_tilde(path_str); + if path.exists() && path.is_file() { + spawn_player(&path); + return; + } + } + if let Some(path) = cached_path(sound) { + spawn_player(&path); + } + }); } /// Materialize the embedded WAV to a temp file the first time it's needed and @@ -89,3 +162,26 @@ fn spawn_player(path: &Path) { } } } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_expand_tilde() { + if let Some(home) = dirs::home_dir() { + assert_eq!(expand_tilde("~"), home); + assert_eq!(expand_tilde("~/foo/bar.wav"), home.join("foo/bar.wav")); + } + assert_eq!(expand_tilde("/absolute/path.wav"), PathBuf::from("/absolute/path.wav")); + assert_eq!(expand_tilde("relative/path.wav"), PathBuf::from("relative/path.wav")); + assert_eq!(expand_tilde(" "), PathBuf::from("")); + } + + #[test] + fn test_validate_custom_path() { + assert_eq!(validate_custom_path(""), None); + assert_eq!(validate_custom_path(" "), None); + assert_eq!(validate_custom_path("/non/existent/file.wav"), Some(false)); + } +}