diff options
| author | Craig Jennings <c@cjennings.net> | 2026-02-26 17:15:57 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-02-26 17:15:57 -0600 |
| commit | c43805f86a6f6b87a3f75ab8ece2610905344ec9 (patch) | |
| tree | 7fea59efbdd25de9271c18c8bed5cdb612cc53f3 /modules | |
| parent | 58ef63abd5a9187ee93609f142cb21a933da16c5 (diff) | |
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.
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/video-audio-recording.el | 29 |
1 files changed, 20 insertions, 9 deletions
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) |
