<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/tests/test-integration-recording-monitor-capture-interactive.el, branch main</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2026-02-16T01:58:15+00:00</updated>
<entry>
<title>test: add 86 new tests, fix 3 production bugs, fix 8 stale tests</title>
<updated>2026-02-16T01:58:15+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-16T01:58:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=376187d5390dd9caf05ce07d30d62509d5a80c01'/>
<id>urn:sha1:376187d5390dd9caf05ce07d30d62509d5a80c01</id>
<content type='text'>
New test coverage (86 tests across 7 files):
- custom-case: 43 tests (title-case-region, upcase-dwim, downcase-dwim)
- custom-datetime: 10 tests (all insert methods with mocked time)
- config-utilities: 11 tests (format-build-time type branching)
- org-capture-config: 22 tests (date-prefix + event-content)

Production bugs found and fixed:
- custom-case: title-case-region crashes on whitespace/punctuation-only input
  (char-after returns nil when no word chars found)
- org-capture-config: browser branch missing empty-string guard on :initial
  plist value, producing stray newline in capture output
- mousetrap-mode: keymap never registered in minor-mode-map-alist, so mode
  was silently not blocking any mouse events. Now pushes/removes on toggle.

Additional fixes:
- local-repository: fix cons cell syntax bug in localrepo-initialize
  (was calling vars as functions instead of using cons)
- dupre-theme tests: update rainbow-delimiter color expectations
- mousetrap tests: update dashboard profile (primary-click → scroll+primary)
- music completion test: bind completion-ignore-case to prevent pollution
- Delete redundant interactive recording test (duplicate of ERT version)

Refactoring:
- org-capture-config: extract cj/org-capture--date-prefix pure function
  from cj/org-capture-format-event-headline for testability

Test checklist: todo.org updated to [11/25], removed untestable modules
</content>
</entry>
<entry>
<title>feat(recording): rewrite device setup, fix video stop, update modeline icons</title>
<updated>2026-02-06T19:12:44+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-06T19:00:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=3bbab576c5ded49f4e5ab8c5a39d984e5929a4e0'/>
<id>urn:sha1:3bbab576c5ded49f4e5ab8c5a39d984e5929a4e0</id>
<content type='text'>
Video stop fix: kill wf-recorder (producer) first on Wayland so ffmpeg
gets clean EOF, then signal process group. Replaces sit-for with
poll-based wait-for-exit. Fixes zero-byte output files.

Device selection: rewrite quick setup to show all available mics with
PulseAudio descriptions, auto-detect default sink monitor for system
audio. Skip confirmation dialog, add Cancel option to mic list.

Modeline: replace red dot emoji with nerd font icons (mic/camcorder).
Rename quick-setup-for-calls to quick-setup, rebind C-; r s / C-; r S.

173 recording tests pass (was 165).
</content>
</entry>
<entry>
<title>fix(recording): Fix phone call audio capture with amix filter</title>
<updated>2025-11-15T00:34:39+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-15T00:34:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=73a0f0c378ed16425395a74f3c86109f8f1444e6'/>
<id>urn:sha1:73a0f0c378ed16425395a74f3c86109f8f1444e6</id>
<content type='text'>
Phone calls were not capturing the remote person's voice due to severe
volume loss (44 dB) when using the amerge+pan FFmpeg filter combination.

Changes:
- Replace amerge+pan with amix filter (provides 44 dB volume improvement)
- Increase default system volume from 0.5 to 2.0 for better capture levels
- Add diagnostic tool to show active audio playback (C-; r w)
- Add integration test with real voice recording
- Fix batch mode compatibility for test execution

The amix filter properly mixes microphone and system monitor inputs without
the massive volume loss that amerge+pan caused. Verified with automated
integration test showing perfect transcription of test audio.
</content>
</entry>
</feed>
