From c43805f86a6f6b87a3f75ab8ece2610905344ec9 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 26 Feb 2026 17:15:57 -0600 Subject: fix(recording): replace blocking y-or-n-p with non-blocking warning The no-audio warning was a y-or-n-p prompt that blocked recording start. This fires too often in legitimate scenarios (starting before a meeting connects, during silence). Replace with a message in the echo area and diagnostic steps logged silently to *Messages*. Also add pre-recording validation to the Commentary section. --- modules/video-audio-recording.el | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) (limited to 'modules/video-audio-recording.el') diff --git a/modules/video-audio-recording.el b/modules/video-audio-recording.el index 6ab617ec..2bf35166 100644 --- a/modules/video-audio-recording.el +++ b/modules/video-audio-recording.el @@ -58,6 +58,18 @@ ;; Use this DURING a phone call to see if the call audio is going through ;; the device you think it is. Helps diagnose "missing one side" issues. ;; +;; Pre-Recording Validation +;; ======================== +;; Every time you start a recording, the system audio device is +;; validated automatically: +;; 1. If the configured monitor device no longer exists, it's +;; auto-updated to the current default sink's monitor. +;; 2. If the default audio output has changed (e.g. Bluetooth +;; reconnect, USB DAC plugged in), the monitor is auto-updated. +;; 3. If no audio is currently playing through the monitored sink, +;; a warning is shown in the echo area. Recording proceeds +;; without interruption — check *Messages* for diagnostic steps. +;; ;; Testing Devices Before Important Recordings ;; ============================================ ;; Always test devices before important recordings: @@ -647,15 +659,14 @@ is currently playing." (has-audio (and sink-index (cj/recording--sink-has-active-audio-p sink-index sink-inputs)))) (unless has-audio - (unless (y-or-n-p - (format (concat "Warning: No audio is playing through %s.\n" - "If you're in a meeting, the other participants may not be recorded.\n" - "- Check that your call app is using the expected audio output\n" - "- Run C-; r w to see which device your call is using\n" - "- Run C-; r s to switch devices\n" - "Continue anyway? ") - sink-name)) - (user-error "Recording cancelled"))))))) + (message "Warning: No audio detected on %s — other participants may not be recorded" + sink-name) + (cj/log-silently + (concat "No audio playing through %s.\n" + "If you're in a meeting, the other participants may not be recorded.\n" + " C-; r w show which device your call is using\n" + " C-; r s switch devices") + sink-name)))))) ;;; ============================================================ ;;; Toggle Commands (User-Facing) -- cgit v1.2.3