aboutsummaryrefslogtreecommitdiff
path: root/docs/specs
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-06 09:44:10 -0500
committerCraig Jennings <c@cjennings.net>2026-07-06 09:44:10 -0500
commit348b1d62d40ab42697522552ba1e0cd98f007a5d (patch)
tree66c8ac5923684f0cbfe99686131636c24552abad /docs/specs
parentdca4e105e20d9218277ad61bb9c7f3e199ef699f (diff)
downloaddotemacs-348b1d62d40ab42697522552ba1e0cd98f007a5d.tar.gz
dotemacs-348b1d62d40ab42697522552ba1e0cd98f007a5d.zip
feat(music): source M3U playlists from multiple directories
The MPD radio-stream playlists moved into version control at ~/.local/share/mpd/playlists/, while the 24 local-library playlists stay at ~/music/. MPD has a single playlist_directory and its load only sees that one, so the union has to happen at the Emacs layer. I added cj/music-m3u-roots, a precedence-ordered list of directories the reading path unions (get-m3u-files, basenames, select, load). Missing directories are skipped. On a basename collision the earlier root wins, so a local playlist shadows a same-named radio one. Saving and radio-station creation still target the single cj/music-m3u-root. Radio .m3u hold stream URLs, which the track reader and the mpv subprocess already handle, so nothing else changed to play them. The two tests that pinned the old single-directory contract now bind the list. Their "missing directory signals an error" cases became "missing directory is skipped" to match the new behavior.
Diffstat (limited to 'docs/specs')
0 files changed, 0 insertions, 0 deletions