fix: improve yt-dlp search reliability and artist folder structure
- Switch to YouTube Music search (ytmsearch3) as primary source with fallback to ytsearch5 if no result found - Add duration filter (±30s/+45s) and live-stream exclusion via --match-filter when iTunes trackTimeMillis is available - Send trackTimeMillis from frontend in download payload - Pass durationMs through downloadTrack and downloadAlbumTracks - Use first artist only (split on comma) for folder path on multi-artist tracks Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
2b1eff2762
commit
cc7fc80c71
2 files changed
+54
-24
No files matched your search
@@ -294,10 +294,11 @@ export async function executeDownload() {
|
||||
itunesId: S.downloadTarget.trackId || S.downloadTarget.collectionId || null,
|
||||
collectionId: S.downloadTarget.collectionId || null,
|
||||
explicit: S.downloadTarget.trackExplicitness === 'explicit',
|
||||
trackNum: S.downloadTarget.trackNumber || undefined,
|
||||
totalTracks: S.downloadTarget.trackCount || undefined,
|
||||
discNum: S.downloadTarget.discNumber || undefined,
|
||||
discTotal: S.downloadTarget.discCount || undefined,
|
||||
trackNum: S.downloadTarget.trackNumber || undefined,
|
||||
totalTracks: S.downloadTarget.trackCount || undefined,
|
||||
discNum: S.downloadTarget.discNumber || undefined,
|
||||
discTotal: S.downloadTarget.discCount || undefined,
|
||||
durationMs: S.downloadTarget.trackTimeMillis || undefined,
|
||||
};
|
||||
addJob(jobId, payload.title, payload.artist, payload.type);
|
||||
try {
|
||||
|
||||
Reference in new issue
Block a user