"Fran Burstall (Gmail)" <fran.burst...@gmail.com> writes: > I have been playing with emms-streams and with > > (setopt emms-player-mpv-update-metadata t) > > it is very capable. > > One mild pain point however is that adding a new stream with > 'emms-add-streamlist' and friends gives a streamlist with less > information than the built-in streamlists: it lacks the metadata field > which is useful for getting the station name (which can then be fed to > a track-description function to make for a more informative display in > the playlist buffer). > > Of course, one can populate such a field by hand and this is what I have > been doing but There Must Be A Better Way. This is the sort of thing that > the unimplemented emms-streams-info.el could be doing but I understand that > querying the url for such information is a bit of a nightmare (does the > stream have ICY tags etc). There have been previous discussions on this > list about this.
Indeed, embedded information in streams is a pain. In their defense, they have been around since when having enough bandwidth to stream audio was considered impressive. > However, there seems to be an alternative: https://www.radio-browser.info > is a free (as in freedom, as far as I can tell) repository of station > information with an API. Perhaps one could query this to get metadata > about the stream? > > One could also imagine other uses of this data like a radio station browser > in EMMS or being able to add streams by name rather than url... > > Thoughts? Worth pursuing? All of those sound great. I don't see a problem with pursuing it, especially if it solves a problem you have. While it may be convenient to query about a stream upon adding it, I would make sure that the user gets explicit control over the process, as in "This stream has no metadata, would you like to connect to radio-browser.info and search for information? (y-or-n)" (or something equivalent), so that Emms isn't going out and making a network call behind a user's back when they are adding a track. Of course, you would also want to avoid the system hanging on adding a track if there isn't a network connection. -- "Cut your own wood and it will warm you twice"