List of known XSPF extensions: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
m (Removed previous addition as abandoned.)
 
(18 intermediate revisions by 5 users not shown)
Line 1: Line 1:
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.
This page is intended as a list of [[XSPF]] extensions used in the wild. The goal is to list precise and up to date information which we will need your help with! Information given '''must be understandable''' and (at best) '''should be precise enough to be implementable'''. The more complete this list is the more likely is the future support of a specific extension in more than just one piece of software.
 


= 360SoundCheck =
= 360SoundCheck =
Line 37: Line 38:
'''TODO'''
'''TODO'''


= Beep Media Player 2 ('BMPx'), AudioSource ('MPX') =
[http://bmpx.backtrace.info Beep Media Player 2]
[http://mpx.backtrace.info AudioSource]
== Track ==
'''TODO'''
=== Example ===
    <xspf:track>
      <xspf:location>file:///media/truecrypt1/Music/Beck/The%20Information/01%20Elevator%20Music.mp3</xspf:location>
      <xspf:identifier>fef01bd8-3479-4fe0-96a6-6814093046f7</xspf:identifier>
      <xspf:meta rel="http://musicbrainz.org/track">http://musicbrainz.org/mm-2.1/track/fef01bd8-3479-4fe0-96a6-6814093046f7</xspf:meta>
      <xspf:creator>Beck</xspf:creator>
      <xspf:album>The Information</xspf:album>
      <xspf:title>Elevator Music</xspf:title>
      <xspf:extension application="http://beep-media-player.org">
        <bmp:volume-udi>/org/freedesktop/Hal/devices/volume_uuid_b8c216ec_0f52_4738_9c14_de5c541b444e</bmp:volume-udi>
        <bmp:device-udi>/org/freedesktop/Hal/devices/storage_serial_1ATA_SAMSUNG_HD502IJ_S13TJDWQ324836</bmp:device-udi>
        <bmp:volume-relative-path>media/truecrypt1/Music/Beck/The Information/01 Elevator Music.mp3</bmp:volume-relative-path>
      </xspf:extension>
    </xspf:track>
=== Definition ===
This extension stores additional information about the track's location based on data retrieved from [http://freedesktop.org/Software/HAL HAL].
The goal is to store information about the locality of a track independent of a mount point (on UNIX-like systems).
====<volume-udi>====
This is a unique identifier for a "volume" (harddisk partition, other kinds of partitions, anything that can be mounted onto a directory).
====<device-udi>====
This is a unique identifier for a device, on which the volume specified by volume-udi resides.
Both of these identifiers can be obtained from HAL for almost all kinds and types of storage media and partitions/volumes.
====<volume-relative-path>====
This is the path of/to the track, and starts from (and excluding of) the root directory of the named volume.
This way the location of a track is first identified by the volume-udi and device-udi, from which the '''current''' mount point of a volume (partition, etc.) can be identified,
to which the volume-relative path is appended to finally obtain the fully qualified path to the track.


= Project Opus =
= Project Opus =
Line 50: Line 94:


=== Definition ===
=== 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.
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" (integer) is the internal ID of the playlist/album within Project Opus.


== Track ==
== Track ==
Line 58: Line 102:
   <po:clip length="293000"/>
   <po:clip length="293000"/>
   <po:region name="Port Dover">http://www.projectopus.com/regionportal/1860</po:region>
   <po:region name="Port Dover">http://www.projectopus.com/regionportal/1860</po:region>
   <po:tags></po:tags>
   <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:genre name="Country">http://www.projectopus.com/genre/20</po:genre>
   <po:uid>676</po:uid>
   <po:uid>676</po:uid>
Line 67: Line 114:


=== Definition ===
=== Definition ===
'''TODO'''


====<po:clip>====
This element contains playback information for the player(s). Right now there is just one integer 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 the "size" (integer) is used to govern the size of the tag in a tag cloud, also found in the player. 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 (an integer) of the content publisher.
====<po:nid>====
This element contains the node ID (an integer) 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 [http://creativecommons.org/licenses/by-nc-nd/2.5/]
* "by-nc-sa" - Attribution-NonCommercial-ShareAlike [http://creativecommons.org/licenses/by-nc-sa/2.5/]
* "by-nc" - Attribution-NonCommercial [http://creativecommons.org/licenses/by-nc/2.5/]
* "by-nd" - Attribution-NoDerivs [http://creativecommons.org/licenses/by-nd/2.5/]
* "by-sa" - Attribution-ShareAlike [http://creativecommons.org/licenses/by-sa/2.5/]
* "by" - Attribution [http://creativecommons.org/licenses/by/2.5/]


= YOUR EXTENSION HERE =
= YOUR EXTENSION HERE =
Yes, please.
Yes, please.
= See also =
* [[List of known XSPF metas]]
[[Category:XSPF]]

Latest revision as of 04:07, 14 November 2012

This page is intended as a list of XSPF extensions used in the wild. The goal is to list precise and up to date information which we will need your help with! Information given must be understandable and (at best) should be precise enough to be implementable. The more complete this list is the more likely is the future support of a specific extension in more than 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


Beep Media Player 2 ('BMPx'), AudioSource ('MPX')

Beep Media Player 2

AudioSource

Track

TODO

Example

   <xspf:track>
     <xspf:location>file:///media/truecrypt1/Music/Beck/The%20Information/01%20Elevator%20Music.mp3</xspf:location>
     <xspf:identifier>fef01bd8-3479-4fe0-96a6-6814093046f7</xspf:identifier>
     <xspf:meta rel="http://musicbrainz.org/track">http://musicbrainz.org/mm-2.1/track/fef01bd8-3479-4fe0-96a6-6814093046f7</xspf:meta>
     <xspf:creator>Beck</xspf:creator>
     <xspf:album>The Information</xspf:album>
     <xspf:title>Elevator Music</xspf:title>
     <xspf:extension application="http://beep-media-player.org">
       <bmp:volume-udi>/org/freedesktop/Hal/devices/volume_uuid_b8c216ec_0f52_4738_9c14_de5c541b444e</bmp:volume-udi>
       <bmp:device-udi>/org/freedesktop/Hal/devices/storage_serial_1ATA_SAMSUNG_HD502IJ_S13TJDWQ324836</bmp:device-udi>
       <bmp:volume-relative-path>media/truecrypt1/Music/Beck/The Information/01 Elevator Music.mp3</bmp:volume-relative-path>
     </xspf:extension>
   </xspf:track>

Definition

This extension stores additional information about the track's location based on data retrieved from HAL.

The goal is to store information about the locality of a track independent of a mount point (on UNIX-like systems).

<volume-udi>

This is a unique identifier for a "volume" (harddisk partition, other kinds of partitions, anything that can be mounted onto a directory).

<device-udi>

This is a unique identifier for a device, on which the volume specified by volume-udi resides.

Both of these identifiers can be obtained from HAL for almost all kinds and types of storage media and partitions/volumes.

<volume-relative-path>

This is the path of/to the track, and starts from (and excluding of) the root directory of the named volume.

This way the location of a track is first identified by the volume-udi and device-udi, from which the current mount point of a volume (partition, etc.) can be identified, to which the volume-relative path is appended to finally obtain the fully qualified path to the track.

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" (integer) 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 integer 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 the "size" (integer) is used to govern the size of the tag in a tag cloud, also found in the player. 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 (an integer) of the content publisher.

<po:nid>

This element contains the node ID (an integer) 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.

See also