diff --git a/src/metadata-writer/flacmetata.ts b/src/metadata-writer/flacmetata.ts index 7e0f3d3..1d34b16 100644 --- a/src/metadata-writer/flacmetata.ts +++ b/src/metadata-writer/flacmetata.ts @@ -44,8 +44,10 @@ export const writeMetadataFlac = ( flac.setTag('EXPLICIT=' + track.EXPLICIT_LYRICS); } - if (track.SNG_CONTRIBUTORS) { - flac.setTag(`COPYRIGHT=${RELEASE_YEAR} ${track.SNG_CONTRIBUTORS.main_artist[0]}`); + if (track.SNG_CONTRIBUTORS && !Array.isArray(track.SNG_CONTRIBUTORS)) { + if (track.SNG_CONTRIBUTORS.main_artist) { + flac.setTag(`COPYRIGHT=${RELEASE_YEAR} ${track.SNG_CONTRIBUTORS.main_artist[0]}`); + } if (track.SNG_CONTRIBUTORS.publisher) { flac.setTag('ORGANIZATION=' + track.SNG_CONTRIBUTORS.publisher.join(', ')); } diff --git a/src/metadata-writer/id3.ts b/src/metadata-writer/id3.ts index 808127f..9ab520d 100644 --- a/src/metadata-writer/id3.ts +++ b/src/metadata-writer/id3.ts @@ -65,8 +65,10 @@ export const writeMetadataMp3 = ( writer.setFrame('TPOS', track.DISK_NUMBER).setFrame('TRCK', track.TRACK_NUMBER + '/' + album.nb_tracks); } - if (track.SNG_CONTRIBUTORS) { - writer.setFrame('TCOP', `${RELEASE_YEAR} ${track.SNG_CONTRIBUTORS.main_artist[0]}`); + if (track.SNG_CONTRIBUTORS && !Array.isArray(track.SNG_CONTRIBUTORS)) { + if (track.SNG_CONTRIBUTORS.main_artist) { + writer.setFrame('TCOP', `${RELEASE_YEAR} ${track.SNG_CONTRIBUTORS.main_artist[0]}`); + } if (track.SNG_CONTRIBUTORS.publisher) { writer.setFrame('TPUB', track.SNG_CONTRIBUTORS.publisher.join(', ')); } diff --git a/src/types/tracks.ts b/src/types/tracks.ts index 3778548..d3a9c51 100644 --- a/src/types/tracks.ts +++ b/src/types/tracks.ts @@ -44,17 +44,19 @@ interface songType { SMARTRADIO: string; // 0 SNG_ID: string; // '3135556' SNG_TITLE: string; // 'Harder, Better, Faster, Stronger' - SNG_CONTRIBUTORS?: { - main_artist: string[]; //['Daft Punk'] - author?: string[]; // ['Edwin Birdsong', 'Guy-Manuel de Homem-Christo', 'Thomas Bangalter'] - composer?: string[]; - musicpublisher?: string[]; - producer?: string[]; - publisher: string[]; - engineer?: string[]; - writer?: string[]; - mixer?: string[]; - }; + SNG_CONTRIBUTORS?: + | { + main_artist: string[]; //['Daft Punk'] + author?: string[]; // ['Edwin Birdsong', 'Guy-Manuel de Homem-Christo', 'Thomas Bangalter'] + composer?: string[]; + musicpublisher?: string[]; + producer?: string[]; + publisher: string[]; + engineer?: string[]; + writer?: string[]; + mixer?: string[]; + } + | []; STATUS: number; // 3 S_MOD: number; // 0 S_PREMIUM: number; // 0