streamtuner2 2.2.0

Streamtuner2 is an internet radio browser. It utilizes various directory services like Shoutcast, Xiph, InternetRadio, SurfMusik, MyOggRadio, TuneIn, Dirble, Reddit, or Jamendo and Youtube to present categorized streaming stations. It chains to installed audio players like Audacious or VLC, uses streamripper for recording, but also allows bookmarking, exporting and easy searching.

Tags python gtk music internet-radio audio-recording desktop
License Public Domain
State stable

Recent Releases

2.2.031 Dec 2016 16:45 major feature: Adds new plugins for RCast, Streema, vTuner2,, RadioSure, house-mixes, and Reciva. Feature extensions include the Cache Reset, Config import/export, Gtk theme setting and installer, and Specbuttons for custom shortcuts, and script stations. Live365, and WindowsMediaGuide are gone. Marks the first release with thorough Windows support, and comes with a Python+Gtk post-installer and additional tools for the SFX archive. Comes with a CHM manual version instead. Many typos and stale infos in the manual have been remedied, more details on contrib plugins and station status icons (reddit, dirble, etc), and stream placeholders have been documented. Internet-Radio now supports the search, its DOM extraction was updated. Other fixes encompass the file browser, MODarchive categories, Radio-Browser submit function, Radionomy icon sizes. Reddit and Record-stop are now distributed plugins. Channels can easier hook new content types and extractors in the action module, the .QTL export format was added, better cross-platform quoting and a multi-URL workaround added. Better channel refresh indication, and colorized status bar. Plugin management has been extended, and a few fixes and option safeguards applied, support for table/dict settings. Other internal changes include plugin init2() callbacks, a secret `conf.cmd` option, `rt` open flag fixes, new unichr() alias, a cmd= flag for run_fmt_url().
2.1.926 May 2015 10:05 minor bugfix: Overhaul favicon/banner module, support instant icon display updates, simpler cache filenames, rescaling, implicit sanitizing, less coupling. Add channel. Add as contrib plugin. Add basic Magnatune channel. Add ListenLive contrib plugin. Add reddit channel plugin, and optional support for converting Soundcloud links to streamable addresses. Add WindowsMediaGuide plugin and fix ASX extraction. More Python3 fixes. More forced UTF-8 decoding to speed downloading up. Crash fixes for server search. Fix for stream url conversion for MyOggRadio plugin. Add bitrate filter plugin to apply on all channels. Remove iTunes plugin. Fix Dirble channel fetching, add weighted bitrate+format selection. Add channel homepage title+link in toolbar (like in streamtuner1). More internal simplifications and rewrites, externalized pluginconf. Compact main settings list, introduce SpinButtons for integers. Update documentation, add project links, slim down images. Introduce 0install package using PYZ bundle.
2.1.806 May 2015 08:25 feature creep: New channel plugins for,, Added Dirble channel again, using new API. Removed iCast plugin. Removed 8tracks plugin. Brought back Xiph XML extraction, and added direct website extraction, in addition to JSON cache mode. Add TV list for UbuntuUsers channel. Introduction of User Plugin Manager and channel module updating, automatic plugin activation, contrib plugins: PublicRadioFan, GLRP. Change Youtube plugin to use only v3 API henceforth. Minor fixes to action/playlist extraction, add specific JAMJ extractor. Update manual on new channel/feature plugins. Separated config and pluginconf modules. Fixes to contrib/ plugins: compound, file, punkcast. Scroll back to last category on initialization, simplified window and state storage. Some Gtk3 fixes, catch invalid favicons while updating columns, another fix for search function. Better inline documentation for player configuration, more thorough program binary detection. Simplified channel parsing utility code, added @use_rx decorator. And a few more internal cleanups. Add new configuration dialog group for Playlist processing. Experimental new package for Arch Linux / pacman.
2.1.727 Apr 2015 07:25 minor feature: Experimental support for drag and drop, which allows playback, importing, or exporting stations from/to files. Configuration dialog became more clearly arranged by separating channels and feature plugins. More manual examples on recording configuration added. Several enhancements to playlist conversion, support for .desktop links, better heuristics, and working url+title extraction. All MOD files use generic audio/mod+zip MIME type. Use new and distinct /tmp/streamtuner2/ directory for cache+export. Implemented hashing for cached m3u/pls files. Support 'feeds' stream in Jamendo, more complete Ogg Vorbis support and JAMJSON extraction instead of using old v2 API. Initial startup and application state restoration became more robust, active category is tracked more dynamically. Some internal simplifications and code cleanup (logging simplified, more uikit wrappers for Gtk3, removed outdated PIL workaround, cleanup up remnant module descriptions). Statusbar is just a plain text label, automatically emptied. Disable partial stream refreshing, and threading per --nt flag or config option, because Gtk3 support is still flaky. Let gtk_idle callbacks run in order through an internal precedence spool. Browser invocations corrected. Crash in cache search fixed. PYZ building now supported by xpm and Packfile for custom adaptions.
2.1.613 Apr 2015 03:18 minor bugfix: The action module has been completely restructured. It now supports playlist rewriting, better heuristics, XSPF, JSPF, ASX, SMIL formats. Along with that a category playlist export function was bundled, and the Save-As dialog reworked. A new SomaFM channel was bundled, and user agent switcher plugin added. Fixes for the bookmarks channel, cache search, plugin lookup code were applied. Startup is faster again, but plugins now initialize on selection first. Which makes the category association exacter after restarts. More code cleanup and restructuring, GUI updates, command line flag handling. Still a beta release.
2.1.506 Apr 2015 03:15 major cleanup: This is a beta release, with lots of cleanups and various bugfixes. Adds a self-contained PYZ package, which Python can run directly. Now fully utilizes the plugin meta data scheme for default settings, discovery, and to reduce internal complexity. A new channel plugin for has been bundled. Another plugin for interfacing with RadioTray was introduced, to share bookmarks via DBUS once RadioTray implements it. Notebook tabs are on the left per default, and can be rearranged directly in the GUI. The configuration dialog now indicates the availability of selected audio players. Default audio players get automatically configured during the first startup. Gtk properties are now utilized more over internal UI state vars. The the GtkBuilder UI file was compressed, and the Gtk2 fallback removed. The former channel icon PNGs got embedded. Theme configuration was removed. Category retrieval became more resilient. HTTP timeouts have been added. The bookmarks tab, settings window, search dialog, stream inspector/editor have been externalized into plugins; yet remain core features. The packaging layout has been slightly restructured - to support relocatable installations (for PyZIP package). Minor fixes to youtube, internet_radio, punkcast, timer and other plugins. Help pages have been updated further, as well as CREDITS, README and general PACKAGING infos, and most plugin short descriptions. The project wiki now contains more details on plugin APIs.
2.1.425 Mar 2015 03:15 minor feature: Fixed Internet-Radio extraction. Added basic TuneIn channel. Removed Dirble and MusicGoal channels. Fix desktop and packaging infos according to Debian guidelines. Switch to fpm/xml for package building. Remove bundled requests library. Update icon and fix path to application logo. Minor documentation updates.
2.1.3-115 Aug 2014 09:22 hidden: Fix for incorrectly converted gtk2.xml GtkBuilder/Glade UI file.
2.1.315 Aug 2014 03:15 minor bugfix: A new plugin for radio listings was introduced. Channel tabs can now be rearranged from notebook top to left side. The Live365 plugin was fixed again, as was the cache service. Shorter Youtube homepage URLs are now presented.
2.1.231 Jul 2014 03:23 major feature and minor bugfix: Radio list retrieval from Radionomys renewed Shoutcast have been fixed. The Live365 plugin however was disabled. There's also support for iTunes Radio stations (via RoliSoft Radio Playlist API), and a new channel module "" as seen in VLC. is now available in a localized English display. Shorter Youtube URLs are now used and the Wadsworth constant available. API interaction was fixed. More online music services have been added in the links list. The new and slimmer search dialog offers scanning all channels or just current and doesn't overwrite categories anymore.
2.1.124 Jun 2014 19:55 major feature: YouTube and SurfMusik channels were added, MODarchive included, but Google/DMOZ removed. The Jamendo API now allows browsing genres and shows cover images. Internet-Radio extraction was fixed, and a custom caching API introduced for Xiph/ICEcast. The configuration dialog visualizes plugins and options more coherently now. A new logo was introduced, and many bugfixes applied.
2.1.028 Apr 2014 02:13 major feature: Now supports running on Python3 and Python2, and can utilize either PyGI with GTk3 or PyGtk for Gtk2. Shoutcast, DMOZ and Live365 channels were fixed. Jamendo only lists radio stations for now. and Shoutcast TV channels were removed. HTTP downloading now uses requests and urllib3. Only real JSON is generated for config files now. Debugging output now is colorized, and ListStore references have finally been fixed.
2.0.905 Jan 2014 01:23 major bugfix: Fixes for sys.path merging, Gtk.main_quit were applied. Stream editing now provides a new button. Transitioned glade UI to gtk.Builder, and made configuration window resizable, and stations lists are no longer sortable. Pixbuf typecasting has been fixed in the mygtk handler.