PeerTube is a federated video hosting network. And this channel
+ allows you to browse /Music and other categories. It's not quite a
+ very rich ecosystem yet, but very international. So perhaps worth a
+ lookaround.
+
+
The category list seeems to be uniform across most Peertube
+ instances. So you only need to reload stations/videos once switching
+ the address in the settings.
+
+
Per default you should use VLC and
+ youtube-dl in the
+ playback settings. Per default the faux mime type video/youtube
+ is used for all listings. However, internally there's a lookup for
+ an .m3u or direct .mp4 link already. So the video/* entry should
+ also be populated.
+
+
+ Channel options.
+
+
+ 🔠 Peertube server
+
Sets the main isntance to query video listings from. Now most
+ of the other sites will be peered, so the main server doesn't
+ have that much influence. It changes the ordering however, and
+ will reveal more local videos or languages often.
This plugin is no longer supported or a default
+ channel. Due to exceeded quotas, it ceased working, and Youtube/Google
+ bothered me with inane requests for video recordings of how ST2 works
+ (instead of simply looking at the code or investigating their own logs).
+ Btw, the exceeded quota was unlikely due to regular ST2 usage. It's
+ more probable the builtin and plainly-in-sight builtin API key was
+ reappropriated otherwise. Hence, you would have to
+ get
+ your own key now, if you wanted to use this channel. Btw,
+ overall it's not that interesting / worth the effort IMO.
+
Googles Youtube provides a quirky JSON API that makes browsing
channels and genres feasible. This beta plugin provides a little
overview, and usually retrieves recent video uploads.
VLC can directly play Youtube URLs. For other players one can use
@@ -29,10 +40,16 @@
button simply.
Channel options.
+
+ 🔠 API key
+
You will have to aquire your own API key now, if you want to
+ test this plugin. Quite cumbersome, and not recommended, but see
+ YouTube Data API Overview
+ 🔠 Region
With the country dropdown you can predefine which mostPopular listings are returned.
Streamtuner2 allows to bookmark favourite streams/stations.
Use right click for a stations context menu ▸ bookmark
Or just press F8 on a selected radio.
Else use the main menu Station ▸ bookmark
@@ -27,47 +32,54 @@
Once bookmarked the station is listed under bookmarks ▸ favourite.
Additionally every appearance of the station in other channel
tabs gets a ★ star icon.
-
-
Editing
-
+
+
Editing
+
Entries can be removed from the bookmark list again. Use
Edit ▸ Delete or the DEL
key for that.
You can also manually adapt an entry via Station ▸ Edit
or by pressing F3.
-
-
-
Subcategories
-
+
+
Subcategories
+
The bookmarks tab can display other categories besides "favourite". For example the
search feature creates a "search", while the "timer" and "links" plugins also display
lists here.
-
However the favourite list itself can not yet be categorized
- further.
-
+
+
However the favourite list itself can not yet be categorized
+ further.
The tabs in the main window represent the music directory
channels/services. Each lists categories/genres and their associated radios/streams.
The notebook tabs can also be repositioned with
Edit ▸ Channel tab position ▸ Top.
@@ -29,18 +34,19 @@
Individual channels provide different music/radio information. The table
views are however mostly identical for each tab. Some views may rename columns,
or remove them alltogether.
Streamtuner2 is a graphical tool. But it also has a limited commandline interface,
which can be used to query station information. This is useful for interfacing with
other applications.
Open a terminal and call streamtuner2 help to get an overview over
available commands.
@@ -38,13 +43,13 @@
Specifying a channel name is often optional. If you add one, it should be all-lowercase.
You can also give a list, like "shoutcast,xiph" which would be searched then.
-
-
GUI options
-
+
+
GUI options
+
There are also a few command line flags, which influence the
graphical runtime.
On BSD/Linux systems there are a plethora of audio players. In streamtuner2 you can
configure most of them as target application. Mostly it makes sense to use a single
application for all audio formats. But at least the */* media type should be handled
by a generic player, like vlc.
@@ -56,13 +61,13 @@
works better. (And sometimes not.)
Some applications, like Rhythmbox or Banshee, are primarily playlist managers, not players,
and cannot be invoked with a station URL. This makes them less suitable for use with streamtuner2.
(Same goes for streamtuner2 itself. It's not a player, but just a playlist browser.)
-
-
URL placeholders
-
+
+
URL placeholders
+
Listed audio players get run with a streaming server address (URL).
These can either be direct MP3/Ogg servers (http://example.org:7843/)
and sometimes playlist files (http://example.org/listen.pls)
- depending on the channel directory.
Most audio players automatically handle any station URLs. Some however
@@ -116,23 +121,27 @@
already provide PLS files, which avoids any extra conversion by ST2
which sometimes delay playback.)
A few channels (like Jamendo) send custom JSON playlist snippets,
which no audio player would understand. Which is why they're always
pre-converted.
-
+
+
Most audio players like %pls, yet sometimes the
older %m3u format more. Streamripper requires %srv for recording.
Use the newer %xspf format if your player supports
it. This format retains the maximum of station infos (such as
homepages etc.), and thus often makes for better bookmarking directly
in your player.
-
-
+
+
-
-
Other placeholders
-
+
+
Other placeholders
+
In addition to stream URL + type placeholders (%r, %x,
%pls, %m3u, etc), you can also pass station
info placeholders. These contain the stream information like title or
bitrate, or any other internal field:
@@ -182,96 +191,138 @@
If bookmarked
Not all fields are used in all channels. Sometimes they're repurposed (like playing
often doubles as Location: field). And some channels may even use custom internal names.
-
You often want to use such placeholders if you have a player or recording shell script, such as
+
Here a few other configuration examples for other
players/backends.
MPD
Rocus van Oosten recommends
following wrapper script to start playing radio streams via MPD right away:
-
MPD_HOST='10.0.0.222' # or your MPD host
+
MPD_HOST='10.0.0.222' # or your MPD host
export MPD_HOST
mpc clear
mpc load $1
-mpc play
+mpc play
Save it as mpc-pls script and configure it in streamtuner as
mpc-pls %pls for example. You can find an extended
version in the contrib/cmdline/ directory.
-
-
-
Windows config
-
+
+
Windows config
+
There's a few things you have to take care of when configuring players
and recording apps on Windows. Common applications and settings would be:
Player config
audio/mpeg
wmplayer.exe %asx
-
Windows media player doesn't understand PLS or M3U files.
+
+
Windows media player doesn't understand PLS or M3U files.
There are various options for streamtuner2, available under Edit ▸ Preferences or via F12.
@@ -40,13 +45,13 @@
The Plugin Manager 2 adds another
tab for updating or installing new plugins.
-
-
Player application settings
-
+
+
Player application settings
+
MIME types are abstract identifiers for media types. Audio/mpeg for
example represents MP3 files, and audio/ogg means OGG Vorbis. And the player
setting dialog simply associates an audio type with a playback application:
@@ -83,16 +88,15 @@
You can remove existing entries by clearing both the Format
field and its associated Application. Add completely new associations
through the emtpy line.
The second block of entries in the 'Apps' section specifies recording applications.
Here streamripper is preconfigured for audio streams, and youtube-dl for Youtube videos for instance.
audio/*
@@ -103,16 +107,15 @@
xterm -e "youtube-dl %srv"
To define a target directory, you can often add commandline arguments to each. Also it's typically
helpful to leave the xterm prefix on, so you can follow the processing state.
Bookmarked stations will be marked with a ★ star in all other station lists / categories.
@@ -175,17 +178,22 @@
Per default most server playlists (be they .pls or .m3u, .xpsf) are converted.
All player/recording apps receive a default %pls file normally.
Set this option to disable any such placeholders from the Player tab, and avoid
streamtuner2 pre-downloading any m3u/pls/xspf. Instead your audio player gets passed
the literal server/playlist streaming URL then.
-
Note that this is only
+
+
Note that this is only
a minor speedup, but may trip up some applications. A few channel sources don't
even provide standard stream addresses and playlists. (Jamendo albums for example really
need pre-conversion; no audio player can deal with such custom JSON playlists).
In short: you don't normally want to enable this flag - unless you run into problems
with streamtuner2 taking too long, or when it hangs by accidentially downloading streams
- itself.
+ itself.
+
System
@@ -217,15 +225,14 @@
appear slower at times, and freeze between fetching lists, but remains stable on the
upside. There's also a command line flag --nt to enable this workaround.
-
-
-
Channel and feature plugins and settings
+
+
Channel and feature plugins and settings
-
+
The 📻 Channels tab shows all available directory
services.
While the 🔌 Features group provides internal or menu
enhancements.
@@ -234,14 +241,16 @@
to take effect. (Unless the Plugin Manager 2
is enabled, with its 📦 Add tab visible.)
Each plugin can have its own little list of extra options. They'll be
applied right away for already active channel/feature plugins.
If you want to find out more about the short option descriptions (most settings are checkboxes),
+
+
+
+
If you want to find out more about the short option descriptions (most settings are checkboxes),
please have a look into the channels directory /usr/share/streamtuner2/channels/ and corresponding
- *.py files. These are somewhat readable even to non-programmers, and sometimes contain more information.
-
-
-
-
+ *.py files. These are somewhat readable even to non-programmers, and sometimes contain more information.
Besides the standard channels, there are a few more plugins available
+
→ Contrib/Extra Channels
+
+
+
+
More channels to install
+
+
Besides the standard channels, there are a few more plugins available
for download. See the Plugin Manager
and its 📦 Add tab, where you can easily install them.
Magnatune is an independent label for artists. It makes most
albums available for free listening with only a few intermittent
adverts. Otherwise it's a flatrate payable music discovery and
download service.
Delicast.com is another web directory of radio stations. It's
- somewhat slower because playback addresses are hidden away with extra
- page requests. Works reliably still.
Station database that's readily available as CSV list. You'll
currently need the tmp_clean_multiurl plugin as well, as most entries
supply multiple URLs, but action.py doesn't support those currently.
House-mixes.com provides a growing collection of DJ mixes (house,
dance, etc). The website can be used after a free registration to download
complete MP3s (often in high quality). In Streamtuner2 you can even
drag and drop them onto your desktop directly.
PunkCast is no longer maintained. It covered the NY music and tech
scenes, but existing recordings are still accessible mostly (some are
just weblinks however). This plugin is kept for nostalgic reasons;
it was available with streamtuner1 as well.
-
-
-
📻 GrLittleRadioPlayer
-
Great Little Radio Player is another Linux desktop radio browser.
+
+
📻 GrLittleRadioPlayer
+
Great Little Radio Player is another Linux desktop radio browser.
It comes with a default set of categorized stations. This plugin merely
imports that list as static directory.
-
-
-
📻 File browser
-
You can also browse local files with streamtuner2 using the file
+
+
📻 File browser
+
You can also browse local files with streamtuner2 using the file
browser plugin. It must be configured with your music collection path.
It's not a default plugin, because this isn't really what Streamtuner2
is made for. There are way better local music collection managers for
Linux. It's just here for convenience, and displays files just as any
other channel list. It has no specific file management features. (ID3
editing or file renaming were planned, but never implemented.)
Is a streaming server provider and handles licensing for stations.
- Provides a small genre-oriented directory.
-
-
-
📻 Compound
-
The compound channel is a meta plugin. It can aggregate categories
+
+
📻 Compound
+
The compound channel is a meta plugin. It can aggregate categories
from other channel plugins on a per-category basis. You for example
can mash Top40 or Classic genres from Shoutcast, Xiph, InternetRadio,
Tunein, etc. Which avoids switching between channel tabs somewhat.
Extra functionality and behaviour changes are available in
+
→ Feature plugins
+
+
+
+
🔌 Feature plugins and settings
+
+
Extra functionality and behaviour changes are available in
the 🔌 Featureconfiguration
section.
-
-
🔌 Filter Bitrate
-
+
+
🔌 Filter Bitrate
+
Some channels provide lower-quality audio streams. In particular
Xiph lists some awful radio stations. And this plugin helps filtering
those out of station lists.
MP3 streams often start to sound okay at 96kbit/s.
@@ -37,74 +42,72 @@
Note that you may end up with empty channel lists
altogether if you set these options too high. Some channels provide all
their streams with 64kbit/s only.
-
-
-
🔌 Channel toolbar link
-
+
+
🔌 Channel toolbar link
+
Adds a toolbar entry which shows the current channel/directory
service title and its homepage link. Such as:
It depends on the "update window title" option being enabled.
-
-
-
🔌 Export all stations
-
+
+
🔌 Export all stations
+
There's an "Export All" plugin available. It adds an entry under
Main menu ▸ Extensions ▸ Export all stations.
Which allows to export all stations from the currently visible channel category.
This is of course intended primarily for saving your bookmarks.
And it allows to import radio lists into any other music player or playlist collection/management app (such as Rhythmbox).
You can set the desired playlist format in the file saving dialog that pops up.
-
-
-
🔌 RadioTray hook
-
+
+
🔌 RadioTray hook
+
This plugin enables an extra category in the bookmarks tab.
It shows bookmarked stations from the RadioTray application, if that's
installed. Additionally it adds a context option to save new stations
from Streamtuner2 to RadioTray. The mapping option influences if added
radios are recategorized in RadioTray.
This plugin merely masks Streamtuner2 as an ordinary web browser when retrieving station lists.
It's technically unneeded, as ST2 isn't stressful to directory websites and not blocked anywhere.
It's only useful as additional privacy feature really, but shouldn't be used habitually.
-
-
-
🔌 History
-
Provides the small "history" category in the bookmarks tab. The length of
+
+
🔌 History
+
Provides the small "history" category in the bookmarks tab. The length of
which is configurable (defaults to 20).
-
-
-
🔌 Links to directory services
-
Adds a list of weblinks to other online music services in the "links" category
+
+
🔌 Links to directory services
+
Adds a list of weblinks to other online music services in the "links" category
within the bookmarks tab.
-
-
-
🔌 Recording options
-
+
+
🔌 Recording options
+
Overrides the ● record button to
not start streamripper right away. Instead it prompts for additional
settings before proceeding.
Common options are conveniently listed and saveable on a per-station
- basis. Which allows to suppress stream editing (record just one long
+ basis. Which allows to suppress stream splitting (record just one long
MP3 file), or file naming schemes.
Additionally it supports options of following recording backends:
streamrippper - for radio stations
fPls/fIcy - for radio stations
@@ -112,16 +115,15 @@
wget - plain MOD/ZIP files
The plugin provides config options of its own, such as a default
output directory, or how many / how detailed options to show.
-
+
-
-
-
Core feature plugins
-
+
+
Core feature plugins
+
Following plugins are covered more in-depth in the according manual
sections:
The Plugin Manager lists more
downloadable feature plugins in the 📦 Add tab.
-
-
🔌 Soundcloud streaming
-
+
+
🔌 Soundcloud streaming
+
Enables playback of soundcloud.com links, which are only used
in the 📻 Reddit plugin currently.
Homepage links are transformed into direct MP3 streaming addresses
on playback.
-
Depends on python-soundcloud, which you can install per
- pip install soundcloud.
+
+
Depends on python-soundcloud, which you can install per
+ pip install soundcloud.
+
Alternatively you could configure an external player like soundcli of course.
Use the pseudo type "audio/soundcloud" for the player settings table.
-
-
-
🔌 dev_faulthandler
-
This is a pure development plugin, meant to debug ST2 crashes.
-
-
-
🔌 bookmarks_show_extra
-
Is a slim UI adaption to show the `extra` field in the bookmarks
+
+
🔌 dev_faulthandler
+
This is a pure development plugin, meant to debug ST2 crashes.
+
+
🔌 bookmarks_show_extra
+
Is a slim UI adaption to show the `extra` field in the bookmarks
channel. This field can contain user comments, but is used per default
to store the originating channel in.
-
-
-
🔌 new_station
-
(Still unfinished). Small plugin to provide an "Add station..."
+
+
🔌 new_station
+
(Still unfinished). Small plugin to provide an "Add station..."
menu entry. Note that ST2 is not meant as playlist manager, which is
why this isn't a built-in feature. However, it's oft-requested anyway.
-
-
-
🔌 tmp_clean_multiurl
-
Strips extra space-separate URLs from station list. (Currently only
+
+
🔌 tmp_clean_multiurl
+
Strips extra space-separate URLs from station list. (Currently only
required for 📻 RadioSure channel. Later ST2 versions will likely support
such entries per default again).
-
-
-
🔌 Gtk theme setting
-
+
+
🔌 Gtk theme setting
+
You can set a custom theme for Streamtuner2 using the gtk_theme
plugin. It ought to list all available themes for Gtk2 or Gtk3 in
the according dropdown box. The "apply instantly" option may help
with enabling them right away.
-
Take note that not all Gtk themes will work,
- and some might crash streamtuner2.
+
+
Take note that not all Gtk themes will work,
+ and some might crash streamtuner2.
+
If you see ST2 hang at startup, then either edit
settings.json to remove the "theme": "..."
name, or use the streamtuner2 -d gtk_theme
start command.
To install/enable themes just for ST2, you could create a
~/.config/streamtuner2/themes/ folder, or one below
/usr/share/streamtuner2/themes/ even.
-
-
-
🔌 stop_button
-
Adds the toolbar button to stop streamripper/fpls - same as in
+
+
🔌 stop_button
+
Adds the toolbar button to stop streamripper/fpls - same as in
streamtuner1. Has become kind of redundant due to the newer
🔌 specbuttons plugin.
-
-
-
🔌 Config prefs
-
+
+
🔌 Config prefs
+
Introduces three main menu entries:
Station ▸ Extensions ▸ Config save
Saves the streamtuner2.json file verbatim.
@@ -219,42 +229,44 @@
requires you to hit Save for confirmation. In any case
ST2 should also be restarted afterwards to unload disabled plugins.
-
-
-
🔌 Cache reset
-
Adds a Cache reset button in the Options tab of
+
+
🔌 Cache reset
+
Adds a Cache reset button in the Options tab of
the settings window. It shows how much space all cache files of
ST2 occupy. Usually the icons take up most, while the channel/station
archive is often just 2-3 MB. Temporary m3u/pls files can also
be deleted. → Tick the parts you want to have removed before hitting
the reset button.
-
-
-
🔌 OGG Icon
-
Introduces small state icons to make higher-quality Vorbis and
+
+
🔌 OGG Icon
+
Introduces small state icons to make higher-quality Vorbis and
Opus stations stand out. (Not all channels provide exact format
information, so you'll mostly notice for Jamendo and Xiph.)
-
+
+
🔌 Win32/subprocess
+
Wraps the player/application exec() method. Instead of simple
+ shell execution, uses the Python subprocess module or win32 API
+ functions. This is mostly unneeded on Linux (kills a few features
+ even), but avoids the cmd.exe popup and delay on Windows. Highly
+ experimental at the moment.
Dirble.com is another radio station directory, based on
- user-contributed entries and automatic streaming server polling.
-
-
Provides a JSON API, which in v2 is easy to extract from.
-
Station lists contain even station homepages mostly.
-
And the channel plugin selects among the available
- streaming URLs based on format (Ogg, AAC, preferred over MP3) and
- maximum bitrate.
-
-
-
-
Station status indicators
-
-
For the dirble plugin each station entry may contain a stream
- status icon. They often just represent a heuristic check or general
- reachability statistic. You can usually start playback without
- paying attention to the status icons:
-
-
▮▮
-
Maybe currently inactive.
-
▶▶▮
-
Available stream, no recent outage.
-
◀◀
-
Unclear Status 2
-
-
-
-
-
-
There's a hidden config option for a custom API key.
- It's perhaps redundant. Should streamtuner2 -D however reveal an error,
- you can configure your own account in settings.json.
-
With the DND feature plugin enabled, there's an even simpler
method now to export stations. Simply click and hold the mouse on a
stream entry, then drag it out to the desktop, file manager or
directly into VLC or any running music player. That'll usually
copy a stream/station address directly.
@@ -23,51 +28,56 @@
You may specifically have to adapt the default export format for
this. Generally an XSPF or PLS file gets created for file managers.
While VLC is one of the few applications that understands direct
playlist URLs or literal M3U/PLS payloads even.
-
-
Importing
-
+
+
Importing
+
Playlist importing also works mostly. Here the action module
takes care to unpack PLS, XPSF or M3U files and a few other
formats. If you drag in streams/playlists from other applications,
it'll usually be expanded.
-
Take note that Streamtuner2 is not intended as playlist manager
+
+
Take note that Streamtuner2 is not intended as playlist manager
though. It will only accept radio streaming lists and discard
- local MP3/Ogg files.
+ local MP3/Ogg files.
+
The import capabilities also allow to move a station entry
from one of the channel tabs into your bookmarks list. Simply drag
an entry over the "bookmarks" notebook tab then further along into
the favourite list. - While this also works the other way round,
it doesn't make sense to add bookmarks to Shoutcast/Xiph/etc.
Because when their lists get refreshed (F5) all custom
entries are usually dropped.
-
-
-
Export format configuration
-
+
+
Export format configuration
+
Use F12 and change the DND export format. Again
PLS is most universal, XSPF most complete, but other formats
still available. Use the "desktop" format only if you want to
bookmark direct playback links on your desktop.
-
This is a workaround, because XDND is commonly just implemented
+
+
This is a workaround, because XDND is commonly just implemented
as dumb file transfer scheme. Hardly any application specifies the
actually desired formats, thus there's no auto-negotiation. ST2
therefore has to create temporary export files and hope for the
- best.
You probably won't need this often. But there's an
▸ Edit/Details context menu
which brings up a station editor:
You can see the standard title and genre fields here. But also a
few internally kept infos. For example the "url" field contains the
actual pls/m3u/server address. While the "format" can list a
non-standard audio compression type.
-
This dialog is primarily useful for your personal bookmarks.
+
+
This dialog is primarily useful for your personal bookmarks.
It allows to shorten or rename things. You can even use
new to add new entries this way.
(Which doesn't make sense in regular channel categories, because
changes will be lost once you hit Reload). A proper "Add station..."
- dialog is planned though.
There's an "Export All" plugin available. It adds an entry under
+ Main menu ▸ Extensions ▸ Export all stations.
+ Which allows to export all stations from the currently visible channel category.
+
This is of course intended primarily for saving your bookmarks.
+ And it allows to import radio lists into any other music player
+ or playlist collection/management app (such as Rhythmbox).
+
+
+
Configuration option
+
+
You can set the default export format in the settings dialog
+ F12.
+
It supports all common export formats now, with .PLS being the
+ default.
There are some self-explanatory description fields, and two important methods. Sometimes you
+ don't need categories even. The update_streams() function often downloads a website, parses it
+ with regular expressions or PyQuery / DOM methods, and packs into into a result list.
+
Here entries is a list of dictionaries, with standardized entry names like "title" and "playing"
+ for the description, and "homepage" for a browsable link, and most importantly "url" for the
+ actual streaming link. Often you want to add a "genre" and "format" and "bitrate" info. But this depends
+ on your plugins data source, really.
Per default you'll get a small logo / icon for any station
with a homepage link. They're automatically fetched and displayed
as soon as you play a radio entry.
Most configuration options are now collected there.
Some channels (Jamendo or Radionomy) provide small album previews
or banners even. Whereas normal favicons are just 16x16 pixel images.
-
Downloaded image files are meanwhile all sanitized (internally
+
+
Downloaded image files are meanwhile all sanitized (internally
converted to ensure they're really image files).
Albeit that's not strictly necessary for modern Gtk versions. (But
better safe than sorry).
-Images are kept in the ~/.config/streamtuner2/icons directory
+Images are kept in the ~/.cache/streamtuner2/icons directory
(or below %APPDATA%\ on Windows).
-
+
+
-
-
Configuration options
-
+
+
Configuration options
+
☑ Load favicons on playing
When starting to play a station, its homepage favicon is automatically downloaded
in the background. It's even displayed right away as soon as it's there. You can
also have a whole category/genre list updated right away per menu command
Channel ▸ Update favicons....
@@ -57,19 +67,16 @@
Oftentimes the Google favicon service sends back a placeholder icon
(a blue mini globe), which doesn't look very interesting. So you might
want to disable those. (They're still downloaded, but just not saved in
the cache directory.)
Playlist files often have the extension .pls. It's the primary station
stream link format of SHOUTcast, and was popularized by WinAmp.
The MIME type of these files is audio/x-scpls and they often look like:
-
[playlist]
+
[playlist]
numberofentries=1
File1=http://123.45.67.189:8222
Title1=(#1 - 555/2000) radio station Xyz - top 100 - all the hitzez
-Length1=-1
+Length1=-1
-
-
-
.JSON files
-
+
+
.JSON files
+
JSON is a data representation format derived from Javascript (the browser embedded
programming language for websites). It's commonly used because it provides a
nice balance between terse and exact data representation, while still being
readable.
Streamtuner2 uses it to store all of its configuration and radio station data files.
The MIME type of these files is application/json and they often look like:
It's also the basis for JSPF, the JSON variant of XSPF.
-
-
-
.XSPF files
-
+
+
.XSPF files
+
The Xiph foundation manages the Ogg streaming format, Vorbis and other
codecs, and introduced the "XML shareable playlist format" or "XSPF" for short.
They're hard to look at and not very widespread. On the upside they
contain more meta information than any other playlist store.
As MIME type application/xspf+xml and they often look like:
-
<?xml version="1.0" encoding="UTF-8"?>
+
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<trackList>
<track>
<title>Top 500 hitz station XY</title>
<annotation>Paris</annotation>
@@ -74,17 +76,16 @@
<location>http://123.24.67.189:8222</location>
<info>Pop, Rock, Future-Jazz</info>
<homepage>http://example.com/</homepage>
</track>
</trackList>
-</playlist>
+</playlist>
A variation of this format exists as JSPF, using JSON (yay!) instead of XML.
-
-
-
Uncommon formats
-
+
+
Uncommon formats
+
Various other file formats are in existence, but not widely used:
SMIL
Synchronized Multimedia Integration Language is an HTML-style
@@ -115,19 +116,16 @@
For a comparison of what various audio players support, see also
Playlist format support
in the ST2 fossil wiki.
Filtermusic summarizes all the common genres, but is primarily
focused on electro/dance/pop stations.
There's around a dozen categories with 20-30 radios each.
Prioritizes stations on listener popularity and freshness or something.
@@ -30,13 +35,13 @@
The plugin fetches an XML list of stations, or extracts from the homepage.
Most useful if you don't like to browse around, and want to
listen to most popular stations.
-
-
Configuration
-
+
+
Configuration
+
Like the 📻 Xiph plugin this channel provides
three fetch modes:
Website
@@ -52,28 +57,30 @@
Buffered
Keeps the XML file in memory. (It
rarely changes.)
-
+
+
There's no speed or feature differences this time. You might prefer
the buffered mode, as it reduces update requests, but still allows
- refreshing lists.
Using the global_key extension you can define a keyboard shortcut for switching within
a list of favourited radio stations. Per default it uses your bookmarks list, but it can be
configured to alternate in any other channel.
This is useful if you don't want to keep streamtuner2 atop your
desktop all the time, but still want to switch radios easily.
@@ -49,23 +54,32 @@
Uses a "forward" function key. (default)
To define another channel as source, enter its module name in the according field. Also
add a category separated by : colon here.
-
If the configured keyboard shortcut conflicts
+
+
If the configured keyboard shortcut conflicts
with another application, it won't work. And if you choose it too
generic, you won't be able to type longer documents. Also found
- out: key names are case sensitive.
Each tab in the main window is a "channel". It represents one
music directory service.
Stream
@@ -72,26 +77,23 @@
at lower "bitrates". For MP3 files any music with less than 100 kbit/s
starts to hiss, while OGG Vorbis still sounds okay at a datarate of
e.g. 64 kbit per second. So while bitrate basically means file size per duration,
it's commonly used as quality indicator.
-
-
Filetypes
-
+
+
Filetypes
+
Besides audio formats MP3 and OGG, there are also station/streaming link files.
These are often downloaded from the directory servers, before your music player gets activated.
Most radio stations are listed with a homepage URL. Use the 🏠 house symbol in the toolbar or
right click ▸ homepage to open
it in a web browser.
Some homepage links are guessed, because some channels (e.g.
Shoutcast) don't provide them (anymore). If you play a station
without homepage URL, it automatically gets googled. (The link will
be visible once you reselect the genre/category.)
-
-
Channel homepages
-
You can also visit channel homepages (Shoutcast.com, Xiph.org,
+
+
Channel homepages
+
You can also visit channel homepages (Shoutcast.com, Xiph.org,
etc). Either from the Channel menu, or via double
clicking the channel tab.
Internet-Radio.com is a broad alternative to Shoutcast.
It has regained station homepages for most entries again.
Genres are similiar to Shoutcast.
Updating station lists is comparatively fast.
Uses HTML extraction (regex or pyquery) internally.
-
-
Configuration
-
+
+
Configuration
+
🔟 pages to fetch
Note that this plugin has its own setting on how many
links to retrieve. Instead of stream numbers, it only counts pages.
Which is because this directly influences the stream loading time.
Streamtuner2 is a simple browser for internet radios. It acquires its radio lists
from various directory services. These are represented as "channel" tabs in the main
window. The category/genre lists are in the left pane, and associated stations right
to them.
-
-
How to select and play a radio.
-
+
+
How to select and play a radio.
+
Select a channel tab, like Shoutcast.
Click one of the genres in the left pane. For example Classic.
Now the right pane loads a radio list.
Double click one of the radio streams or use the ▶ play toolbar button.
@@ -30,14 +35,13 @@
Note that some categories are expandable. In a few plugins (modarchive),
the grouping genre/categories are empty, while in other channels they're
filled genre lists themselves.
-
-
-
What else can you do?
-
+
+
What else can you do?
+
Double clicking an entry row in the radio list starts your audio player. But there are
other functions available. Either go to the ▸ Station menu,
or access the context menu with a right click.
@@ -73,33 +77,33 @@
You can get a radio list according to search criteria.
Play, Record and Homepage also have buttons in the toolbar.
-
-
-
Refresh radio lists
-
+
+
Refresh radio lists
+
After some time, stream informations become obsolete. Therefore you should regularily
refresh the lists. The Reload button in the toolbar
(or F5) is your friend.
You can also update the category lists with Channel ▸ Reload Category Tree
and load favicons using Channel ▸ Update favicons...
-
-
-
-
You should only select radio stations and genres that you like.
-
-
-
-
+
+
+
+
You should only select radio stations and genres that you like.
Jamendo is a Creative Commons licensing oriented music distributor. It
hosts audio files for individual musicians and artists. It allows to list
albums, playlists, and individual tracks by genre.
The new Jamendo v3.0 is now utilized, which is JSON based and easy to extract.
@@ -31,13 +36,13 @@
There's a custom JSON playlist extractor (JAMJSON), to avoid preloading stream URLs for feeds/albums. While tracks/genre lists contain direct streaming addresses already.
Instead of favicons, streamtuner2 can fetch slightly larger album or track covers.
Tracks and albums can be downloaded free of charge (Creative Commons). Yeah, imagine that.
You can switch between MP3 and Ogg Vorbis audio streams for Jamendo.
It's not honored by the radio section, but albums and tracks should be
@@ -47,27 +52,35 @@
in different sizes. Use 25px if you want just favicon-sized icons.
🔟 Result length
Currently only 1 page (of 200 entries each) of album/track lists are
fetched.
LiveRadio.ie is a station directory from Irish radio enthusiasts. It's
+going pretty strong with over 4500 entries and a neat UI. It obviously also
+lists international stations.
+
It doesn't have an API in itself, but utilizes HTML5 microdata. And
+the station logos are utilized directly in ST2 as favicons.
+
+
+
Configuration
+
+
There's an option for querying LiveRadio.UK instead. This requires
+ a Streamtuner2 restart however, and might not be reflected in the UI.
+
Responds to the PyQuery (instead of regex) parsing main option.
MODArchive is a collection of module/tracker files. It's a community project, and
categorizes individual audio files. You'll need a MOD-capable audio player.
XMP/libxmp
MikMod
@@ -28,13 +33,13 @@
MODPlug for XMMS
GModplay
VLC (built-in support)
-
-
Configuration
-
+
+
Configuration
+
Audio files are packaged up in ZIP files on MODArchive.
While they are different formats (IT, S3M, XM, etc) they'll all
carry a generic audio/mod+zip type specifier in
streamtuner2 for configuration:
@@ -47,22 +52,19 @@
You can use curl, or wrap the command with xterm
(though files are too quick to download).
A few file managers might be able to open the URLs directly even.
See recording configuration for more examples.
MyOggRadio is an open
source internet radio directory project.
Since it provides its station list as JSON it's very well supported.
-
-
Sharing is caring
-
To help with populating the directory further,
+
+
Sharing is caring
+
To help with populating the directory further,
streamtuner2 provides an option to share radio station links.
Use the Station ▸ Share on MyOggRadio...
context menu entry to upload a selected radio (e.g. from your bookmarks).
-
-
-
Personal
-
+
+
Personal
+
The personal section is empty per default. You need to specify a user account
in the settings dialog, and actually bookmark stations in the MyOggRadio web site.
Shared entries aren't automatically in the personal list.
-
MyOggRadio also has a neat cross-platform player:
- JMyOggRadioPlayer.
-
+
+
MyOggRadio also has a neat cross-platform player:
+ JMyOggRadioPlayer.
+
-
-
Channel options.
-
+
+
Channel options.
+
Login settings
If you want to upload station infos to MyOggRadio, you need an account there.
Registration is free and doesn't require personal information nor email address.
Specify it as username:password separated with a : colon in this field.
-
+
+
Alternatively you can store your account settings in the central
~/.netrc config file. Or in ~/.config/netrc even.
Your entry for MyOggRadio should follow the common format:
Which is useful because it's a standard format, and prevents
leaking authorization data into per-application config stores.
Note that a user:pw setting in streamtuner still takes precedence
however.
-
+
+
stream URL format
When uploading stations, the streaming URL can be converted into
raw/direct server address. When undefined, station URLs are left as
.M3U/.PLS link.
PeerTube is a federated video hosting network. And this channel
+ allows you to browse /Music and other categories. It's not quite a
+ very rich ecosystem yet, but very international. So perhaps worth a
+ lookaround.
+
The category list seeems to be uniform across most Peertube
+ instances. So you only need to reload stations/videos once switching
+ the address in the settings.
+
Per default you should use VLC and
+ youtube-dl in the
+ playback settings. Per default the faux mime type video/youtube
+ is used for all listings. However, internally there's a lookup for
+ an .m3u or direct .mp4 link already. So the video/* entry should
+ also be populated.
+
+
+
Channel options.
+
+
🔠 Peertube server
+
Sets the main isntance to query video listings from. Now most
+ of the other sites will be peered, so the main server doesn't
+ have that much influence. It changes the ordering however, and
+ will reveal more local videos or languages often.
Right click for the context menu and the play action.
@@ -31,22 +36,20 @@
formats (MP3 or OGG). In the Apps section of the
settings dialog, you can associate one player
with each audio file (MIME) type. Nowadays you can often configure the same player
for all audio (and even video) types.
For updating or installing new plugins (extra channels or
features), there's a user plugin manager. It's available as
feature extension itself.
See the F12 config dialog 🔌 Feature section.
@@ -27,22 +32,27 @@
You can scan for available/new plugins there. And have them
downloaded right away. New plugins are just downloaded, not
implictly enabled. Reopen the config dialog to see them in the
regular 📻 Channels or 🔌 Feature tabs, and
then enable them.
-
Updated plugin versions won't be instantiated right away
+
+
Updated plugin versions won't be instantiated right away
if they've been active already. That requires either a restart.
- Or disabling + saving once, then reenabling them.
-
+ Or disabling + saving once, then reenabling them.
Alternative download repositories may be configured. (Little
practical value at the moment.)
And you can let the plugin manager handle ☑ autoactivation
of changed plugin states.
@@ -54,47 +64,55 @@
plugins. Plugin deactivation is mostly visual, but does not undo
menu extensions or undefine callback hooks.
-
-
-
User plugins
-
-
Downloaded plugins are stored in ~/.config/streamtuner2/plugins/.
+
+
User plugins
+
+
Downloaded plugins are stored in ~/.config/streamtuner2/plugins/
+ (not in ~/.cache, because they're sort of configuration
+ and should be backed up in case of local modifications).
To remove them, delete the individual *.py files there manually. But
keep the __init__.py stub.
On Windows they're stored in %APPDATA%\streamtuner2\plugins\.
-
+
+
Core plugins (those which are installed
system-wide) can often also be updated. The user-saved plugin will
take precedence after a restart. However the version number in
PluginManager2 still shows the system-installed/older version
regardless.
So you'll have to take care to eventually refresh/delete outdated user plugins,
whenever you install a newer Streamtuner2 version.
-
-
+
+
-
-
Disable user plugin loading
-
+
+
Disable user plugin loading
+
Since this is still rather experimental, you may disable all
associated features by starting ST2 via:
-
streamtuner2 -d pluginmanager2
+
streamtuner2 -d pluginmanager2
Which inhibits loading this whole extension. (The -d
flag also works for any other plugin name.)
Radio-Browser is an ambitious community project. It collects as many
public internet radio stations as possible. It's free to use, has a well
documented API, with a simple JSON interface.
It's now the backend in many open source music players:
@@ -37,38 +42,45 @@
Since v0.3 (in streamtuner2 2.2.0) you can now also share your favorite
stations directly. There's a new context menu ▸ Share in
Radio-Browser.
-
-
Configuration
-
+
+
Configuration
+
Instead of browsing by genres, you can switch to languages or
countries.
Note that you'll have to use Channel ▸ Reload Category Tree (F5)
again to update the category view.
-
+
The API server option lets you predefine a more local cache to be used
+ for station list queries.
+
And "Minimum stations to list a category" can be used to filter out
+ fringe/sparsely populated genres - on using Channel ▸ Reload Category Tree (F5). Typically 15 should be okay,
+ or 150 if you want to see only major categories. Else the category list
+ would become around a thousand entries.
Radionomy is an internet radio streaming provider, orginally
founded in Belgium. It commands a pretty big slice of the worldwide
internet radio stuff these days. - It took over Shoutcast.com for
instance.
@@ -33,13 +38,13 @@
Both listening and station hosting are free (given agreement
to autoplay advertisements, and a minimum quota of daily listeners).
Radionomy is therefore pretty popular and growing.
-
-
Configuration
-
+
+
Configuration
+
🔟 Number of pages
You can configure the number of pages it'll try (3 by
default) to influence the length of station lists.
@@ -48,23 +53,20 @@
And the song title updating can be disabled (for speedier loading).
Future versions of this channel plugin might poll it automatically,
and keep the station list auto-updated.
Most stations that stream MP3 or OGG music can be recorded. This is
accomplished through the command-line tool streamripper. If you
select a station and press ● record, a console
window should appear, where streamripper shows its progress.
There's already a default entry for recording radio stations:
Format
Application
@@ -63,23 +68,21 @@
Common xterm alternatives are x-terminal-emulator, or rxvt,
gnome-terminal, and xfce4-terminal etc.
See the streamripper(1) man page or its
FAQ for more tips.
-
-
-
fIcy/fPls
-
+
+
fIcy/fPls
+
As alternative to streamripper, check out fIcy/fPls
for recording ICEcast/SHOUTcast streaming servers.
It can be configured just as easily with:
xterm -e "fPls %pls"
-
-
-
Graphical stream recording tools
-
+
+
Graphical stream recording tools
+
You can also try a streamripper GUI or graphical
reimplementation:
StreamRipStar (Java), works best per drag and drop; set the DND format to PLS or M3U however.
Streamtastic (Java), only imports a text entry per drag and drop.
@@ -88,23 +91,21 @@
Which all simplify defining a custom download directory, or how radio
streams are split (between advertisement breaks), and the naming scheme
for resulting *.mp3 filenames of course.
-
-
-
Youtube-DL
-
+
+
Youtube-DL
+
The recording settings already have a specific entry for "video/youtube" URLs.
To configure a custom download directory, use:
xterm -e "cd /media/music ; youtube-dl %srv"
The cd trick also works with streamripper, or other tools.
-
-
-
Wget for MOD files
-
+
+
Wget for MOD files
+
To download audio files from The MOD Archive directly, you can also
define a custom handler.
Scroll/click on the ⎘ empty row in the recording application list.
@@ -122,23 +123,20 @@
All MOD file formats (IT, XM, S3M, etc.) are mapped to this generic type specifier.
Reddit (AKA "the frontpage of the internet") is a social media website.
Among its various sections is a large group of music subreddits.
Most of them link popular or novel Youtube music/videos, or user-produced
content etc.
@@ -39,13 +44,13 @@
All entries also show poster name and user votes.
See the config options if you want to keep regular webpage posts - instead
of just showing playable content.
-
-
Status icons
-
+
+
Status icons
+
Station entries may contain a status icon (leftmost; where usually
the bookmarks ✩ star goes).
It's a quick indicator of what type of content is linked:
▶
@@ -56,14 +61,13 @@
Walled gardens without playback handler.
📄
Just a web-link. Those are kept with the ☒ keep all option.
-
-
-
Configuration
-
+
+
Configuration
+
There's a few options for the reddit plugin:
🔟 Number of pages to fetch
Influences how many JSON requests are made to assemble a list of
subreddit posts with playable content. (For this plugin that's
@@ -107,28 +111,30 @@