[Playlist] New entry to http://www.xspf.org/applications/

Lucas Gonze lgonze at panix.com
Fri Dec 21 16:35:44 UTC 2007


the seeqpod api is a fascinating use of XSPF and intelligently made 
overall: http://www.seeqpod.com/api/

They did a good job with the spiff, but it's still possible to fiddle 
around with the bits a little, so here are some comments.

Here is some sample xspf from their documentation:
<?xml version='1.0' encoding='UTF-8' ?>
<playlist version="1" xmlns="http://xspf.org/ns/0/" start="0" end="0" 
total="26" prev="None" next="1">
   <title></title>
   <trackList>
     <track>
     <location>http://joniverse.com/resources/music/u2-one.mp3</location>
     <title>One</title>
     <creator>U2</creator>
     <extension application="seeqpod_metadata">
       <mp3_url_id>19646033</mp3_url_id>
       <has_music_rex>True</has_music_rex>
       <song_id>39445</song_id>
     </extension>
     </track>
   </trackList>
</playlist>

First off, let's move the attributes in the root element to a namespace:
<playlist version="1" xmlns="http://xspf.org/ns/0/"
xmlns:pg="http://xspf.org/ns/pagination"
pg:start="0" pg:end="0" pg:total="26" pg:prev="None" pg:next="1" />

(I don't know what all those values are, by the way.  But I do think it 
would be great to do a pagination API, maybe based on Mark Nottingham's 
feed history RFC for Atom, and I am confident that this belongs in a 
namespace.)

Second, let's move that song_id up a level, so that other apps can use 
it too:
     <track>
     <location>http://joniverse.com/resources/music/u2-one.mp3</location>
     <title>One</title>
     <creator>U2</creator>
     <identifier>http://seeqpod.com/song_id/39445<identifier>
     <extension application="seeqpod_metadata">
       <mp3_url_id>19646033</mp3_url_id>
       <has_music_rex>True</has_music_rex>
     </extension>
     </track>

About the construction of the extension element here, I'm really happy 
to see somebody using that element well.  Given how unclear the spec is 
on the topic it's rare to see that.  You might argue that this stuff 
needs to be namespaced, but I honestly don't know if that's true.  I 
would just say that anything within an extension element is not XSPF.

The one correction I'd make to this extension element is to change the 
"application" attribute to a URI:
<extension application="http://seeqpod.com/seeqpod_metadata">


Agentbleu wrote:
> Sure but im v sleepy too, did not sleep well code horrors.
> 
> Seeqpod is one of the most advanced MP3 search engines currently 
> available. They search and rescue the meta data for millions of tracks 
> who have been taken hostage by an array of terrorists, then open up that 
> data for the world to use through their API which uses compliant XSPF to 
> return results for various queries.
> 
> bleu
> 
> lol
> On 21 Dec 2007, at 14:31, Sebastian Pipping wrote:
> 
>> Agentbleu wrote:
>>> Im using  Seeqpod for their MP3 search engine, they have a cool api that
>>> I plug into and they use the xspf format,, should add them to the apps
>>> page too...
>>
>> Cool site! Do you feel like writing a description for that site?
>> I'm quite uncreative at the moment.
>>
>>
>>
>> Sebastian
>>
>> _______________________________________________
>> Playlist mailing list
>> Playlist at lists.musicbrainz.org
>> http://lists.musicbrainz.org/mailman/listinfo/playlist
> 
> 
> _______________________________________________
> Playlist mailing list
> Playlist at lists.musicbrainz.org
> http://lists.musicbrainz.org/mailman/listinfo/playlist
> 
> 




More information about the Playlist mailing list