[mb-devel] A MusicBrainz Client Library for .NET

Scott Peterson lunchtimemama at gmail.com
Fri Oct 19 21:18:58 UTC 2007


OK, I've done a little work on this. I've made a test client program called
MusicBrainzBrowser [1]. The UI is crude, but you get the idea. Feel free to
check it out and let me know about any problems. You'll need .NET 2 or Mono
1.2.4 or better.

I've noticed that in requests of the form
http://musicbrainz.org/ws/1/release/[MBID]?type=xml&inc=release-events+labels+[*-rels]
<http://musicbrainz.org/ws/1/release/%5BMBID%5D?type=xml&inc=release-events+labels+%5B*-rels%5D>,
the resulting XML will contain relation data for the labels (if any). For
example:
http://musicbrainz.org/ws/1/release/bdde889b-c12a-44b0-b63b-be9d8be8f644?type=xml&inc=artist-rels+release-rels+track-rels+label-rels+url-rels+release-events+labels.
Is this a documented behavior?

With regard to using libdiscid, I would really prefer not to use native code
if I can at all avoid it. I would rather emulate the new libdiscid behavior
in C# but I'll look at that a little later.

Lastly, do you guys have any interest in hosting source/documentation for
the finished library?

[1] http://homepages.nyu.edu/~stp225/MusicBrainzBrowser.tar.bz2
<http://homepages.nyu.edu/%7Estp225/MusicBrainzBrowser.tar.bz2>

On 10/4/07, Lukáš Lalinský < lalinsky at gmail.com> wrote:
>
> On 10/4/07, Scott Peterson < lunchtimemama at gmail.com> wrote:
> > * What are track-level-rels? They are listed [2] as a possible value in
> the
> > inc parameter for releases. I could not find any other documentation.
>
> It enables relationships on track level in /ws/1/release/<UUID> queries.
>
> Compare:
> http://musicbrainz.org/ws/1/release/679841df-599d-402f-9f89-0d0bb6e94368?type=xml&inc=artist+tracks+artist-rels
>
> and
> http://musicbrainz.org/ws/1/release/679841df-599d-402f-9f89-0d0bb6e94368?type=xml&inc=artist+tracks+artist-rels+track-level-rels
>
>
> > * When performing a query (such as
> > http://musicbrainz.org/ws/1/artist/?type=xml&name=Super+Furry+Animals ),
> > certain characters are replaced with '+'. Exactly what characters are
> > replaced with a '+' and what (if any) are percent encoded? And are there
> any
> > other encoding rules for making a string into a query URL?
>
> Spaces can be replaced either by + or %20, it doesn't matter which one is
> used.
>
> > * Exactly how are submissions made with the XMLWebService? What is the
> > format of XML for submitting disc IDs and TOCs, and PUIDs? Can any other
>
> > data be submitted via XML? Can data be changed or deleted via XML?
>
> Only PUID submissions can be made via the web service. You can find
> the format on the wiki page, it's a simple list of PUID and track id
> matches.
>
> > Lastly, I only have
> > support for reading disc TOCs on Windows (I'm working on porting Banshee
> to
> > Windows) so if anyone has expertise in Unix CD ROM IO and C#, I would
> > greatly appreciate code for other systems (see DiscWin32.cs for the
> Windows
> > implementation).
>
> I'd suggest you to use libdiscid for this. For example the winmm-based
> implementation you currently have produces incorrect disc IDs for most
> multi-session CDs (data tracks, copy protection, ...). The next
> release of libdiscid will include a new way to read the CD TOC.
>
> Btw, here is some example code:
> http://lists.musicbrainz.org/pipermail/musicbrainz-devel/2007-January/001990.html
>
>
> Lukas
>



-- 
Scott.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.musicbrainz.org/pipermail/musicbrainz-devel/attachments/20071019/3bd4431a/attachment.htm


More information about the MusicBrainz-devel mailing list