Hi Yoni, Is the latest version of emms-radio-browser acceptable? Shall I document in the manual?
---Fran On Tue, 14 Jan 2025 at 23:07, Fran Burstall (Gmail) <fran.burst...@gmail.com> wrote: > I have pushed a new version that uses a macro to do conditional definition > of the transient depending on emacs and transient versions. I have no idea > if this is good practice but it works. This version compiles w/o errors or > warnings and runs on emacs 29.3 and 30.0.93. The search UI is a little > different on 29.3 but all search functionality is there. > > ---Fran > > On Tue, 14 Jan 2025 at 09:10, Fran Burstall (Gmail) < > fran.burst...@gmail.com> wrote: > >> The"new" bits of transient that prevent compilation on 29.3 are >> >> * the documentation block at the top of the form >> * the toggling of advanced search >> >> I will have a look and see if I can replicate these with an older version >> of transient. Otherwise I guess we wait until emacs-30 becomes >> wide-spread... >> >> ---Fran >> >> >> >> On Tue, 14 Jan 2025 at 00:18, Yoni Rabkin <y...@rabkins.net> wrote: >> >>> >>> "Fran Burstall (Gmail)" <fran.burst...@gmail.com> writes: >>> >>> > But I can reproduce with emacs 29.3. How frustrating: it seems that >>> > transient has changed quite a bit in the last year or two. I will >>> > experiment... >>> > >>> > ---Fran >>> >>> I was on the way to saying the same thing and you beat me to it. We'll >>> need it to work on the latest released version of Emacs for inclusion in >>> a release (otherwise ELPA complains). I think that would be 29.4. >>> >>> That's the convenience of having it in a branch though; we can get to it >>> at any point. >>> >>> > On Mon, 13 Jan 2025 at 23:07, Fran Burstall (Gmail) < >>> fran.burst...@gmail.com> >>> > wrote: >>> > >>> >> I get a compilation error: >>> >> >>> >> >>> >> "emms-radio-browser.el:336:2: Error: Need command, got ‘:info’" >>> >> >>> >> >>> >> Hmmm, I cannot reproduce. Starting from emacs -Q, I add the emms >>> dir to >>> >> the loadpath and then bytecompile the emms-radio-browser file. I get >>> no >>> >> errors. This is on emacs 30.0.93. >>> >> >>> >> ---Fran >>> >> >>> >> >>> >> >>> >> On Mon, 13 Jan 2025 at 21:19, Yoni Rabkin <y...@rabkins.net> wrote: >>> >> >>> >>> "Fran Burstall (Gmail)" <fran.burst...@gmail.com> writes: >>> >>> >>> >>> >> >>> >>> >> Can you please open a branch with this code in it so that we can >>> test >>> >>> >> and try it out easily? >>> >>> > >>> >>> > >>> >>> > Yup: the 'radio-browser' branch should be ready for testing now. >>> >>> >>> >>> The feature looks great, but I get a compilation error: >>> >>> >>> >>> "emms-radio-browser.el:336:2: Error: Need command, got ‘:info’" >>> >>> >>> >>> >>> >>> > On Sat, 11 Jan 2025 at 19:33, Yoni Rabkin <y...@rabkins.net> >>> wrote: >>> >>> > >>> >>> >> "Fran Burstall (Gmail)" <fran.burst...@gmail.com> writes: >>> >>> >> >>> >>> >> > I started to play with the https://www.radio-browser.info API >>> and >>> >>> built >>> >>> >> a >>> >>> >> > radio station browser for EMMS which I attach. >>> >>> >> > >>> >>> >> > There are three entry points >>> >>> >> > >>> >>> >> > emms-radio-browser-search-by-name >>> >>> >> > emms-radio-browser-search-by-url >>> >>> >> > emms-radio-browser-full-search >>> >>> >> > >>> >>> >> > All search the radio-browser database and return a playlist of >>> >>> results. >>> >>> >> > The last of these needs the (built-in since v28.1) transient >>> package. >>> >>> >> > >>> >>> >> > It has only been lightly tested. >>> >>> >> > >>> >>> >> > If you think this is a worthwhile addition to EMMS, I can add >>> it to >>> >>> the >>> >>> >> git >>> >>> >> > repo and write some documentation... >>> >>> >> > >>> >>> >> > ---Fran >>> >>> >> >>> >>> >> I think that sounds good; thank you for working on this. >>> >>> >> >>> >>> >> Can you please open a branch with this code in it so that we can >>> test >>> >>> >> and try it out easily? >>> >>> >> >>> >>> >> >>> >>> >> > On Thu, 26 Dec 2024 at 17:11, Fran Burstall (Gmail) < >>> >>> >> fran.burst...@gmail.com> >>> >>> >> > wrote: >>> >>> >> > >>> >>> >> >> 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. >>> >>> >> >> >>> >>> >> >> 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? >>> >>> >> >> >>> >>> >> >> ---Fran >>> >>> >> >> >>> >>> >> >> >>> >>> >> >> >>> >>> >> > >>> >>> >> >>> >>> >> -- >>> >>> >> "Cut your own wood and it will warm you twice" >>> >>> >> >>> >>> >>> >>> -- >>> >>> "Cut your own wood and it will warm you twice" >>> >>> >>> >> >>> >>> -- >>> "Cut your own wood and it will warm you twice" >>> >>