diff --git a/src/metadata-writer/flacmetata.ts b/src/metadata-writer/flacmetata.ts index 488a75c..1a9b4aa 100644 --- a/src/metadata-writer/flacmetata.ts +++ b/src/metadata-writer/flacmetata.ts @@ -29,26 +29,28 @@ export const writeMetadataFlac = ( flac.setTag('LYRICS=' + track.LYRICS.LYRICS_TEXT); } - if (track.SNG_CONTRIBUTORS.composer) { - flac.setTag('COMPOSER=' + track.SNG_CONTRIBUTORS.composer.join(', ')); - } - if (track.SNG_CONTRIBUTORS.publisher) { - flac.setTag('ORGANIZATION=' + track.SNG_CONTRIBUTORS.publisher.join(', ')); - } - if (track.SNG_CONTRIBUTORS.producer) { - flac.setTag('PRODUCER=' + track.SNG_CONTRIBUTORS.producer.join(', ')); - } - if (track.SNG_CONTRIBUTORS.engineer) { - flac.setTag('ENGINEER=' + track.SNG_CONTRIBUTORS.engineer.join(', ')); - } - if (track.SNG_CONTRIBUTORS.writer) { - flac.setTag('WRITER=' + track.SNG_CONTRIBUTORS.writer.join(', ')); - } - if (track.SNG_CONTRIBUTORS.author) { - flac.setTag('AUTHOR=' + track.SNG_CONTRIBUTORS.author.join(', ')); - } - if (track.SNG_CONTRIBUTORS.mixer) { - flac.setTag('MIXER=' + track.SNG_CONTRIBUTORS.mixer.join(', ')); + if (track.SNG_CONTRIBUTORS) { + if (track.SNG_CONTRIBUTORS.composer) { + flac.setTag('COMPOSER=' + track.SNG_CONTRIBUTORS.composer.join(', ')); + } + if (track.SNG_CONTRIBUTORS.publisher) { + flac.setTag('ORGANIZATION=' + track.SNG_CONTRIBUTORS.publisher.join(', ')); + } + if (track.SNG_CONTRIBUTORS.producer) { + flac.setTag('PRODUCER=' + track.SNG_CONTRIBUTORS.producer.join(', ')); + } + if (track.SNG_CONTRIBUTORS.engineer) { + flac.setTag('ENGINEER=' + track.SNG_CONTRIBUTORS.engineer.join(', ')); + } + if (track.SNG_CONTRIBUTORS.writer) { + flac.setTag('WRITER=' + track.SNG_CONTRIBUTORS.writer.join(', ')); + } + if (track.SNG_CONTRIBUTORS.author) { + flac.setTag('AUTHOR=' + track.SNG_CONTRIBUTORS.author.join(', ')); + } + if (track.SNG_CONTRIBUTORS.mixer) { + flac.setTag('MIXER=' + track.SNG_CONTRIBUTORS.mixer.join(', ')); + } } if (cover) { diff --git a/src/metadata-writer/id3.ts b/src/metadata-writer/id3.ts index ab8a3a0..e830c6d 100644 --- a/src/metadata-writer/id3.ts +++ b/src/metadata-writer/id3.ts @@ -42,30 +42,31 @@ export const writeMetadataMp3 = (buffer: Buffer, track: trackType, cover?: Buffe value: track.DURATION, }); - if (track.SNG_CONTRIBUTORS.composer) { - writer.setFrame('TXXX', { - description: 'COMPOSER', - value: track.SNG_CONTRIBUTORS.composer.join(', '), - }); - } - - if (track.SNG_CONTRIBUTORS.writer) { - writer.setFrame('TXXX', { - description: 'LYRICIST', - value: track.SNG_CONTRIBUTORS.writer.join(', '), - }); - } - if (track.SNG_CONTRIBUTORS.mixer) { - writer.setFrame('TXXX', { - description: 'MIXARTIST', - value: track.SNG_CONTRIBUTORS.mixer.join(', '), - }); - } - if (track.SNG_CONTRIBUTORS.producer && track.SNG_CONTRIBUTORS.engineer) { - writer.setFrame('TXXX', { - description: 'INVOLVEDPEOPLE', - value: track.SNG_CONTRIBUTORS.producer.concat(track.SNG_CONTRIBUTORS.engineer).join(', '), - }); + if (track.SNG_CONTRIBUTORS) { + if (track.SNG_CONTRIBUTORS.composer) { + writer.setFrame('TXXX', { + description: 'COMPOSER', + value: track.SNG_CONTRIBUTORS.composer.join(', '), + }); + } + if (track.SNG_CONTRIBUTORS.writer) { + writer.setFrame('TXXX', { + description: 'LYRICIST', + value: track.SNG_CONTRIBUTORS.writer.join(', '), + }); + } + if (track.SNG_CONTRIBUTORS.mixer) { + writer.setFrame('TXXX', { + description: 'MIXARTIST', + value: track.SNG_CONTRIBUTORS.mixer.join(', '), + }); + } + if (track.SNG_CONTRIBUTORS.producer && track.SNG_CONTRIBUTORS.engineer) { + writer.setFrame('TXXX', { + description: 'INVOLVEDPEOPLE', + value: track.SNG_CONTRIBUTORS.producer.concat(track.SNG_CONTRIBUTORS.engineer).join(', '), + }); + } } if (track.LYRICS) { diff --git a/src/types/tracks.ts b/src/types/tracks.ts index 7d93138..a5900a7 100644 --- a/src/types/tracks.ts +++ b/src/types/tracks.ts @@ -44,7 +44,7 @@ interface songType { SMARTRADIO: string; // 0 SNG_ID: string; // '3135556' SNG_TITLE: string; // 'Harder, Better, Faster, Stronger' - SNG_CONTRIBUTORS: { + SNG_CONTRIBUTORS?: { main_artist: string[]; //['Daft Punk'] author?: string[]; // ['Edwin Birdsong', 'Guy-Manuel de Homem-Christo', 'Thomas Bangalter'] composer?: string[];