Skip to content

Instantly share code, notes, and snippets.

@jphastings
Created November 16, 2009 16:29
Show Gist options
  • Save jphastings/236108 to your computer and use it in GitHub Desktop.
Save jphastings/236108 to your computer and use it in GitHub Desktop.
An idea I had for describing composited audio such that copyrighted tracks can be resolved and an identical copyright conforming rendition can be created.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Please read the blog entry for a description as to what this is: http://jphastings.tumblr.com/post/246130623 -->
<playlist simulatneous="true"> <!-- Or way informing that this playlist needs to be interpreted according to this article -->
<chapters> <!-- A new element entirely. The Hospital Podcast is a good example of chapter use in Podcasts. -->
<chapter> <!-- NB. There are other ways to define chapters -->
<cueTime relativeTo="id_of_element">±3142</cueTime> <!-- Milliseconds in from beginning (+) or back from the end (-) of the track referenced -->
<name>Name of Chapter</name>
<image>http://path.to/image</image> <!-- Individual chapters might have the album art of the song etc -->
</chapter>
</chapters>
<trackList id="MyPodcast" duck="true"> <!-- Auto-ducking can be turned off altogether -->
<!-- Backing tracks can be 'ducked' while the podcaster is speaking -->
<!-- NB. The player will duck track 'A' playing when a new track 'B' starts on top of it, unless 'duckable' is set to false for track 'A', when track 'B' is ducked instead. The same logic is applied for multi-track situations -->
<track duckable="true" id="highway">
<!-- These tags as per XSPF spec -->
<title>I Am The Highway</title>
<creator>Audioslave</creator>
<duration>335000</duration> <!-- Duration is important for determining if the track desired is the same as the one resolved, but not required -->
<identifier>MusicBrainz Identifier suggested</identifier> <!-- As the song is important, some way of making sure the right track is here would be a good idea -->
<!-- Extended elements -->
<cueTime relativeTo="MyPodcast">0</cueTime>
</track>
<track duckable="false"> <!-- This is a speech track, others should be ducked in preference -->
<!-- These tags as per XSPF spec -->
<title>Welcome note</title>
<creator>Joe Podcaster</creator>
<location>http://path.to/podcast_segment_1.mp3</location>
<!-- Extended elements -->
<cueTime relativeTo="highway">2000</cueTime> <!-- Start 2 seconds into 'I Am The Highway' -->
</track>
</trackList>
</playlist>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment