fix(local files): metadata artist garbage
This commit is contained in:
parent
6870674cb4
commit
43a5f1b714
1 changed files with 16 additions and 11 deletions
|
|
@ -160,16 +160,25 @@ export async function readTrackMetadata(file, siblings = []) {
|
||||||
|
|
||||||
if (data) {
|
if (data) {
|
||||||
metadata.title = data.title || metadata.title;
|
metadata.title = data.title || metadata.title;
|
||||||
metadata.artists.push(
|
const artistNames = (data.artist || "")
|
||||||
...(data.artist || '')
|
.split(";")
|
||||||
.split(';')
|
.map((a) => a.trim())
|
||||||
.map((a) => a.trim())
|
.filter((a) => a);
|
||||||
.filter((a) => a)
|
|
||||||
);
|
if (artistNames.length > 0) {
|
||||||
metadata.artist = data.artist || metadata.artist;
|
metadata.artists = artistNames.map((name) => ({ name }));
|
||||||
|
metadata.artist = metadata.artists[0];
|
||||||
|
}
|
||||||
|
|
||||||
metadata.album.title = data.albumTitle || metadata.album.title;
|
metadata.album.title = data.albumTitle || metadata.album.title;
|
||||||
metadata.album.releaseDate = data.releaseDate || metadata.album.releaseDate;
|
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) {
|
if (data.cover) {
|
||||||
const blob = new Blob([data.cover.data], { type: data.cover.type });
|
const blob = new Blob([data.cover.data], { type: data.cover.type });
|
||||||
metadata.album.cover = URL.createObjectURL(blob);
|
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);
|
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) {
|
if (metadata.album.cover === 'assets/appicon.png' && siblings.length > 0) {
|
||||||
const baseName = file.name.substring(0, file.name.lastIndexOf('.'));
|
const baseName = file.name.substring(0, file.name.lastIndexOf('.'));
|
||||||
const imageExtensions = ['.jpg', '.jpeg', '.png', '.webp'];
|
const imageExtensions = ['.jpg', '.jpeg', '.png', '.webp'];
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue