summaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2025-11-03 13:51:02 -0600
committerCraig Jennings <c@cjennings.net>2025-11-03 13:51:02 -0600
commitcf90eada0d16133f860b31f618ce0a5fb3468c75 (patch)
treef9fe44569a8c78ef654749bf5eec51e11b3706ed /todo.org
parent6534147e502f3f1d504b8d2d9757aefa04bfbb07 (diff)
feat: Add device selection and diagnostics to recording module
Add interactive device selection to fix recording with multiple audio devices. New features: - cj/recording-list-devices (C-; r d) - Show all available audio sources - cj/recording-select-devices (C-; r s) - Interactively select mic/monitor - cj/recording-parse-sources - Parse pactl output into structured data - Enhanced cj/recording-get-devices with graceful fallback to manual selection Improvements: - Works with PulseAudio and PipeWire - Supports USB devices (Jabra SPEAK 510) - Supports Bluetooth devices - Supports built-in laptop audio - Shows device state (RUNNING, SUSPENDED) during selection - Better error messages with actionable suggestions - Device selection persists across recordings Fixes recording breakage when plugging in external audio interfaces. Addresses Method 1 (Make Using Emacs Frictionless) from V2MOM. Closes #[#B] Fix video/audio recording module sub-tasks: - Add diagnostic command - Add device selection UI - Improve error messages - Make device detection more flexible 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org54
1 files changed, 54 insertions, 0 deletions
diff --git a/todo.org b/todo.org
index 572b7ccd..477abf9a 100644
--- a/todo.org
+++ b/todo.org
@@ -61,8 +61,62 @@ High priority - daily pain point.
** TODO [#B] Fix video/audio recording module (use constantly, just broke)
+Main issue: No way to select audio devices when multiple are available.
+Plugging in external audio interface broke recording - only captured input, not output.
+
Use constantly, needs to work reliably.
+*** TODO [#A] Add diagnostic command cj/recording-list-devices
+Show ALL available PulseAudio/PipeWire sources.
+Helps debug why auto-detection fails.
+User can copy device names if needed.
+
+*** TODO [#A] Add device selection UI
+Prompt user to select mic and system audio sources.
+Cache selected devices for future recordings.
+Allow switching devices without restarting Emacs.
+
+*** TODO [#B] Improve error messages
+Show which devices were found/not found.
+Include actual pactl output in error messages.
+Suggest manual device configuration.
+
+*** TODO [#B] Make device detection more flexible
+Try multiple regex patterns for different audio setups.
+Fallback to prompting user to select from list.
+Support both PulseAudio and PipeWire.
+
+*** TODO [#B] Validate recording startup
+Check process status after starting.
+Parse ffmpeg output for errors.
+Show actual ffmpeg command for debugging.
+
+*** TODO [#C] Add device testing command cj/recording-test-devices
+Records 3 seconds of audio.
+Plays it back.
+Confirms devices work before real recording.
+
+*** TODO [#C] Add recording status display (optional via flag, default off)
+Show "Recording: 00:05:23" in modeline or echo area.
+Timer showing duration.
+File size updating.
+
+*** TODO [#C] Add recording presets
+Screencast (video + audio, high quality).
+Podcast (audio only, voice optimized).
+Meeting (balanced, lower filesize).
+Quick note (audio, low quality, small file).
+
+*** TODO [#C] Build recording history buffer
+*Recordings* buffer showing history.
+Duration, file size, location.
+Quick actions: play, delete, rename, move.
+
+*** TODO [#C] Add post-processing hooks
+Auto-compress after recording.
+Move to cloud sync directory.
+Generate transcript (once transcription workflow exists).
+
** TODO [#B] Fix mail attachment workflow (currently awkward)
Daily workflow improvement.