fix(local files): metadata artist garbage

This commit is contained in:
Samidy 2026-03-13 05:28:49 +03:00
parent 6870674cb4
commit 43a5f1b714

View file

@ -160,16 +160,25 @@ export async function readTrackMetadata(file, siblings = []) {
if (data) {
metadata.title = data.title || metadata.title;
metadata.artists.push(
...(data.artist || '')
.split(';')
.map((a) => a.trim())
.filter((a) => a)
);
metadata.artist = data.artist || metadata.artist;
const artistNames = (data.artist || "")
.split(";")
.map((a) => a.trim())
.filter((a) => a);
if (artistNames.length > 0) {
metadata.artists = artistNames.map((name) => ({ name }));
metadata.artist = metadata.artists[0];
}
metadata.album.title = data.albumTitle || metadata.album.title;
metadata.album.releaseDate = data.releaseDate || metadata.album.releaseDate;
if (data.albumArtist) {
metadata.album.artist = { name: data.albumArtist };
} else if (metadata.artist.name !== "Unknown Artist") {
metadata.album.artist = { name: metadata.artist.name };
}
if (data.cover) {
const blob = new Blob([data.cover.data], { type: data.cover.type });
metadata.album.cover = URL.createObjectURL(blob);
@ -184,10 +193,6 @@ export async function readTrackMetadata(file, siblings = []) {
console.warn('Error reading metadata for', file.name, e);
}
if (metadata.artists.length > 0) {
metadata.artist = metadata.artists[0];
}
if (metadata.album.cover === 'assets/appicon.png' && siblings.length > 0) {
const baseName = file.name.substring(0, file.name.lastIndexOf('.'));
const imageExtensions = ['.jpg', '.jpeg', '.png', '.webp'];