diff options
| author | Craig Jennings <c@cjennings.net> | 2025-11-03 13:51:02 -0600 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2025-11-03 13:51:02 -0600 |
| commit | cf90eada0d16133f860b31f618ce0a5fb3468c75 (patch) | |
| tree | f9fe44569a8c78ef654749bf5eec51e11b3706ed /todo.org | |
| parent | 6534147e502f3f1d504b8d2d9757aefa04bfbb07 (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.org | 54 |
1 files changed, 54 insertions, 0 deletions
@@ -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. |
