During the COV-ID craziness I gave up on github because Microsoft started demanding a 2 factor setup for logins, which made it feel way too much like work. I hate that stuff. But it's been like 5 years and I still get the urge to code so I finally gave in and set it up. The MS github still complains my 2 factor selection is obsolete and threaten to lock me out, but it works for now. So I've resumed work on the ziptuner, trying to knock off some lingering items on the To Do list and clean up the crusty old code while I'm at it.
https://github.com/deeice/ziptuner/commits/master/
Here you can see the "Now playing" line shows the station name instead of just the number. I've also added several additional example scripts for more back-end players, including some that run in a separate window.
I kinda like the way SMPlayer shows the current song title from the meta tags and provides convenient access to the volume control. I can't really incorporate that into the main window since the Dialog program is doing all the work and I don't think it has an API for async updates. Back in the day I borrowed alt console /dev/tty4 on the zipit for status and control of the player program because the ziptuner dialogs hog the entire 320x240 pixel screen.
Unfortunately the modern internet moving from http to https has forced me to build a new curl for the zipit to use as a middle man, fetching and decrypting https streams and piping the unencrypted stream to the old players which lack support for that. Changing standards... what a hassle. The 15 year old libcurl from IZ2S couldn't do it so I'm now using tiny-curl with bearssl. Seems to work, but my build skills are week. It's significantly smaller than the old IZ2S curl, but bleeding edge openwrt is still the sleekest. They got some amazing build config setups.
Anyhow, here's a terminal screenshot of the new tiny-curl pipes that I made in an ssh session on the zipit. The new ziptuner is still pretty lean at 33 Kilobytes. I'm pretty happy with that. The mpg123-curl helper is used for http or https streams and mplayer-curl is used for the rest. This keeps the player pipeline as lean as possible. That's vital when you only got 32 Megabytes of RAM.
I still need to patch in /dev/tty4 support to catch the song titles. Hopefully I'll can keep this up and have more to say on this soon...
UPDATE Apr 19, 2026 :
I had thoughts about redirecting the output from mpg123 into a logfile and using a tailbox dialog to monitor it in the ziptuner. But apparently the ICY metadata with song titles is nonstandard HTTP and needs special curl options to request it and keep it in the stream. But it also looks like mpg123 doesn't like the ICY meta in the pipeline when you do that. Is ICY not the same as ID3 tags? Probably.
So that idea would work, but only for http which doesn't use curl. This needs some research, and it may just be simpler to rebuild mplayer and mpg123 to use the new libcurl from tiny curl. Darn it.


























