mirror of
https://github.com/FoxxMD/multi-scrobbler.git
synced 2026-09-03 05:10:00 +03:00
refactor(musicbrainz): Rename recording mbid property to recording
So that introducing trackId isn't confusing
This commit is contained in:
@@ -407,7 +407,7 @@ export default class MusicbrainzTransformer extends AtomicPartsTransformer<Exter
|
||||
if(logPreMbid) {
|
||||
const a = play.data.meta?.brainz?.artist;
|
||||
const parts: string[] = [
|
||||
`Recording ${play.data.meta?.brainz?.track ?? '(None)'}`,
|
||||
`Recording ${play.data.meta?.brainz?.recording ?? '(None)'}`,
|
||||
`Release ${play.data.meta?.brainz?.album ?? '(None)'}`,
|
||||
`Artists ${a === undefined || a.length === 0 ? '(None)' : a.join(', ')}`,
|
||||
`ISRC ${play.data.isrc ?? '(None)'}`
|
||||
@@ -494,7 +494,7 @@ export default class MusicbrainzTransformer extends AtomicPartsTransformer<Exter
|
||||
} = {}
|
||||
} = play;
|
||||
|
||||
using.push(brainz.track !== undefined ? 'mbidrecording' : 'title');
|
||||
using.push(brainz.recording !== undefined ? 'mbidrecording' : 'title');
|
||||
using.push(brainz.album !== undefined ? 'mbidrelease' : 'album');
|
||||
using.push((brainz.artist ?? []).length > 0 ? 'mbidartist' : 'artist');
|
||||
|
||||
@@ -511,7 +511,7 @@ export default class MusicbrainzTransformer extends AtomicPartsTransformer<Exter
|
||||
}
|
||||
|
||||
public async searchByRecordingMbid(play: PlayObject, stageConfig: MusicbrainzTransformerDataStage): Promise<IRecordingMSList> {
|
||||
if(play.data.meta?.brainz?.track !== undefined) {
|
||||
if(play.data.meta?.brainz?.recording !== undefined) {
|
||||
this.logger.debug({labels: ['MBID Search']},'Searching with Recording MBID');
|
||||
return await this.api.searchByRecording(play, {using: ['mbidrecording']});
|
||||
}
|
||||
|
||||
+3
-3
@@ -448,7 +448,7 @@ export const scrobblePayloadToPlay = (obj: LastFMScrobbleRequestPayload): PlayOb
|
||||
if(nonEmptyStringOrDefault(mbid) !== undefined) {
|
||||
play.data.meta = {
|
||||
brainz: {
|
||||
track: mbid
|
||||
recording: mbid
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -467,7 +467,7 @@ export const playToClientPayload = (playObj: PlayObject): LastFMScrobblePayload
|
||||
playDate,
|
||||
meta: {
|
||||
brainz: {
|
||||
track: mbid
|
||||
recording: mbid
|
||||
} = {},
|
||||
} = {}
|
||||
} = {}
|
||||
@@ -553,7 +553,7 @@ export const formatPlayObj = (obj: LastFMTrackObject, options: FormatPlayObjectO
|
||||
const brainz: BrainzMeta = removeUndefinedKeys({
|
||||
album: nonEmptyStringOrDefault<undefined>(albumMbid),
|
||||
artist: splitByFirstFound<undefined>(artistMbid, [',',';'], undefined),
|
||||
track: nonEmptyStringOrDefault<undefined>(mbid)
|
||||
recording: nonEmptyStringOrDefault<undefined>(mbid)
|
||||
});
|
||||
|
||||
const play: PlayObject = {
|
||||
|
||||
+2
-2
@@ -777,8 +777,8 @@ export const playToListenPayload = (play: PlayObject): ListenPayload => {
|
||||
...minTrackData,
|
||||
additional_info: {
|
||||
duration: play.data.duration !== undefined ? Math.round(duration) : undefined,
|
||||
track_mbid: brainz.track,
|
||||
recording_mbid: brainz.track,
|
||||
track_mbid: brainz.recording,
|
||||
recording_mbid: brainz.recording,
|
||||
artist_mbids: brainz.artist,
|
||||
release_mbid: brainz.album,
|
||||
release_group_mbid: brainz.releaseGroup,
|
||||
|
||||
@@ -69,7 +69,7 @@ export const playToRecord = (play: PlayObject): ScrobbleRecord => {
|
||||
submissionClientAgent: `multi-scrobbler/${getRoot().items.version}`,
|
||||
musicServiceBaseDomain: musicServiceToCononical(play.meta.musicService) ?? play.meta.musicService,
|
||||
isrc: play.data.isrc,
|
||||
recordingMbId: play.data.meta?.brainz?.track,
|
||||
recordingMbId: play.data.meta?.brainz?.recording,
|
||||
releaseMbId: play.data.meta?.brainz?.album
|
||||
};
|
||||
|
||||
|
||||
+1
-1
@@ -200,7 +200,7 @@ export const listenObjectResponseToPlay = (obj: ListenObjectResponse, options: {
|
||||
if (obj.track.musicbrainz_id !== null) {
|
||||
play.data.meta = {
|
||||
brainz: {
|
||||
track: obj.track.musicbrainz_id
|
||||
recording: obj.track.musicbrainz_id
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -213,8 +213,8 @@ export class MusicbrainzApiClient extends AbstractApiClient {
|
||||
const query: Record<string, any> = {
|
||||
};
|
||||
|
||||
if(play.data?.meta?.brainz?.track !== undefined && using.includes('mbidrecording')) {
|
||||
query.recording_mbid = play.data.meta.brainz.track
|
||||
if(play.data?.meta?.brainz?.recording !== undefined && using.includes('mbidrecording')) {
|
||||
query.recording_mbid = play.data.meta.brainz.recording
|
||||
}
|
||||
if(play.data?.meta?.brainz?.album !== undefined && using.includes('mbidrelease')) {
|
||||
query.release_mbid = play.data.meta.brainz.album
|
||||
@@ -375,7 +375,7 @@ export const recordingToPlay = (data: IRecording, options?: {ignoreVA?: boolean}
|
||||
isrc: data.isrcs !== undefined && data.isrcs.length > 0 ? data.isrcs[0] : undefined,
|
||||
meta: {
|
||||
brainz: {
|
||||
track: data.id,
|
||||
recording: data.id,
|
||||
artist: data["artist-credit"] !== undefined ? data["artist-credit"].map(x => x.artist.id) : undefined,
|
||||
albumArtist: albumArtistIds,
|
||||
album: album !== undefined ? album.id : undefined,
|
||||
|
||||
@@ -429,10 +429,10 @@ export default class JellyfinApiSource extends MemoryPositionalSource {
|
||||
meta.album = ProviderIds.MusicBrainzAlbum;
|
||||
}
|
||||
if(ProviderIds.MusicBrainzTrack !== undefined) {
|
||||
meta.track = ProviderIds.MusicBrainzTrack;
|
||||
meta.recording = ProviderIds.MusicBrainzTrack;
|
||||
}
|
||||
if(ProviderIds.MusicBrainzTrack !== undefined) {
|
||||
meta.track = ProviderIds.MusicBrainzTrack;
|
||||
meta.recording = ProviderIds.MusicBrainzTrack;
|
||||
}
|
||||
if(ProviderIds.MusicBrainzArtist !== undefined) {
|
||||
meta.artist = [ProviderIds.MusicBrainzArtist];
|
||||
|
||||
@@ -181,7 +181,7 @@ export class MPDSource extends MemoryPositionalSource {
|
||||
const brainz: BrainzMeta = {
|
||||
albumArtist: [musicbrainz_albumartistid],
|
||||
album: musicbrainz_albumid,
|
||||
track: musicbrainz_trackid,
|
||||
recording: musicbrainz_trackid,
|
||||
};
|
||||
if(musicbrainz_artistid !== undefined) {
|
||||
brainz.artist = [musicbrainz_artistid];
|
||||
|
||||
@@ -418,7 +418,7 @@ export default class PlexApiSource extends MemoryPositionalSource {
|
||||
const prevBrainzMeta = sessionData[0].play.data.meta.brainz ?? {};
|
||||
sessionData[0].play.data.meta.brainz = {
|
||||
...prevBrainzMeta,
|
||||
track: trackMbId,
|
||||
recording: trackMbId,
|
||||
album: albumMbId,
|
||||
// Plex doesn't track MBIDs for track artists, so we use the
|
||||
// album artist MBID instead.
|
||||
|
||||
@@ -27,7 +27,7 @@ describe('#LFM Track to Play', function() {
|
||||
|
||||
expect(play.data.meta?.brainz?.album).to.be.undefined;
|
||||
expect(play.data.meta?.brainz?.artist).to.be.undefined;
|
||||
expect(play.data.meta?.brainz?.track).to.be.undefined;
|
||||
expect(play.data.meta?.brainz?.recording).to.be.undefined;
|
||||
});
|
||||
|
||||
it('Sets brainz if any mbid is not undefined', function() {
|
||||
@@ -42,7 +42,7 @@ describe('#LFM Track to Play', function() {
|
||||
|
||||
const toTrack = generateLastfmTrackObject();
|
||||
toTrack.mbid = generateMbid();
|
||||
expect(formatPlayObj(toTrack).data.meta?.brainz?.track).to.not.be.undefined;
|
||||
expect(formatPlayObj(toTrack).data.meta?.brainz?.recording).to.not.be.undefined;
|
||||
});
|
||||
|
||||
it('Sets artist correctly from #text or name', function() {
|
||||
|
||||
@@ -136,7 +136,7 @@ describe('Listenbrainz Response Behavior', function() {
|
||||
// @ts-expect-error wrong on purpose
|
||||
artist: 'fad8967c-a327-4af5-a64a-d4de66ece652;100846a7-06f6-4129-97ce-4409b9a9a311',
|
||||
album: '2eb6a8fb-14f6-436e-9bdf-2f9d0d8cbae0',
|
||||
track: '677862e0-3603-4120-8c44-ee9a70893647',
|
||||
recording: '677862e0-3603-4120-8c44-ee9a70893647',
|
||||
releaseGroup: 'bd3bb964-6da7-4d59-b0aa-f8bf639cd419'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ describe('Musicbrainz API', function () {
|
||||
album: "Fake",
|
||||
meta: {
|
||||
brainz: {
|
||||
track: '026fa041-3917-4c73-9079-ed16e36f20f8'
|
||||
recording: '026fa041-3917-4c73-9079-ed16e36f20f8'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -31,7 +31,7 @@ describe('#tealfm Record to Play', function() {
|
||||
|
||||
expect(play.data.meta.brainz).to.not.be.undefined;
|
||||
expect(play.data.meta.brainz.album).eq(rec.value.releaseMbId);
|
||||
expect(play.data.meta.brainz.track).eq(rec.value.recordingMbId);
|
||||
expect(play.data.meta.brainz.recording).eq(rec.value.recordingMbId);
|
||||
expect(play.data.meta.brainz.artist).eql(rec.value.artists.map(x => x.artistMbId));
|
||||
expect(play.data.isrc).eq(rec.value.isrc);
|
||||
});
|
||||
|
||||
@@ -176,12 +176,12 @@ export const withBrainz = (play: PlayObject, include: ('track' | 'artist' | 'alb
|
||||
for(const i of include) {
|
||||
switch(i) {
|
||||
case 'track':
|
||||
if(play.data.meta?.brainz?.track === undefined) {
|
||||
if(play.data.meta?.brainz?.recording === undefined) {
|
||||
play.data.meta = {
|
||||
...(play.data.meta ?? {}),
|
||||
brainz: {
|
||||
...(play.data.meta?.brainz ?? {}),
|
||||
track: generateMbid()
|
||||
recording: generateMbid()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -604,7 +604,7 @@ export const missingMbidTypes = (play: PlayObject): MissingMbidType[] => {
|
||||
return missing;
|
||||
}
|
||||
const {
|
||||
track,
|
||||
recording: track,
|
||||
album,
|
||||
artist
|
||||
} = play.data.meta.brainz;
|
||||
|
||||
+1
-1
@@ -124,7 +124,7 @@ export interface BrainzMeta {
|
||||
* */
|
||||
album?: string
|
||||
/** Unique track id, recording_mbid */
|
||||
track?: string
|
||||
recording?: string
|
||||
/**
|
||||
*
|
||||
* The "consolidated" album like --> "The Wall" by "Pink Floyd" */
|
||||
|
||||
Reference in New Issue
Block a user