aboutsummaryrefslogtreecommitdiff
path: root/scripts/google-keep
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-29 05:34:22 -0400
committerCraig Jennings <c@cjennings.net>2026-06-29 05:34:22 -0400
commitfc9e838f7c3ded6788de38c2a62bebb5afd99c79 (patch)
tree8f2f73a8ad0f039bf2a8f7d53d1bcef8cdcc59fd /scripts/google-keep
parent2ea0e2975aa4c5428ea47f26139438763273a546 (diff)
downloaddotemacs-fc9e838f7c3ded6788de38c2a62bebb5afd99c79.tar.gz
dotemacs-fc9e838f7c3ded6788de38c2a62bebb5afd99c79.zip
refactor: split video-audio-recording.el into layered modules
Break the 1025-line video-audio-recording.el into a thin public face plus two layered libraries, moving every function verbatim so behavior and public names are unchanged: - video-audio-recording-devices.el — base layer: PulseAudio source and sink discovery, the pactl output parsers, device labeling and sort/status helpers for completing-read, and the lookup predicates. Pure string and shell-query helpers with no dependency on recording state, config, or the engine. This is the heavily-tested core. - video-audio-recording-capture.el — engine: ffmpeg/wf-recorder command construction, the recording process lifecycle (sentinel, producer-first shutdown, exit polling), the modeline indicator, dependency checks, device acquisition and validation, and the start/stop entry points. Requires the devices layer. video-audio-recording.el keeps configuration and the recording process-handle state, the device-diagnostic and device-test commands, the toggle commands, and the C-; r keymap, and requires the two layers. The engine reads and updates the config and process-handle variables, which the top module owns, through forward declarations, so no layer requires the top module back. No function call crosses from a layer up into the top module, so the split needs no forward-declared functions. Every public name is preserved, so all 323 existing video-audio-recording tests pass unchanged through the require chain. The two new modules carry the load-graph and package headers and join the header-contract allowlist. Claude-Session: https://claude.ai/code/session_014fyKMTTqLrZpL3rDF3dYc3
Diffstat (limited to 'scripts/google-keep')
0 files changed, 0 insertions, 0 deletions