fix(now-playing): episode as title, podcast as artist on both paths
The card put the podcast name in the title slot ('Podcast — Episode'
prefix truncating on long names) with an empty artist slot for local
playback — the downloaded files carry no artist tag. Now:
- mediaTitle is the episode title only (UI + CLI); streams keep their
artist from stream tags, matching Apple Podcasts' title/artist layout.
- downloads are tagged at completion (ffmpeg -c copy, atomic rename):
title=episode, artist=podcast — verified on a real 72MB file in 1.5s.
This commit is contained in:
@@ -348,7 +348,7 @@ async function play(episode: Episode): Promise<void> {
|
||||
volume: vol,
|
||||
speed: spd,
|
||||
startPosition: startPos > 0 ? startPos : undefined,
|
||||
mediaTitle: podcastTitle ? `${podcastTitle} — ${episode.title}` : episode.title,
|
||||
mediaTitle: episode.title,
|
||||
coverArtPath: coverArtPath ?? undefined,
|
||||
});
|
||||
|
||||
@@ -444,9 +444,7 @@ async function load(episode: Episode): Promise<void> {
|
||||
volume: volume(),
|
||||
speed: storeSpeed || speed(),
|
||||
startPosition: pos > 0 ? pos : undefined,
|
||||
mediaTitle: podcastTitle
|
||||
? `${podcastTitle} — ${episode.title}`
|
||||
: episode.title,
|
||||
mediaTitle: episode.title,
|
||||
coverArtPath: coverArtPath ?? undefined,
|
||||
})
|
||||
.catch(() => {});
|
||||
@@ -620,9 +618,7 @@ async function switchBackend(name: BackendName): Promise<void> {
|
||||
startPosition: pos,
|
||||
volume: vol,
|
||||
speed: spd,
|
||||
mediaTitle: podcastTitle
|
||||
? `${podcastTitle} — ${ep.title}`
|
||||
: ep.title,
|
||||
mediaTitle: ep.title,
|
||||
coverArtPath: coverArtPath ?? undefined,
|
||||
});
|
||||
setIsPlaying(true);
|
||||
|
||||
Reference in New Issue
Block a user