refactor(musicbrainz): Rename recording mbid property to recording

So that introducing trackId isn't confusing
This commit is contained in:
FoxxMD
2026-01-19 18:09:29 +00:00
parent 9ccdd53bd8
commit 0b51c3a5fa
16 changed files with 26 additions and 26 deletions
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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,
+2 -2
View File
@@ -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];
+1 -1
View File
@@ -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];
+1 -1
View File
@@ -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.
+2 -2
View File
@@ -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'
}
}
},
+1 -1
View File
@@ -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);
});
+2 -2
View File
@@ -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()
}
}
}
+1 -1
View File
@@ -604,7 +604,7 @@ export const missingMbidTypes = (play: PlayObject): MissingMbidType[] => {
return missing;
}
const {
track,
recording: track,
album,
artist
} = play.data.meta.brainz;
+1 -1
View File
@@ -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" */