emms-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: new emms-streams.el


From: Mike Kazantsev
Subject: Re: new emms-streams.el
Date: Sat, 30 Nov 2019 18:44:02 +0500

On Wed, 06 Nov 2019 14:47:37 -0500
Yoni Rabkin <address@hidden> wrote:

> The next step will be to make the proper stream names display as the
> track names, instead of simply the url of the playlist. After that,
> re-visiting getting real-time info on the track being played on the
> stream (a moving target, to be sure.)

I think it's done already with mpv.
I.e. when mpv gets icy-* tags update from remote stream (incl. when
starting playback), it updates playlist metadata, replacing URL or old
track title with the new one.

Guess for players without extensive APIs or stream metadata processing
it can be implemented via timer with http request.

Did implement parsing of such metadata from stream in the past, it was
surprisingly easy (python2):
https://github.com/mk-fg/fgtk/blob/master/desktop/media/icy_record#L22-L43

Where you basically split stream by icy-metaint value, grab first chunk
or two, locate \xff in there and read StreamTitle= from there, closing
connection afterwards (if all you need is title).


> As for the built-in list of stations, streams that didn't play with
> mplayer, vlc, or mpv where removed, as well as one stream which played a
> commercial every time I loaded it.

Actually one reason I was looking into these tags earlier is to remove
or mute these commercials, as surprisingly every single online radio
station I tried seem to tag these properly as such.

So if tag detection is responsive enough, e.g. comes from played stream
directly (with vlc or mpv), it should be relatively easy to also have
emms send mute/unmute signals to these via regexp matching commercial
for that radio.

Though maintaining such adblock-lists is maybe a bit more work than emms
project is expected to do :)


-- 
Mike Kazantsev // fraggod.net



reply via email to

[Prev in Thread] Current Thread [Next in Thread]