<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="gmail_quote"><div dir="ltr" class="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="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 style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><a id="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="gmail-m_2921443449694538199gmail-rfc.section.4.1.1.2.14.1.1.1.11.p.1"></a></div><div><a id="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="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="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="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="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="gmail_quote"><div dir="ltr" class="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="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="gmail_quote"><div dir="ltr" class="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="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="gmail_quote"><div dir="ltr" class="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="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="gmail_quote"><div dir="ltr" class="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="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="gmail_quote"><div dir="ltr" class="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="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="gmail_quote"><div dir="ltr" class="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="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="gmail_quote"><div dir="ltr" class="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="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>