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

⌈⌋ branch:  streamtuner2


README at [de4406f6c3]

File README artifact 042864d151 part of check-in de4406f6c3



streamtuner2
============

ST2 is a browser for internet radio/streaming stations. It queries
directories like Shoutcast, TuneIn, MyOggRadio, Xiph.org. SurfMusic,
Jamendo etc. for music/video streams/collections.

It mimics the original streamtuner 1 to some extend.
It's however written in Python now instead of C.


Installation howto
------------------

If possible, prefer the package directly from your BSD/Linux distribution.

Due to a longer maintenance and release break, some still have older 2.0.x
versions however - whose channel plugins barely work anymore. If so, you
should install a newer version / manually.


Dependencies
------------

Running streamtuner2 requires Python and Gtk packages. Which nowadays are
installed per default. There's a few more Python packages required though:

 · python | python3
 · pygtk | python-gi
 · python-requests
 · python-pyquery
 · python-lxml
 · python-keybinder (optional)
 · python-xdg (optional)

Use your distro package manager with e.g.:

  sudo apt-get install python python-gtk2 python-xdg python-requests ...

Or utilize Pythons local package installer even:

  sudo pip install requests
  sudo pip install pyquery


DEB / RPM
---------

There are rudimentary packages built as .DEB and .RPM version. Install
those if feasible. The dependencies may not match with your package
manger, and are somewhat incomplete. (See "Dependencies" section.)


PYZ
---

Other users may wish to try the new Python archive (.PYZ) instead. Which
requires little installation, but can just be run in-place:

    python streamtuner-2.1.5.pyz

You could even make this Python ZIP executable, and copy it in your PATH.


Manual installation
-------------------

If you've checked out the source code repository, or did download the
*.src.txz archive, then you can just run it right there:

   ./st2.py

To install it manually:

  · Create a /usr/share/streamtuner2/
  · Copy all *.py files there.
  · Also copy the "gtk3.xml" file into /usr/share/streamtuner2/
  · Copy the channels/ subdir into /usr/share/streamtuner2/channels/
  · Install "bin" as /usr/bin/streamtuner2.
  · If you want to use another target, just edit the "bin" wrapper.
  · Optionally copy the help/ folder to /usr/share/docs/streamtuner2/
  · And the logo.png into the system pixmaps/,
    as well as the *.desktop file into /usr/share/applications/

That's pretty much what the binary packages extract to.


Hacking
-------

If you want to edit a channel plugin, just have a look into the
channels/*.py files. It's often rather easy to adapt things.

Moreover you can also edit the user interface. You need glade-3
installed, and open the "gtk3.xml" file. There it's easy to
rename or rearrange things.


Sources
-------

You'll find the current source files under 
http://fossil.include-once.org/streamtuner2/

That's a fossil DVCS repository. Which is miles easier to use than
git. You can download the single binary from http://fossil-scm.org/
or from your distro, then check out the repo:

  fossil clone http://fossil.include-once.org/streamtuner2/ st2.fossil
  fossil open st2.fossil

Or browse the contents

  fossil ui

Alternatively there are git and svn exports.

  fossil export --svn
  http://fossil.include-once.org/streamtuner2/git-fast-export

You can send in patches, a fossil bundle, or set up your cloned
repo publically `fossil cgi`. Else just create an account on
fossil.include-once.org, and send a mail, so I can elevate that
account to developer/commit/push permissions quickly. (Fossil
repos don't break. So dealing out sync access is a no-brainer.)


alternatives
------------

See http://fossil.include-once.org/streamtuner2/wiki/alternatives
for a list of recommended alternatives. Future ST2 versions will
try to interface and share more with them.


license
-------

Public Domain. (Unrestricted copying, modification, etc.)

If you wish you could thus redistribute it under a BSD/MIT
or even GNU-style license.