feat: add sound notification #6

Merged
Stevan merged 8 commits from stevanfreeborn/feat/add-sound-notification into main 2026-07-28 22:39:01 +00:00
Showing only changes of commit 1344625fc9 - Show all commits
+12 -4
View File
@@ -1,5 +1,6 @@
use std::sync::mpsc;
use std::thread;
use std::sync::atomic::{AtomicBool, Ordering};
use std::sync::{LazyLock, mpsc};
use std::time::Duration;
use cpal::traits::{DeviceTrait, HostTrait, StreamTrait};
@@ -12,14 +13,21 @@ const NOTE_2_DURATION_SECS: f32 = 0.25;
const TOTAL_CHIME_DURATION_SECS: f32 = NOTE_1_DURATION_SECS + NOTE_2_DURATION_SECS;
const CHIME_VOLUME_GAIN: f32 = 0.25;
static SOUND_BUSY: LazyLock<AtomicBool> = LazyLock::new(|| AtomicBool::new(false));
pub fn play_notification_sound() {
thread::spawn(move || {
if SOUND_BUSY.swap(true, Ordering::AcqRel) {
return;
}
std::thread::spawn(move || {
// term bell fall back
print!("\x07");
let _ = std::io::Write::flush(&mut std::io::stdout());
let _ = play_audio_chime();
SOUND_BUSY.store(false, Ordering::Release);
});
}