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. I'd have to add a 4th button called <Logs> to the main screen for but the code for that is really minimal and you get something like this mockup dialog I ran from an ssh session while mpg123 whipped up a log file. A tiny dose of grep and sed would clean that right up.
But apparently the ICY metadata with song titles is nonstandard web stuff, and curl needs special options to request it and keep it in the stream for https URLs. It also seems like mpg123 doesn't like the ICY meta in the pipeline when you do that. Is ICY meta not the same as ID3 tags? Probably not. So for the zipit the log idea would really only work for http streams because curl is not required.
This needs some research, and it may just be simpler to rebuild mplayer and mpg123. Darn it. I think I'll add the code anyhow since it's so small.



























