Technical information

Dependencies

Python 2.7 or 3.x

PyGtk or PyGI

Gtk2 or Gtk3

Requests/urllib3

PIL/Pillow

Soft dependencies

Python-LXML

Python-PyQuery

Audacious/VLC or any other player

Streamripper or fIcy

youtube-dl

fonts: Symbola/Unifont for some UI parts

Configuration files

/home/$USER/.config/streamtuner2/

Corresponds to the XDG_CONFIG_HOME setting. All ST2 configuration settings are contained within here and are in JSON format.

/home/$USER/.cache/streamtuner2/

Set from XDG_CACHE_HOME environment variable. Contains the channel cache/ and icons/. Symlinks in .config remain for convenience.

~/.config/streamtuner2/settings.json

General runtime options, plugin settings, and configured audio players.

~/.config/streamtuner2/window.json

Saved window sizes, list widths.

~/.config/streamtuner2/state.json

Last category in each channel tab.

~/.config/streamtuner2/bookmarks.json

Is a separate cache file for your bookmarked/favourite radio stations.

~/.cache/streamtuner2/cache/***.json

Channel cache, with station/stream lists in JSON files.

~/.cache/streamtuner2/icons/*.png

Holds downloaded favicons for station homepages.

~/.config/streamtuner2/plugins/*.py

Contain downloaded contrib/ plugins.

On Windows the ~/.config/ directory is called %APPDATA% instead. The paths in there are equally structured. On Linux ~/.cache/ is used to separate temporary from configuration data.

Installation spread

/usr/bin/streamtuner2

Associates the main binary.

/usr/share/streamtuner2/

Contains the individual ST2 python modules, and plugins in channels/. Also packages in pyquery/, but which is only used if the according modules aren't installed by the distribution.

/usr/share/doc/streamtuner2/

Contains the README, and Mallard/gnome-help/yelp files under help/.

Public Domain

The majority of code distributed with ST2 is placed into the Public Domain; meaning no licensing requirement and all code can be copied, modified and distributed unrestrictively.

The bundled kronos.py and requests/ library are NOT however.