<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body>
<div>
<div>
<div style="direction: ltr;">Hey what’s up<span id="ms-outlook-ios-cursor"></span></div>
</div>
<div><br>
</div>
<div class="ms-outlook-ios-signature">Obter o <a href="https://aka.ms/o0ukef">Outlook para iOS</a></div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>De:</b> Playlist <playlist-bounces@xiph.org> em nome de Lucas Gonze <lucas@gonze.com><br>
<b>Enviado:</b> Tuesday, November 24, 2020 7:12:23 PM<br>
<b>Para:</b> Benoît Gréant <gordie.lachance@gmail.com><br>
<b>Cc:</b> playlist@xiph.org <playlist@xiph.org><br>
<b>Assunto:</b> Re: [Playlist] question about the XSPF specs</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<div dir="ltr">Sorry to be slow. I am thinking about the place of the open web, open standards, and openness in music, as a prerequisite to thinking of what I want to achieve with open playlists. </div>
<br>
<div class="x_gmail_quote">
<div dir="ltr" class="x_gmail_attr">On Tue, Oct 20, 2020 at 2:54 AM Benoît Gréant <<a href="mailto:gordie.lachance@gmail.com">gordie.lachance@gmail.com</a>> wrote:<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">So, what do you think of it ? :)
<div><br>
</div>
<div>+, I still would like to know how to add "regular" links (not audio sources, not identifiers) to an XSPF track with the current specs.</div>
<div><br>
</div>
<div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<a id="x_gmail-m_2921443449694538199gmail-rfc.section.4.1.1.2.14.1.1.1.11">4.1.1.2.14.1.1.1.11</a> link<br>
The link element allows XSPF to be extended without the use of XML namespaces. xspf:track elements MAY contain zero or more link elements.<br>
<link rel="<a href="http://foaf.org/namespace/version1" target="_blank">http://foaf.org/namespace/version1</a>"><a href="http://socialnetwork.org/foaf/mary.rdfs" target="_blank">http://socialnetwork.org/foaf/mary.rdfs</a></link></blockquote>
<div style="color:rgb(0,0,0); font-family:Helvetica,sans-serif; font-size:14.4px; margin-left:8px">
<div><a id="x_gmail-m_2921443449694538199gmail-rfc.section.4.1.1.2.14.1.1.1.11.p.1"></a></div>
<div><a id="x_gmail-m_2921443449694538199gmail-rfc.figure.u.8"></a></div>
</div>
</div>
<div><br>
</div>
<div>Let's say I have this link</div>
<div><br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<a href="<a href="https://fr.wikipedia.org/wiki/Karma_Police" target="_blank">https://fr.wikipedia.org/wiki/Karma_Police</a>">Karma Police on Wikipedia</a></blockquote>
<div><br>
</div>
<div>How should I convert this to an XSPF track link ?</div>
</div>
</blockquote>
<div><br>
</div>
<div>Well, that page doesn't have a duration, so it can't be a location. But I wonder whether it can be an identifier.</div>
<div><br>
</div>
<div>
<h3 style="color:rgb(0,0,0); break-after:avoid; font-family:Helvetica,sans-serif">
<a id="x_gmail-rfc.section.4.1.1.2.14.1.1.1.2" style="text-decoration-line:underline">4.1.1.2.14.1.1.1.2</a> identifier</h3>
<div style="color:rgb(0,0,0); font-family:Helvetica,sans-serif; font-size:14.4px; margin-left:8px">
<div><a id="x_gmail-rfc.section.4.1.1.2.14.1.1.1.2.p.1"></a></div>
<p style="margin-left:2em; margin-right:2em">Canonical ID for this resource. Likely to be a hash or other location-independent name, such as a MusicBrainz identifier. MUST be a legal URI. xspf:track elements MAY contain zero or more identifier elements.</p>
</div>
</div>
<div>How come you feel that wouldn't be a good fit?</div>
<div><br>
</div>
<div><br>
</div>
<div> </div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div>Thanks !!</div>
<div><br>
</div>
<div>Benoît</div>
<div><br>
</div>
<div><br>
</div>
</div>
<br>
<div class="x_gmail_quote">
<div dir="ltr" class="x_gmail_attr">Le dim. 18 oct. 2020 à 21:04, Benoît Gréant <<a href="mailto:gordie.lachance@gmail.com" target="_blank">gordie.lachance@gmail.com</a>> a écrit :<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">Lucas,
<div><br>
</div>
<div>Here's some of my thoughts. Most of them are related to the new way people do listen to music : often from Spotify, or on some other services, where the playlists are constantly updated and don't have audio files but stream links.</div>
<div><br>
</div>
<div>
<div><b>Stream sources</b></div>
<div>There is something to do about the location and the links attribute.</div>
<div>A track could have some locations (audio files) and links (eg. wikipedia entry), but where should I put stream sources (links to spotify, youtube, apple music, ...) ?</div>
<div>It looks like they don't fit any category. + sometimes, a stream source is available in one country but not in another.</div>
<div>Maybe we would need a new attribute here for those stream sources.</div>
<div>Also, it would be great to be able to set not only URLs for them (files/links/streams), but a title.</div>
<div>It's a bit weird to display some URLs without knowing what will be opened behind.</div>
<div>I could have a script that would request every URL to get a title, but well, that would be a lot of requests for a playlist.</div>
<div>So maybe all those attributes (location/link/stream) could have both an URL and a title. And why not even more...</div>
</div>
<div><br>
</div>
<div><b>Total tracks</b></div>
<div>When I fetch a playlist (eg. Spotify API), i will get X tracks back, depending of their API. Spotify has a 100 tracks limit.</div>
<div>But they do return the number of total tracks.</div>
<div>So we could have an XSPF playlist that contains 100 tracks but knowing that there is more to load.</div>
<div><br>
</div>
<div>
<div>4.1.1.2.8 date <br>
</div>
<div><i>Creation date (not last-modified date) of the playlist, formatted as a XML schema dateTime. xspf:playlist elements MAY contain exactly one.<br>
</i></div>
<div></div>
<div><br>
</div>
<div>The current attribute is for the creation date, but it would be useful to have an
<b>updated date</b>. Most playlists now, on Spotify or such, are constantly updated. It would be nice to have their creation time but also their last modified time.</div>
<div><br>
</div>
<div>In the same idea, I would personally like to have an attribute for <b>expiration date</b> (time).</div>
<div>Why ? My app (for instance) currently loads XSPF playlists and do refresh them every X time. </div>
<div>A playlist generated from a radio station would refresh after 5 minutes because it contains only 5 tracks. </div>
<div>But a curated playlist on Spotify would be refreshed every, let's say, 1 day; depending on its activity.</div>
<div>It would be cool to be able to set an expiry time.</div>
</div>
<div><br>
</div>
<div>That's all I see for now, what do you think of it ?</div>
<div><br>
</div>
<div>Thanks for your interest.</div>
<div><br>
</div>
<div>Benoît</div>
</div>
<br>
<div class="x_gmail_quote">
<div dir="ltr" class="x_gmail_attr">Le ven. 18 sept. 2020 à 01:51, Benoît Gréant <<a href="mailto:gordie.lachance@gmail.com" target="_blank">gordie.lachance@gmail.com</a>> a écrit :<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">Hi Lucas,
<div>First, thanks a lot for your kind reply and interest.</div>
<div>Maybe the best would be that I take some time to compile all my questions. </div>
<div>I don't really know how I can help, except by giving some feedback. Just thought that it would be nice to update the standard since the music industry changed a lot those years with the streaming industry.</div>
<div>A chat would be easier for me since i'm quite OK to write english but it's more difficult for me to speak :)</div>
<div><br>
</div>
<div>Thanks !</div>
<div><br>
</div>
<div>Benoît</div>
<div><br>
</div>
<div><br>
</div>
</div>
<br>
<div class="x_gmail_quote">
<div dir="ltr" class="x_gmail_attr">Le ven. 18 sept. 2020 à 00:50, Lucas Gonze <<a href="mailto:lucas@gonze.com" target="_blank">lucas@gonze.com</a>> a écrit :<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">Benoît, how can I help you out with this? Would a real time chat or zoom be helpful?
<div><br>
</div>
<div>If so, is anybody else interested in participating?</div>
</div>
<br>
<div class="x_gmail_quote">
<div dir="ltr" class="x_gmail_attr">On Mon, Sep 14, 2020 at 2:22 PM Lucas Gonze <<a href="mailto:lucas@gonze.com" target="_blank">lucas@gonze.com</a>> wrote:<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">I agree. It would be a productive project, and probably not too hard.
<div><br>
</div>
<div>On Benoit's ideas about how to do what he's thinking about, I wonder if other people think that it would be wise to have a track with multiple location elements, each pointing to a different streaming service. That would function similarly to the sources
idea:</div>
<div><br>
</div>
<div>"sources": [<br>
'<a href="https://open.spotify.com/track/3FgDF8tNn6aqB7ycygy7ch" target="_blank">https://open.spotify.com/track/3FgDF8tNn6aqB7ycygy7ch</a>',<br>
'<a href="https://www.youtube.com/watch?v=PA3P1-aSvKQ" target="_blank">https://www.youtube.com/watch?v=PA3P1-aSvKQ</a>',<br>
'<a href="https://www.youtube.com/watch?v=vUes9-tFWm4" target="_blank">https://www.youtube.com/watch?v=vUes9-tFWm4</a>',<br>
]<br>
</div>
<div><br>
</div>
<div>Then, Benoit brought up the issue of having different metadata for each track.location or track.sources[i], like this:</div>
<div><br>
</div>
<div>>></div>
<div> "meta" : [<br>
{'wpsstmapi/input_url'=> 'myvalue1'},
<div></div>
{'wpsstmapi/xspf_url'=> 'myvalue2'},
<div> {'wpsstmapi/importer_slug'=> 'myvalue3'},<br>
],
<div>In the specs, the keys are urls like <a href="http://example.com/rel/1/" target="_blank">http://example.com/rel/1/</a>. Should this point to an URL that exists or can I use what I want ?</div>
</div>
</div>
<div><<</div>
<div><br>
</div>
<div>The URL does not have to exist. This is legal, even though there is not actually any domain at
<a href="http://example.org" target="_blank">example.org</a>:</div>
<div><br>
</div>
<div><track><meta rel="<a href="http://example.org/meta/track/vendornick" target="_blank">http://example.org/meta/track/vendornick</a>">Spotify</meta></track></div>
<div><br>
Over the years I have softened up quite a lot towards namespaces, and don't think something like this would be a bad thing:</div>
<div><br>
<track><location ns:vendornick="Spotify"><a href="https://open.spotify.com/track/3FgDF8tNn6aqB7ycygy7ch" target="_blank">https://open.spotify.com/track/3FgDF8tNn6aqB7ycygy7ch</a></location></track><br>
</div>
</div>
<br>
<div class="x_gmail_quote">
<div dir="ltr" class="x_gmail_attr">On Mon, Sep 14, 2020 at 2:01 PM Martin McEvoy <<a href="mailto:martin@weborganics.co.uk" target="_blank">martin@weborganics.co.uk</a>> wrote:<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="auto">+1 from me on a JSON version.</div>
<br>
<div class="x_gmail_quote">
<div dir="ltr" class="x_gmail_attr">On Tue, 24 Mar 2020, 17:13 Lucas Gonze, <<a href="mailto:lucas@gonze.com" target="_blank">lucas@gonze.com</a>> wrote:<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">
<div>Benoît, it's excellent to meet you. I am CC'ing the XSPF list at <a href="mailto:playlist@xiph.org" rel="noreferrer" target="_blank">
playlist@xiph.org</a> and copying this answer to the Stack Overflow thread.</div>
<div><br>
</div>
<div>The info element is designed to do what you need:</div>
<div><a href="http://xspf.org/xspf-v1.html#rfc.section.4.1.1.2.14.1.1.1.6" rel="noreferrer" target="_blank">http://xspf.org/xspf-v1.html#rfc.section.4.1.1.2.14.1.1.1.6</a></div>
<div><br>
</div>
<div>However, there can only be one info element per track.</div>
<div><br>
</div>
<div>Regarding the many years since the last update of the spec, maybe it's time to do one. A blessed JSON version would be useful.
<br>
</div>
<div><br>
</div>
<div>-Lucas<br>
</div>
<div><br>
</div>
</div>
<br>
<div class="x_gmail_quote">
<div dir="ltr" class="x_gmail_attr">On Tue, Mar 24, 2020 at 1:38 AM Benoît Gréant <<a href="mailto:gordie.lachance@gmail.com" rel="noreferrer" target="_blank">gordie.lachance@gmail.com</a>> wrote:<br>
</div>
<blockquote class="x_gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div dir="ltr">Hi guys !
<div><br>
</div>
<div>I love your XSPF thing :)</div>
<div>Have been playing with it since several years, using it as base for my website (<a href="https://www.spiff-radio.org/wordpress-soundsystem-plugin/soundsystem-api/" rel="noreferrer" target="_blank">&API</a>, &WP plugin)
<a href="http://spiff-radio.org" rel="noreferrer" target="_blank">spiff-radio.org</a>.</div>
<div><br>
</div>
<div>I have a small question. I want to attach (several) links to a playlist track (eg. spotify/youtuble/apple music...); what tag should I use for this ?</div>
<div><br>
</div>
<div>Well, I posted <a href="https://stackoverflow.com/questions/60822682/xspf-xml-playlist-specifications-how-should-i-format-links-to-one-or-several" rel="noreferrer" target="_blank">
the complete question on Stackoverflow</a>.</div>
<div><br>
</div>
<div>Thanks for your help.</div>
<div><br>
</div>
<div>Benoît</div>
</div>
</blockquote>
</div>
_______________________________________________<br>
Playlist mailing list<br>
<a href="mailto:Playlist@xiph.org" rel="noreferrer" target="_blank">Playlist@xiph.org</a><br>
<a href="http://lists.xiph.org/mailman/listinfo/playlist" rel="noreferrer noreferrer" target="_blank">http://lists.xiph.org/mailman/listinfo/playlist</a><br>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div>
</div>
</body>
</html>