[vlc-devel] (no subject)

Wieland Hoffmann themineo at gmail.com
Wed Jan 15 20:29:44 CET 2014


Hallo Jean-Baptiste Kempf:
> On 15 Jan, Wieland Hoffmann wrote :
> > What the 00_musicbrainz.lua script does is: it gets the MusicBrainz
> > Album ID (which is the ID for an album or, as it's called in MB, a
> > release [0]). To query the web service for output that indicates whether
> > or not the Cover Art Archive (CAA) has artwork for the release, it's
> > necessary to know the Album ID [3]. Finding that ID can happen through either
> 
> Could it do it with just the TrackID?

if by TrackID you mean the VLC thing that is called a recording ID in MB
then in theory, yes, with a browse request[0] to get a list of all
releases a recording appears on like [1], but this recording is linked
to more than 1 release (cf. [2]) and the release chosen from the XML
returned from the web service might not be the correct one. Trying to
guess the release is something that's more useful as a fallback
mechanism.

> 
> > * searching for the release on MB with some known metadata like the
> 
> Yes.
> 
> > * getting the MusicBrainz Album ID directly from the tags of the audio
> 
> Yes.
>  
> > * Fingerprinting the audio files (which does not need to have any
> 
> Yes.
> 
> We need to support all of those.

Sure, but it's important to prioritise: imho, the album id should be
used first because it's the least ambiguous.

> 
> > Now that we've got the MBID of the album, the existing try_query
> > function in share/lua/meta/art/00_musicbrainz.lua will work.
> 
> OK.
> 
> > > OK. What do you suggest then?
> > 
> > The only problem in my explanation above is that currently, the Album ID
> > is not read from some files, even if the tags do actually contain it.
> 
> That's bad©®.

Yay, consent :-)

> > * add code to explicitly read the MusicBrainz {Album, Artist, Work,
> >   Album Artist} ID from the files. This is relatively easy because it
> >   boils down to asking taglib for the tag in readMetaFrom* and, if it
> >   exists, add it somewhere (either extra_tags or by extending
> >   vlc_meta_type_t). Adding it into extra_tags would mean that the
> >   MusicBrainz related tags do appear in the metadata dialog, but other
> >   tags that VLC doesn't know about do not.
> 
> Sure.

But is it bad that MusicBrainz related tags are now somewhat superior to
other tags or is it something we can live with? (By "metadata dialog" I
was referring to the "Metadata" tab of the "Media Information" dialog of
the Qt4 interface, btw. Sorry if that wasn't clear enough.)

> 
> > * extend the respective readMetaFrom* methods to read *all* tags taglib
> >   gives us. That would mean adding a check like "has the tag that we're
> >   deadling with right now already been handled by populating ppsz_meta
> >   of vlc_meta_t (the well known tags like artist, album, etc.)".
> 
> Hmm, we would still need the mapping.

It's important where you do the mapping - do we map the various
musicbrainz tags to a single name (read: "TXXX:MusicBrainz Album Id"
from ID3, "MUSICBRAINZ_ALBUMID" from vorbis comments/ape tags,
"MusicBrainz/Album Id from WMA" into one "MusicBrainz Album Id" tag) in
the readMetaFrom* methods *once* or does every other component that
wants to use the Album ID (the cover art fetcher and the thing that
links to additional information on MB) need to do the mapping.
> 
> > In that case, I think it'd be best to normalise the names for the MBIDs
> > or use vlc_meta_type_t - otherwise, we'd need to change the display
> > logic depending on the file type.
> 
> Agreed.

Consent again, yay :-)

> What I hear also is that storing the TrackID is of limited used compared
> to the MBID...

The abbreviation/name "MBID" is a really vague concept: it basically
means "this is an ID that is used *somewhere* in MB" - you don't know if
it's the ID of an artist, release, recording or something else,. The
TrackID you're referring to is in fact an MBID, namely a recording MBID
:-)

For the purpose of displaying cover art, the release MBID is the most
useful piece of information because the cover is a property of the
release.

> Other good modification you recommend?

None that I can think of right now, no.

[0] http://musicbrainz.org/doc/Development/XML_Web_Service/Version_2/#Browse
[1] http://musicbrainz.org/ws/2/release?recording=b55b7d04-eadc-447b-96ee-99ff25f49851
[2] http://musicbrainz.org/recording/b55b7d04-eadc-447b-96ee-99ff25f49851

-- 
Wieland



More information about the vlc-devel mailing list