diff --git a/src/streamers/deezer/parse.ts b/src/streamers/deezer/parse.ts index 2810e9b..9b97a59 100644 --- a/src/streamers/deezer/parse.ts +++ b/src/streamers/deezer/parse.ts @@ -117,6 +117,7 @@ export function parseAlbum(album: DeezerAlbum): Album { export interface DeezerTrack { SNG_ID: string SNG_TITLE: string + VERSION: string EXPLICIT_LYRICS: '0' | '1' TRACK_NUMBER: string DISK_NUMBER: string @@ -151,7 +152,7 @@ export function parseTrack(track: DeezerTrack): Track { if (track.SNG_CONTRIBUTORS?.composer) addt.lyricists = track.SNG_CONTRIBUTORS?.lyricist return { - title: track.SNG_TITLE, + title: track.VERSION ? `${track.SNG_TITLE} ${track.VERSION}` : track.SNG_TITLE, id: track.SNG_ID, url: `https://www.deezer.com/track/${track.SNG_ID}`, explicit: track.EXPLICIT_LYRICS == '1', diff --git a/src/streamers/qobuz/parse.ts b/src/streamers/qobuz/parse.ts index 2b138ae..66adb63 100644 --- a/src/streamers/qobuz/parse.ts +++ b/src/streamers/qobuz/parse.ts @@ -34,6 +34,7 @@ export function parseArtist(raw: RawArtist): Artist { export interface RawAlbum { title: string + version?: string id: string url: string image: { @@ -62,7 +63,7 @@ export interface RawAlbum { export function parseAlbum(raw: RawAlbum) { const album: Album = { - title: raw.title, + title: raw.version ? `${raw.title} (${raw.version})` : raw.title, id: raw.id, url: raw.url ?? `https://play.qobuz.com/album/${raw.id}`, coverArtwork: [ @@ -96,6 +97,7 @@ export function parseAlbum(raw: RawAlbum) { export interface RawTrack { title: string + version?: string id: number copyright?: string performer: RawArtist @@ -110,7 +112,7 @@ export interface RawTrack { export function parseTrack(raw: RawTrack): Track { let track: Track = { - title: raw.title, + title: raw.version ? `${raw.title} (${raw.version})` : raw.title, id: raw.id.toString(), url: `https://play.qobuz.com/track/${raw.id.toString()}`, copyright: raw.copyright, diff --git a/src/streamers/tidal/parse.ts b/src/streamers/tidal/parse.ts index 5e067ad..48afaa9 100644 --- a/src/streamers/tidal/parse.ts +++ b/src/streamers/tidal/parse.ts @@ -92,6 +92,7 @@ export interface RawTrack { trackNumber?: number volumeNumber?: number title: string + version?: string album: RawAlbum } @@ -99,7 +100,7 @@ export function parseTrack(raw: RawTrack): Track { const track: Track = { url: raw.url, id: raw.id, - title: raw.title, + title: raw.version ? `${raw.title} (${raw.version})` : raw.title, durationMs: raw.duration * 1000, artists: raw.artists.map(parseArtist), album: parseAlbum(raw.album)