<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/tests/test-music-config--append-track-to-m3u-file.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>2025-11-15T19:16:57+00:00</updated>
<entry>
<title>feat(music): Switch EMMS from MPD to MPV backend</title>
<updated>2025-11-15T19:16:57+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-15T19:16:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=b7d6310eb6eb866bc22a425e1851ac7147423412'/>
<id>urn:sha1:b7d6310eb6eb866bc22a425e1851ac7147423412</id>
<content type='text'>
Major improvements to music player configuration:

Backend Changes:
- Switch from emms-player-mpd to emms-player-mpv
- Remove MPD daemon dependency (no service management required)
- Configure MPV with --quiet, --no-video, --audio-display flags
- Support both local files and streaming URLs (http/https/mms)

Keybinding Enhancements:
- Add C-; m n → next track
- Add C-; m p → previous track
- Add C-; m g → go to playlist
- In playlist: n/P for next/prev, f/b for seek forward/backward
- Update which-key descriptions

Code Quality:
- Use music-dir constant from user-constants.el (not hardcoded path)
- Add (require 'user-constants) for proper dependency
- Update commentary to reflect MPV backend

Test Fixes:
- Fix 8 failing append-track tests
- Update test mock data to use cj/music-root for portability
- All 104 music-config tests now passing

Benefits:
- No daemon to start/stop/manage
- Simpler architecture (one process vs MPD+EMMS)
- Streaming radio URLs work out of the box
- Better path consistency across codebase
</content>
</entry>
<entry>
<title>Revert "checking in modified/removed tests and other misc changes"</title>
<updated>2025-11-14T08:35:00+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-14T08:35:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=2312e40358a923fe72785af504c9272506d8d58d'/>
<id>urn:sha1:2312e40358a923fe72785af504c9272506d8d58d</id>
<content type='text'>
This reverts commit 1218bae708a6755e3628f15fef58e6806ac81039.
</content>
</entry>
<entry>
<title>checking in modified/removed tests and other misc changes</title>
<updated>2025-11-14T08:31:16+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-14T08:31:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=1218bae708a6755e3628f15fef58e6806ac81039'/>
<id>urn:sha1:1218bae708a6755e3628f15fef58e6806ac81039</id>
<content type='text'>
</content>
</entry>
<entry>
<title>test: Add unit tests for music config and org-contacts functions</title>
<updated>2025-11-03T22:15:24+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2025-11-03T22:15:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=10bae69346474c7bb3d872d25489f3a8f0eed774'/>
<id>urn:sha1:10bae69346474c7bb3d872d25489f3a8f0eed774</id>
<content type='text'>
Add comprehensive unit tests for various Emacs Lisp functions,
covering M3U file handling, music file validation, and contact
capture template finalization:

- Tests for appending tracks to M3U files Tests for recursive music
- collection Tests for completion table creation Tests for
- extracting M3U basenames and files Tests for M3U file parsing
- Tests for filename sanitization Tests for directory and file
- validity checks Tests for org-contacts capture template
- finalization

Each test validates normal, boundary, and error conditions. These
tests improve code reliability by verifying expected behavior across
a range of scenarios.
</content>
</entry>
</feed>
