bleskodev / rubyripper

Fork of the original rubyripper from code.google.com/p/rubyripper + some bugs fixes
125 stars 21 forks source link

MusicBrainz status is set to noMatches even if request returns a match #635

Open Unmoon opened 2 years ago

Unmoon commented 2 years ago

Opening the link from debug log returns a (correct) release, but for it's treated as no matches. Possibly because it's returning two discs?

Built from 4e7b9732f6fc352b559c45188d24ad68a3d153e0

unmoon@debian:~$ /usr/bin/rrip_gui
DEBUG: cdparanoia -d /dev/cdrom -vQ
DEBUG: cd-info -C /dev/cdrom -A --no-cddb
DEBUG: CGI query: https://musicbrainz.org/ws/2/discid/M9kbjJdza5dgQeVMEURn0TyUA4U-?toc=1+17+303484+150+12791+33298+53855+68778+91580+108767+126927+148551+167975+186135+205425+220914+242925+256587+279256+292584&inc=artists+recordings+artist-credits+release-groups
DEBUG: MusicBrainz status after the disc query: noMatches
DEBUG: cd-discid /dev/cdrom
DEBUG: cdrdao read-toc --device /dev/cdrom "/tmp/cdrom.toc"
irnchkn commented 1 year ago

The code in musicbrainz/getMusicBrainzRelease.rb assumes that releases match this XPath: //metadata/disc/release-list/release For some reason, there are some releases which miss out a whole "disc" level, and match this XPath: //metadata/release-list/release

irnchkn commented 1 year ago

I spent a while adding some horrible hacks that worked around the XPath problem I described (and seen in Unmoon's example). But eventually I noticed that I didn't actually have cd-info installed. Having installed that (libcdio-utils package in ubuntu) every CD I've tried has been properly identified. But Unmoon appears to have cd-info available. In cases where multipleRecords are found, I've found it easier to switch to the gtk version and use that to select which one to use.