feat(media): expose podcast name + cover art to system Now Playing

- mpv: --force-media-title '<podcast> — <episode>' so macOS Now Playing shows
  the podcast name instead of the download-hash filename (mediaTitle PlayOption)
- media registry: artist is now the human podcast title (customName ||
  podcast.title), falling back to podcastId
- downloads: write the podcast cover as a <base>.jpg sibling so mpv's
  cover-art-auto=exact picks it up for artwork; delete it with the download
This commit is contained in:
2026-08-10 16:50:08 -04:00
parent d2c46631ef
commit 5dce21c038
3 changed files with 46 additions and 1 deletions

View File

@@ -47,6 +47,7 @@ export interface PlayOptions {
startPosition?: number;
volume?: number;
speed?: number;
mediaTitle?: string;
}
// ── Utilities ────────────────────────────────────────────────────────
@@ -109,6 +110,10 @@ export class MpvBackend implements AudioBackend {
`--speed=${opts?.speed ?? 1}`,
];
if (opts?.mediaTitle) {
args.push(`--force-media-title=${opts.mediaTitle}`);
}
if (opts?.startPosition && opts.startPosition > 0) {
args.push(`--start=${opts.startPosition}`);
}