List of known XSPF extensions

From XiphWiki
Jump to navigation Jump to search

This page is intended as a list of XSPF extensions used in the wild. The goal is to have precise and up to date information which we will need your help with! The more complete this list is the more likely is the future support of a specific extension in more then just one piece of software.

360SoundCheck

Example file from 360SoundCheck (Genre "Rock"):
http://jukebox.statesman.com/searchByGenre/rock/

Playlist

Example

<extension application="http://austin360.com">
  <playlists>
    <playlist><![CDATA[Grupo Fantasma listening party]]></playlist>
    <playlist><![CDATA[Midweek Mini Sampler 1]]></playlist>
    <playlist><![CDATA[New In SoundCheck]]></playlist>
    <playlist><![CDATA[The Swed.u.s.h Connection 1]]></playlist>
    <playlist><![CDATA[The Swed.u.s.h Connection 2]]></playlist>
    <playlist><![CDATA[Yadira Brown]]></playlist>
  </playlists>
</extension>

Definition

TODO

Track

Example

<extension application="http://austin360.com">
  <id><![CDATA[233]]></id>
  <genres>
    <genre><![CDATA[Alt-rock/Indie]]></genre>
    <genre><![CDATA[Rock]]></genre>
  </genres>
  <userRating><![CDATA[3.0]]></userRating>
</extension>

Definition

TODO


Project Opus

Example file from Project Opus (Artist Fred Eaglesmith):
http://www.projectopus.com/playlist/xspf/10197

Playlist / Album

Example

<extension application="http://www.projectopus.com">
  <po:info type="playlist" nid="10197" />
</extension>

Definition

The <po:info> element contains high level details about a playlist. The "type" attribute refers to the type of playlist being loaded - either an actual playlist, or an album. The "nid" attribute is the internal ID of the playlist/album within Project Opus.

Track

Example

<extension application="http://www.projectopus.com">
  <po:clip length="293000"/>
  <po:region name="Port Dover">http://www.projectopus.com/regionportal/1860</po:region>
  <po:tags>
    <tag tid="2593" size="9">catchy</tag>
    <tag tid="2019" size="12">upbeat</tag> 
  </po:tags>
  <po:genre name="Country">http://www.projectopus.com/genre/20</po:genre>
  <po:uid>676</po:uid>
  <po:nid>3296</po:nid>
  <po:num_listens>232</po:num_listens>
  <po:license type="po" />
</extension>

Definition

<po:clip>

This element contains playback information for the player(s). Right now there is just one for track "length" (in milliseconds).

<po:region>

The region element is used to display the locale of the given artist. Right now, the content of this element is the link to a region portal on Project Opus, while the "name" attribute is the actual name of the city or region.

<po:tags>

Tags describe content on Project Opus in a similar manner as what is found on most tag enabled sites. Each tag has an internal ID in the "tid" attribute, while a "size" attribute is used to govern the size of the tag in a tag cloud. The content of each tag element is the tag text itself.

<po:genre>

Similar to the region element, the genre element is used to display the genre of the given song. Again, the content of this element is the link to a genre portal on Project Opus, while the "name" attribute is the actual name of the genre.

<po:uid>

This element contains the user ID of the content publisher.

<po:nid>

This element contains the node ID of a track.

<po:num_listens>

The content of this element is the number of times the track has been listened to.

<po:license>

The license element only contains a "type" attribute, which indicates the type of license the song has. A value of "po" means the song is for sale on Project Opus. The other possible values are based on the song being free for download, and licensed through the Creative Commons. Possible CC values are as follows:

  • "by-nc-nd" - Attribution-NonCommercial-NoDerivs [1]
  • "by-nc-sa" - Attribution-NonCommercial-ShareAlike [2]
  • "by-nc" - Attribution-NonCommercial [3]
  • "by-nd" - Attribution-NoDerivs [4]
  • "by-sa" - Attribution-ShareAlike [5]
  • "by" - Attribution [6]

YOUR EXTENSION HERE

Yes, please.