Internet radio browser GUI for music/video streams from various directory services.

⌈⌋ branch:  streamtuner2

Current semi-stable release 2.1.9

  • Most significant change is the rewritten favicon module.

    • Banners and favicons are now displayed automatically after download.
    • There's more consistent rescaling of icons now.
    • All images are probed for correct content types, and always sanitized prior passing it to Gtk.
    • Column display is prefixed with custom widths.
    • It's completely pluginified, so can be turned off completely, and doesn't block startup if PIL/Pillow modules are missing.
  • New contrib/ channels (via user plugin manager):

    • a basic Magnatune album list
    • ListenLive
    • And a reddit channel:
      • Primarily for Youtube videos or mp3/ogg streams from /r/Music and around a 100 other subreddits.
      • Optional soundcloud streaming URL extraction (depends on pip install soundcloud)
      • Alternatively gem install soundcli and configure it as "soundcli %srv" for "audio/soundcloud" in the player settings.
    • WindowsMediaGuide plugin
  • There's a new general "bitrate filter" plugin to apply on all channels.

  • Many fixes:

    • Python3 support and print remnants
    • More forced UTF-8 decoding to speed downloading up.
    • Crash fixes for server search.
    • Fix for stream url conversion for MyOggRadio plugin.
    • JAMJSON extraction error
  • Removed:

    • iTunes plugin (former RS service unavailable)
  • Other fixes:

    • Dirble channel fetching (key error), and added weighted bitrate+format selection.
  • And there's a new visual plugin for displaying channel title + homepage link directly in the toolbar (just like streamtuner1 had it).

  • Other changes:

    • 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.


This release isn't completely stable yet. There are still random crashes due to threading+Gtk. Somewhat hard to localize really, because it happens so seldomly and without useful backtrace. You can use --nt if it's an issue.

Alternatively you can run ST2 with MALLOC_CHECK_=2. There's a dev_faulthandler plugin for tracking it down more precisely.