<div dir="ltr"><div>Now that we have a shared repo on GitLab, Evan has turned your post into an issue:</div><div><a href="https://gitlab.xiph.org/xiph/xspf/-/issues/4">https://gitlab.xiph.org/xiph/xspf/-/issues/4</a></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 30, 2021 at 5:04 PM Lucas Gonze <<a href="mailto:lucas@gonze.com">lucas@gonze.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Kace, I'm holding off on substantive comments about this until we figure out what's happening with the mailing list and repo.</div><div><br></div><div>I'll dive in here next.<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 30, 2021 at 3:10 PM Kace Ong <<a href="mailto:kaceong@gmail.com" target="_blank">kaceong@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Since I see that my old questions from 22-Jul-2015 has been added to<br>
the gitlab issues<br>
(<a href="https://gitlab.xiph.org/boehs/xpsf-spec/-/issues/3" rel="noreferrer" target="_blank">https://gitlab.xiph.org/boehs/xpsf-spec/-/issues/3</a>), please allow me<br>
to add more context to my issue.<br>
<br>
The original question is whether XSPF allows custom tags and nesting<br>
of playlists.<br>
<br>
1. Playlist of playlists: say song A, B, C are a group file, and song<br>
D, E, F are another group file.  Then I may want to be able to create<br>
a third file that simply refers file 1 and 2 as child objects, without<br>
having to explicitly write out their contents.<br>
<br>
2. Within the definition of a playlist sequence, a song is defined by<br>
an absolute location/URL.  Sometimes this is undesirable, e.g. if the<br>
song's absolute location cannot be determined.  For instance, a set of<br>
song files on a portable storage is sometimes mounted on D: drive on<br>
one PC, and as F: drive on another PC.  This breaks the playlist.<br>
<br>
  - 2a. So sometimes what is desirable is to have a file location<br>
which is resolvable at runtime.  This may mean some extra user defined<br>
fields in XSPF specs, e.g. a custom field called DRIVENAME=D and<br>
allowing file locations to be expressions.<br>
<br>
  - 2b. In the world of online music, due to various rights and<br>
permissions concern, a song repository may be linked only temporarily<br>
at <a href="https://mymusic.com" rel="noreferrer" target="_blank">https://mymusic.com</a>.  This means any playlist pointing to this<br>
repository has to resolve the domain name.  It is then easier to have<br>
a custom field called REPOSITORY=<a href="https://mymusic.com" rel="noreferrer" target="_blank">https://mymusic.com</a> instead of that<br>
string in every song address.<br>
<br>
  - 2c. Both 2a/2b cases can be just a macro or variable substitution.<br>
But here is another situation that is possibly more complex.  A DJ at<br>
location 1 wants to play his music at location 2 remotely, which is a<br>
fairly common scenario in today's world.  Usually he sends the<br>
compressed audios from location 1 to 2.  But what if he sends his<br>
playlist instead and have it executed at location 2?  Then the remote<br>
side gets to hear full resolution music.  But this can work only if<br>
playlists can travel and still resolve resource addresses correctly.<br>
<br>
3. For the advanced music hackers, can we use scripts to automate<br>
playlists?  A case example would be a Karaoke, which has a music and a<br>
lyric components that need to sync with each other.  Another case<br>
example is a lecture, where we want the sequence to pause at a point<br>
until the user presses a key to continue. A playlist is essentially a<br>
script, but currently the script only has the power of a simple<br>
sequence and no conditional / subroutine / parameters.  How to create<br>
more flexibility?<br>
<br>
  - 3a. One example application could be to export playlists that<br>
mixes Spotify and Youtube music.  Each has a different URL scheme, and<br>
some tricks are needed to export their playlists which are custom<br>
formatted.  Exporting them to XSPF may require custom tags specific to<br>
each.<br>
<br>
Possibly one simple solution is to combine a powerful scripting<br>
language (like python) with XSPF as a data structure. But XSPF should<br>
define the behaviour of undefined or unknown tags and provide test<br>
suites.<br>
<br>
p.s. I am not aware what is the problem with Mailman, other than a<br>
very old user interface. Obviously Gitlab can be an improvement  but<br>
only if you know how to use it.<br>
_______________________________________________<br>
Playlist mailing list<br>
<a href="mailto:Playlist@xiph.org" target="_blank">Playlist@xiph.org</a><br>
<a href="http://lists.xiph.org/mailman/listinfo/playlist" rel="noreferrer" target="_blank">http://lists.xiph.org/mailman/listinfo/playlist</a><br>
</blockquote></div>
</blockquote></div>