Internet-Radio

StreamTuner2 – internet radio station and video browser

I’ve put a few internet radio station players through their paces in recent weeks.

I was fairly positive about odio, even though it’s not released under an open source license and consumes massive globs of memory. But the developer is beavering away on a new release and intends to open source the code. I’ll definitely write an updated review when/if that happens. I’ve also covered Shortwave, a GTK3 based radio player written in Rust. My favorites to date are Radiotray-NG and PyRadio.

This time, I’m putting StreamTuner2 under the microscope. StreamTuner2 is a GUI for browsing internet radio directories, music collections, and video services – grouped by genres or categories. It runs your preferred audio player or streamripper for recording.

StreamTuner2 is an independent rewrite of StreamTuner1. Whereas the original was developed in C, the rewrite is coded in Python. If you ever used the original StreamTuner 0.99 software, you’ll be familiar with StreamTuner2’s interface, as both share many similarities. The software is released into the public domain, so you can do anything you like with the source code.

Installation

The developer provides official, albeit rudimentary, packages for Debian / Ubuntu, and Fedora distributions. There are also packages available for Arch Linux, openSUSE, Pardus Linux, Lighthouse / Pippy, Mandriva, and Lubuntu. Alternatively, you can grab the source code.

The source code for the latest version (at the time of writing this is version 2.2.1) can be downloaded from the project’s website, https://milki.include-once.org/streamtuner2/. You’ll need to uncompress the txz file and install the st2.py file.

$ xz -d < streamtuner2-2.2.1.src.txz | tar xvf -
$ cd streamtuner2/

All you need to do is install the st2.py file by typing at a shell:

$ sudo make install

This installs the software to /usr/share/streamtuner2. If you prefer the software in a different directory, edit the DEST line of the Makefile.

I’ve listed below the files that are installed.

mkdir	-p				/usr/share/streamtuner2/channels
mkdir	-p				/usr/share/doc/streamtuner2/help/img
install -m 755		bin		/usr/bin/streamtuner2
install -m 644		*py		-t /usr/share/streamtuner2
install -m 644		gtk3*		-t /usr/share/streamtuner2
install -m 644		channels/*py	-t /usr/share/streamtuner2/channels
install -m 644		help/*page	-t /usr/share/doc/streamtuner2/help
install -m 644		help/img/*	-t /usr/share/doc/streamtuner2/help/img
install -m 644		CREDITS		-t /usr/share/streamtuner2
install -m 644		README		-t /usr/share/doc/streamtuner2
install -m 644		*.desktop	-t /usr/share/applications/
install -m 644		icon.png	/usr/share/pixmaps/streamtuner2.png
install -m 644		help/str*2.1	-t /usr/share/man/man1/

Your system needs Python 2, PyGTK, LXML, PyQuery, PIL/Python-Imaging, Python-pyquery, python-requests, and Python-Keybinder installed.

Next page: Page 2 – Configuration

Pages in this article:
Page 1 – Introduction / Installation
Page 2 – Configuration
Page 3 – In Operation
Page 4 – Other Features
Page 5 – Summary

Share this article

4 comments

  1. Yeah, who haven’t used stream tuner. Pity the second iteration crashes a little too much for my taste. At least on Debian

  2. Thanks for the review, I’d never heard of StreamTuner2. Works pretty well on Fedora from a couple of hours usage.

  3. What a Python re-write means is that it will fail to install in some significant percentage of attempts due to installed differences in python installations. As “new, kewl” paradigms in python rise, working installations will mysteriously fail.

    What truly amazes me is that members of the python community were some of the MOST vocal about dependency hell

  4. More or less a well accepted solution is to put Python, dependencies and the app into a userland and run it in a container. It gives freedom, flexibility, repeated environments – one of the reason why Docker and Kubernetes are so popular.

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.