Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow providing MusicBrainz link for metadata #46

Open
jsumners opened this issue Mar 18, 2023 · 6 comments
Open

Allow providing MusicBrainz link for metadata #46

jsumners opened this issue Mar 18, 2023 · 6 comments

Comments

@jsumners
Copy link

I realize it's a longshot that you'll even read this @sbooth, but:

I have a newly released CD that Max is unable to find in the MusicBrainz database. However, the release is there and populated -- https://musicbrainz.org/release/5a76e9f4-9f95-4104-a7c0-0b3dfc6e82c6. It would be helpful if we could provide the XML link for a release such that Max will populate all of the metadata.

Thank you for the work you've done on this tool. I dread the day it stops working due to some macOS or hardware update. It's a far better ripper than iTunes/Music/Whatever-Apple-Calls-Their-Tool-Today.

@sbooth
Copy link
Owner

sbooth commented Mar 19, 2023

Does Max calculate the MusicBrainz ID correctly? The easiest way to see what Max thinks the ID is is by inspecting the disc's .cdinfo file in ~/Library/Application Support/Max/ and looking for the musicbrainzAlbumId key.

@jsumners
Copy link
Author

The id that Max computes seems to be wyhCwPfeq0KcRIqD_G3kpLO.UMY-.

cdinfo
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>MCN</key>
	<string>0602448191427</string>
	<key>discID</key>
	<string>wyhCwPfeq0KcRIqD_G3kpLO.UMY-</string>
	<key>tracks</key>
	<array>
		<dict>
			<key>ISRC</key>
			<string>GBCQT2200112</string>
			<key>channels</key>
			<integer>2</integer>
			<key>copyPermitted</key>
			<false/>
			<key>dataTrack</key>
			<false/>
			<key>firstSector</key>
			<integer>0</integer>
			<key>lastSector</key>
			<integer>15520</integer>
			<key>number</key>
			<integer>1</integer>
			<key>preEmphasis</key>
			<false/>
		</dict>
		<dict>
			<key>ISRC</key>
			<string>GBCQT2200112</string>
			<key>channels</key>
			<integer>2</integer>
			<key>copyPermitted</key>
			<false/>
			<key>dataTrack</key>
			<false/>
			<key>firstSector</key>
			<integer>15521</integer>
			<key>lastSector</key>
			<integer>40902</integer>
			<key>number</key>
			<integer>2</integer>
			<key>preEmphasis</key>
			<false/>
		</dict>
		<dict>
			<key>ISRC</key>
			<string>GBCQT2200114</string>
			<key>channels</key>
			<integer>2</integer>
			<key>copyPermitted</key>
			<false/>
			<key>dataTrack</key>
			<false/>
			<key>firstSector</key>
			<integer>40903</integer>
			<key>lastSector</key>
			<integer>55767</integer>
			<key>number</key>
			<integer>3</integer>
			<key>preEmphasis</key>
			<false/>
		</dict>
		<dict>
			<key>ISRC</key>
			<string>GBCQT2200115</string>
			<key>channels</key>
			<integer>2</integer>
			<key>copyPermitted</key>
			<false/>
			<key>dataTrack</key>
			<false/>
			<key>firstSector</key>
			<integer>55768</integer>
			<key>lastSector</key>
			<integer>74026</integer>
			<key>number</key>
			<integer>4</integer>
			<key>preEmphasis</key>
			<false/>
		</dict>
		<dict>
			<key>ISRC</key>
			<string>GBCQT2200115</string>
			<key>channels</key>
			<integer>2</integer>
			<key>copyPermitted</key>
			<false/>
			<key>dataTrack</key>
			<false/>
			<key>firstSector</key>
			<integer>74027</integer>
			<key>lastSector</key>
			<integer>94908</integer>
			<key>number</key>
			<integer>5</integer>
			<key>preEmphasis</key>
			<false/>
		</dict>
		<dict>
			<key>ISRC</key>
			<string>GBCQT2200117</string>
			<key>channels</key>
			<integer>2</integer>
			<key>copyPermitted</key>
			<false/>
			<key>dataTrack</key>
			<false/>
			<key>firstSector</key>
			<integer>94909</integer>
			<key>lastSector</key>
			<integer>115151</integer>
			<key>number</key>
			<integer>6</integer>
			<key>preEmphasis</key>
			<false/>
		</dict>
		<dict>
			<key>ISRC</key>
			<string>GBCQT2200117</string>
			<key>channels</key>
			<integer>2</integer>
			<key>copyPermitted</key>
			<false/>
			<key>dataTrack</key>
			<false/>
			<key>firstSector</key>
			<integer>115152</integer>
			<key>lastSector</key>
			<integer>134466</integer>
			<key>number</key>
			<integer>7</integer>
			<key>preEmphasis</key>
			<false/>
		</dict>
		<dict>
			<key>ISRC</key>
			<string>GBCQT2200119</string>
			<key>channels</key>
			<integer>2</integer>
			<key>copyPermitted</key>
			<false/>
			<key>dataTrack</key>
			<false/>
			<key>firstSector</key>
			<integer>134467</integer>
			<key>lastSector</key>
			<integer>157776</integer>
			<key>number</key>
			<integer>8</integer>
			<key>preEmphasis</key>
			<false/>
		</dict>
		<dict>
			<key>ISRC</key>
			<string>GBCQT2200120</string>
			<key>channels</key>
			<integer>2</integer>
			<key>copyPermitted</key>
			<false/>
			<key>dataTrack</key>
			<false/>
			<key>firstSector</key>
			<integer>157777</integer>
			<key>lastSector</key>
			<integer>177669</integer>
			<key>number</key>
			<integer>9</integer>
			<key>preEmphasis</key>
			<false/>
		</dict>
		<dict>
			<key>ISRC</key>
			<string>GBCQT2200121</string>
			<key>channels</key>
			<integer>2</integer>
			<key>copyPermitted</key>
			<false/>
			<key>dataTrack</key>
			<false/>
			<key>firstSector</key>
			<integer>177670</integer>
			<key>lastSector</key>
			<integer>191971</integer>
			<key>number</key>
			<integer>10</integer>
			<key>preEmphasis</key>
			<false/>
		</dict>
		<dict>
			<key>ISRC</key>
			<string>GBCQT2200122</string>
			<key>channels</key>
			<integer>2</integer>
			<key>copyPermitted</key>
			<false/>
			<key>dataTrack</key>
			<false/>
			<key>firstSector</key>
			<integer>191972</integer>
			<key>lastSector</key>
			<integer>208872</integer>
			<key>number</key>
			<integer>11</integer>
			<key>preEmphasis</key>
			<false/>
		</dict>
	</array>
</dict>
</plist>

@jsumners
Copy link
Author

jsumners commented Mar 20, 2023

I just had the same thing happen with this release -- https://www.discogs.com/release/26141603-Orbital-Optical-Delusion (https://musicbrainz.org/release/3e53e0a1-1390-4f8b-8a86-627fcf50d485).

Basically, no one has submitted disc ids to MusicBrainz for these CDs. For this Orbital release, I used the MusicBrainz Picard tool to submit a disc id. I then clicked the MusicBrainz query button in Max and it found the metadata.

I'm not well versed with the MusicBrainz system (genuinely shocked I even had a login for it). Would it be possible for Max to submit a new disc id if we are able to point Max to the right release?

@sbooth
Copy link
Owner

sbooth commented Mar 20, 2023

MusicBrainz appears to return information on the correct disc when querying https://musicbrainz.org/ws/2/discid/wyhCwPfeq0KcRIqD_G3kpLO.UMY-

<metadata xmlns="http://musicbrainz.org/ns/mmd-2.0#">
<disc id="wyhCwPfeq0KcRIqD_G3kpLO.UMY-">
<sectors>209023</sectors>
<offset-list count="11">
<offset position="1">150</offset>
<offset position="2">15671</offset>
<offset position="3">41053</offset>
<offset position="4">55918</offset>
<offset position="5">74177</offset>
<offset position="6">95059</offset>
<offset position="7">115302</offset>
<offset position="8">134617</offset>
<offset position="9">157927</offset>
<offset position="10">177820</offset>
<offset position="11">192122</offset>
</offset-list>
<release-list count="1">
<release id="39ea2697-bb19-48f7-a67c-9f8f3833d0e4">
<title>Moving on Skiffle</title>
<status id="4e304316-386d-3409-af2e-78857eec5cfe">Official</status>
<quality>normal</quality>
<packaging id="e724a489-a7e8-30a1-a17c-30dfd6831202">Gatefold Cover</packaging>
<text-representation>
<language>eng</language>
<script>Latn</script>
</text-representation>
<date>2023-03-10</date>
<country>XE</country>
<release-event-list count="1">
<release-event>
<date>2023-03-10</date>
<area id="89a675c2-3e37-3518-b83c-418bad59a85a">
<name>Europe</name>
<sort-name>Europe</sort-name>
<iso-3166-1-code-list>
<iso-3166-1-code>XE</iso-3166-1-code>
</iso-3166-1-code-list>
</area>
</release-event>
</release-event-list>
<barcode>602448191410</barcode>
<cover-art-archive>
<artwork>true</artwork>
<count>8</count>
<front>true</front>
<back>true</back>
</cover-art-archive>
<medium-list count="2">
<medium>
<position>1</position>
<format id="9712d52a-4509-3d4b-a1a2-67c88c643e31">CD</format>
<disc-list count="1">
<disc id="wyhCwPfeq0KcRIqD_G3kpLO.UMY-">
<sectors>209023</sectors>
<offset-list count="11">
<offset position="1">150</offset>
<offset position="2">15671</offset>
<offset position="3">41053</offset>
<offset position="4">55918</offset>
<offset position="5">74177</offset>
<offset position="6">95059</offset>
<offset position="7">115302</offset>
<offset position="8">134617</offset>
<offset position="9">157927</offset>
<offset position="10">177820</offset>
<offset position="11">192122</offset>
</offset-list>
</disc>
</disc-list>
<track-list count="11"/>
</medium>
<medium>
<position>2</position>
<format id="9712d52a-4509-3d4b-a1a2-67c88c643e31">CD</format>
<disc-list count="1">
<disc id="o__07prhD7C7tvMfDUZN9SGFOGQ-">
<sectors>214916</sectors>
<offset-list count="12">
<offset position="1">150</offset>
<offset position="2">18976</offset>
<offset position="3">35399</offset>
<offset position="4">50084</offset>
<offset position="5">66828</offset>
<offset position="6">82233</offset>
<offset position="7">96763</offset>
<offset position="8">110581</offset>
<offset position="9">123919</offset>
<offset position="10">139381</offset>
<offset position="11">160224</offset>
<offset position="12">174236</offset>
</offset-list>
</disc>
</disc-list>
<track-list count="12"/>
</medium>
</medium-list>
</release>
</release-list>
</disc>
</metadata>

As you noticed, there isn't a disc ID for the release in MusicBrainz which is why Max can' find any results. It's certainly possible to submit disc IDs although I can't remember now why that functionality wasn't implemented in the first place. I will have to look into how much work that would entail.

@jsumners
Copy link
Author

I will have to look into how much work that would entail.

👍

@jsumners
Copy link
Author

For what it's worth, someone added the disc ids for the Van Morrison release on 2022-03-19 and Max now correctly finds it:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants