Add configurable timer and alarm sounds #39

Merged
lost-rob0t merged 1 commit from feat/zara-timer-alarm-sounds into fix/zara-006-timers 2026-07-18 21:17:52 +00:00
lost-rob0t commented 2026-07-18 21:05:10 +00:00 (Migrated from github.com)

What changed

  • added distinct bundled timer and alarm WAV assets
  • added validated timer_sound/1 and alarm_sound/1 Prolog configuration
  • added a Prolog sound playback module using direct mpv process execution
  • made timer completion play its configured sound before the desktop notification
  • packaged sound assets and mpv in every Prolog-capable Nix wrapper
  • added fake-player tests for both sound types and timer completion

Why

Timer completion produced only a desktop notification. Users need an audible signal, with a distinct alarm sound available when alarm scheduling is implemented.

Impact

Timers now play a short bundled chime. Timer and alarm audio paths can be overridden independently in config.pl; playback remains entirely in Prolog.

Validation

  • complete Nix gate: pytest plus every scripts/test-*.sh
  • nix build
  • WAV assets verified as mono 16-bit PCM at 44.1 kHz
## What changed - added distinct bundled timer and alarm WAV assets - added validated `timer_sound/1` and `alarm_sound/1` Prolog configuration - added a Prolog sound playback module using direct `mpv` process execution - made timer completion play its configured sound before the desktop notification - packaged sound assets and `mpv` in every Prolog-capable Nix wrapper - added fake-player tests for both sound types and timer completion ## Why Timer completion produced only a desktop notification. Users need an audible signal, with a distinct alarm sound available when alarm scheduling is implemented. ## Impact Timers now play a short bundled chime. Timer and alarm audio paths can be overridden independently in `config.pl`; playback remains entirely in Prolog. ## Validation - complete Nix gate: pytest plus every `scripts/test-*.sh` - `nix build` - WAV assets verified as mono 16-bit PCM at 44.1 kHz
Sign in to join this conversation.
No description provided.