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

⌈⌋ branch:  streamtuner2


Check-in [222113231f]

Overview
Comment:Update documentation and notes for new channel/feature plugins.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 222113231fa380eb60634aa794475c3f89587ffb
User & Date: mario on 2015-05-05 10:56:37
Other Links: manifest | tags
Context
2015-05-05
10:58
Add omitted HTML pages. (*.html is in the fossil `ignore-glob`, so they get skipped for github-skin statistics bar.) check-in: 8a854e0f4c user: mario tags: trunk
10:56
Update documentation and notes for new channel/feature plugins. check-in: 222113231f user: mario tags: trunk
10:45
Readd plugin_base paths in addition to module basenames, otherwise pluginconf.get_data won't find plugins/* either in the module_list() or per get_data() - one uses paths, the other pkg names. check-in: 68107d7f9a user: mario tags: trunk
Changes

Modified channels/__init__.py from [704d24e7cb] to [f231100a42].

42
43
44
45
46
47
48
49
50
51
52
53
54
55
56


# Only export plugin classes
__all__ = [
    "GenericChannel", "ChannelPlugin", "use_rx",
    "entity_decode", "strip_tags", "nl", "unhtml", "to_int"
]
#__path__.insert(0, conf.plugin_dir)



# generic channel module                            ---------------------------------------
class GenericChannel(object):

    # control attributes







|







42
43
44
45
46
47
48
49
50
51
52
53
54
55
56


# Only export plugin classes
__all__ = [
    "GenericChannel", "ChannelPlugin", "use_rx",
    "entity_decode", "strip_tags", "nl", "unhtml", "to_int"
]
#__path__.insert(0, "plugins")#conf.plugin_dir)



# generic channel module                            ---------------------------------------
class GenericChannel(object):

    # control attributes

Modified channels/pluginmanager2.py from [a43e06b214] to [3bf0aa42d2].

94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
        # add page
        tab = w.insert_page_menu(sw, label, label, -1)
        
        # Prepare some text
        self.add_(uikit.label("\n<b><big>Install or update plugins</big></b>", size=520, markup=1))
        self.add_(uikit.label("You can update existing plugins, or install new contrib/ channels. User plugins reside in ~/.config/streamtuner2/plugins/ and can even be modified there (such as setting a custom # color: entry).\n", size=520, markup=1))
        self.add_(self.button("Refresh", stock="gtk-refresh", cb=self.refresh), "Show available plugins from repository\nhttp://fossil.include-once.org/streamtuner2/")
        self.add_(gtk.image_new_from_stock("gtk-info", gtk.ICON_SIZE_LARGE_TOOLBAR), "While plugins are generally compatible across releases, newer versions may also require to update the streamtuner2 core setup.\n Please note that plugin installation is rather experimental. It still requires a restart of ST2 to activate them.")
        for i in range(1,10):
            self.add_(uikit.label(""))


    # Append to vbox
    def add_(self, w, label=None, markup=0):
        w = uikit.wrap(w=w, label=label, align=10, label_size=400, label_markup=1)







|







94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
        # add page
        tab = w.insert_page_menu(sw, label, label, -1)
        
        # Prepare some text
        self.add_(uikit.label("\n<b><big>Install or update plugins</big></b>", size=520, markup=1))
        self.add_(uikit.label("You can update existing plugins, or install new contrib/ channels. User plugins reside in ~/.config/streamtuner2/plugins/ and can even be modified there (such as setting a custom # color: entry).\n", size=520, markup=1))
        self.add_(self.button("Refresh", stock="gtk-refresh", cb=self.refresh), "Show available plugins from repository\nhttp://fossil.include-once.org/streamtuner2/")
        self.add_(gtk.image_new_from_stock("gtk-info", gtk.ICON_SIZE_LARGE_TOOLBAR), "While plugins are generally compatible across releases, newer versions may also require to update the streamtuner2 core setup.")
        for i in range(1,10):
            self.add_(uikit.label(""))


    # Append to vbox
    def add_(self, w, label=None, markup=0):
        w = uikit.wrap(w=w, label=label, align=10, label_size=400, label_markup=1)

Added help/channel_dirble.page version [fd759c9459].















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<page	xmlns="http://projectmallard.org/1.0/"
	type="guide"
	id="dirble">

<info>
	<link type="guide" xref="index#channels"/>
	<link type="guide" xref="channels#list"/>
        <desc>Dirble.com</desc>
</info>

	<title>Dirble</title>

	<p>Dirble.com is another radio station directory, made up of
	user-contributed content, and automatic streaming server polling.</p>

	<p>It provides a JSON API, which as of v2 has a lot of unneeded meta
	information and internal ids. But it's actually nicer to scan, and
	contains even station homepages now.</p>

        <note><p>The config option for a custom API key is perhaps
        redundant. Should streamtuner2 -D however reveal an error, you
        can configure your own account there.</p></note>
</page>

Added help/channel_filtermusic.page version [015f1ed888].























































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<page	xmlns="http://projectmallard.org/1.0/"
	type="guide"
	id="filtermusic">

<info>
	<link type="guide" xref="index#channels"/>
	<link type="guide" xref="channels#list"/>
        <desc>Selection of the best radio stations</desc>
</info>

	<title>filtermusic.net</title>


	<p>Filtermusic summarizes all the common genres, but is primarily
	focused on electro/dance/pop stations.  It elects on listener
	popularity and freshness or something.</p>

	<p>Which is why there are just a dozen categories with around 20-30
	stations each. Still useful if you don't like to browse around
	a lot.</p>
	
	<note><p>Like the Xiph plugin this channel provides two/three fetch modes.
	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.</p></note>

</page>

Modified help/channel_icast.page from [553e37377e] to [eecefba447].

1
2
3
4
5
6
7
8
9
10
11

12

13
14
15
16



17
18
<page	xmlns="http://projectmallard.org/1.0/"
	type="guide"
	id="icast">

<info>
	<link type="guide" xref="index#channels"/>
	<link type="guide" xref="channels#list"/>
        <desc>iCast</desc>
</info>

	<title>iCast.io</title>



	<p>iCast is another huge collaborative radio station directory.</p>

	<p>Its support in Streamtuner2 is quite robust, as it provides a JSON API.
	It lacks in meta data information though (homepages, currently playing, listeners, etc.)</p>




</page>







|



>

>
|
|
<
<
>
>
>


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16


17
18
19
20
21
<page	xmlns="http://projectmallard.org/1.0/"
	type="guide"
	id="icast">

<info>
	<link type="guide" xref="index#channels"/>
	<link type="guide" xref="channels#list"/>
        <desc>iCast (removed)</desc>
</info>

	<title>iCast.io</title>
	<subtitle>removed</subtitle>

	<p>iCast was a collaborative (CC-BY-SA licensed entries) radio
	station directory.</p>
	


	<note style="bug"><p>As of May 2015 it seems to be down. Which is why the channel
	plugin got removed. It's still downloadable from contrib/ in the
	project repository or per Plugin Manager.</p></note>

</page>

Added help/channel_radionomy.page version [46c4f0f9fa].



















































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<page	xmlns="http://projectmallard.org/1.0/"
	type="guide"
	id="radionomy">

<info>
	<link type="guide" xref="index#channels"/>
	<link type="guide" xref="channels#list"/>
        <desc>European internet streaming provider</desc>
</info>

	<title>Radionomy</title>

	<p>Radionomy is an internet radio streaming provider, orginally
	founded in Belgium.  It "owns" a pretty slice of the worldwide
	internet radio stuff these days.  It took over Shoutcast.com for
	instance.</p>

	<p>Their primary directory on Radionomy.com lists only stations,
	that radionomy itself provides the servers for.  It's over 6000
	already.  Both listening and station hosting are freegiven agreement
	to autoplay advertisements, and a minimum quota of daily listeners). 
	It's thus still growing.</p>
	
	<p>The extraction method in streamtuner2 uses a mix of RegExp,
	DOM traversal, and JSON extraction, with some AJAX updating spiced
	in. It follows the scheme of the website to fetch station lists.
	</p>
	
	<section>
	 <title>config options</title>
	 
         <p> You can configure the number of pages it'll try ('3' by
  	 default) to influence the length of station lists.</p>
	
	 <p> And the song title updating ("OnAir Updates") can be disabled.
	 Future versions of this channel plugin might poll it automatically,
	 and keep the station list auto-updated.</p>
	
	 </section>

</page>

Added help/channel_somafm.page version [ba729ae978].



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<page	xmlns="http://projectmallard.org/1.0/"
	type="guide"
	id="somafm">

<info>
	<link type="guide" xref="index#channels"/>
	<link type="guide" xref="channels#list"/>
        <desc>Set of radio stations</desc>
</info>

	<title>SomaFM</title>

	<p>SomaFM is a small radio station network. It provides its own
	unique channels. Which streamtuner2 shows in a static list.</p>

	<p>It provides streaming links in different audio formats. Only
	AAC64 is guaranteed to be available for all. Other bitrates depend
	on the station.</p>
	
	<p>After reconfiguring the bitrate/format, you can Reload the
	station list to update them. Otherwise refreshing has no effect.</p>

        <note><p>SomaFM is a non-commercial and ad-free provider. It
        strongly depends on listener donations.</p></note>
</page>

Added help/channel_ubuntuusers.page version [1c5b9f4318].



















































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<page	xmlns="http://projectmallard.org/1.0/"
	type="guide"
	id="ubuntuusersm">

<info>
	<link type="guide" xref="index#channels"/>
	<link type="guide" xref="channels#list"/>
        <desc>Wiki list of radio stations</desc>
</info>

	<title>UbuntuUsers</title>

	<p>There's a manually curated list of radio stations in the
	UbuntuUsers.de Wiki. Like the origin website, most entries are
	German or European stations.</p>

	<p>So this is more of an example plugin, as it's not a huge list
	of course. It's just here really, because the Wiki markup is
	pretty well-written and easy to parse.</p>
	
	<note><p>There's also a small streaming TV list. But most entries
	aren't really accessible (anymore) without command line tools. 
	(Which that very Wiki page covers in detail.)</p></note>

</page>

Modified help/channel_xiph.page from [54ecabd2ac] to [c8dd0e6648].

1
2
3
4
5
6
7
8
9
10
11
12
13
14


15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35












































36


37
38
<page	xmlns="http://projectmallard.org/1.0/"
	type="guide"
	id="xiph">

<info>
	<link type="guide" xref="index#channels"/>
	<link type="guide" xref="channels#list"/>
	<link type="guide" xref="configuration#plugins"/>
        <desc>ICEcast radio directory.</desc>
</info>

	<title>Xiph.org</title>

	<p>Xiph.org is a non-profit organization, which develops and promotes the OGG audio format.


        It also hosts a list of ICEcast streaming stations (ICEcast is the non-commercial pendant
        to the SHOUTcast server.)</p>

        <p>This channel is somehwat easy to read for Streamtuner2, because the source data is already
        provided as &lt;XML&gt; file. (Internally we're using a caching service, which pre-converts
        that into JSON lists. The Xiph-org JSON API isn't really working yet).</p>

        <p>However, it lacks some essential informations like station homepages and listener numbers.</p>

        <p>Xiph also uses the .xspf format, instead of .pls stream links</p>


<terms>
  <title>Channel options.</title>
  <item>
    <title><code>Filter by minimum bitrate</code></title>
    <p>The bitrate of an audio stream determines the music quality. Many Xiph streams have simple
    and low quality microphone sources. To filter these out, and only leave high quality music
    stations, you can therefore change this option. OGG starts to sound well with 96 kbit/s (whereas
    MP3 often requires 128 or 160 kbit/s at least).</p>
  </item>












































</terms>



</page>













|
>
>
|
|



















>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
>
>


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<page	xmlns="http://projectmallard.org/1.0/"
	type="guide"
	id="xiph">

<info>
	<link type="guide" xref="index#channels"/>
	<link type="guide" xref="channels#list"/>
	<link type="guide" xref="configuration#plugins"/>
        <desc>ICEcast radio directory.</desc>
</info>

	<title>Xiph.org</title>

	<p>Xiph.org is a non-profit organization, which develops and
	promotes the OGG streaming format, and develops audio compression
	schemes such as Vorbis, FLAC, Opus, or the Theora video encoding
	enve.  It also hosts a list of ICEcast streaming stations. ICEcast
	is their non-commercial pendant to the SHOUTcast server.</p>

        <p>This channel is somehwat easy to read for Streamtuner2, because the source data is already
        provided as &lt;XML&gt; file. (Internally we're using a caching service, which pre-converts
        that into JSON lists. The Xiph-org JSON API isn't really working yet).</p>

        <p>However, it lacks some essential informations like station homepages and listener numbers.</p>

        <p>Xiph also uses the .xspf format, instead of .pls stream links</p>


<terms>
  <title>Channel options.</title>
  <item>
    <title><code>Filter by minimum bitrate</code></title>
    <p>The bitrate of an audio stream determines the music quality. Many Xiph streams have simple
    and low quality microphone sources. To filter these out, and only leave high quality music
    stations, you can therefore change this option. OGG starts to sound well with 96 kbit/s (whereas
    MP3 often requires 128 or 160 kbit/s at least).</p>
  </item>
  <item>
    <title><code>Fetch mode</code></title>
    <p>There are now three options to retrieve Xiph directory stations.</p>
    <p></p>
      <terms>
      <item>
        <title><code>Cache JSON</code></title>
        <p>There's a caching server specifically for streamtuner2. It fixes
        Xiphs quirky JSON API, and provides a simpler interface. It can't
        correct the invalid encodings however, which is why you see ????
        question marks a lot. This method does not reveal station homepages,
        but enables the channel/server search.</p>
      </item>
      <p></p>
      <item>
        <title><code>Clunky YP.XML</code></title>
        <p>The "yellow pages" YP.XML contains the full list of all known
        ICEcast streaming servers. It's however quite bulky and super slow
        to download. It furthermore clogs up a lot of memory, and requires
        manual searching (only cache search works). Which is why streamtuner2
        is trying hard to avoid it. It doesn't contain station homepages either.
        </p>
        <p>It's only still an option, because it's likely to remain accessible
        after Xiph.org rewrites their directory service. (Which though is
        getting delayed since a few years already.)
        You can set the special "buffy" mode in your <file>settings.json</file>
        to keep the whole YP.XML in memory. Which avoids the
        slow station list download/unpacking.
        </p>
      </item>
      <p></p>
      <item>
        <title><code>Forbidden fruits</code></title>
        <p>As new alternative, you can let ST2 directly scrape the station
        lists from dir.xiph.org (like it does for other channels). This is
        something which Xiph doesn't like/encourage. But the drawbacks of
        their alternative offerings are too severe and user-unfriendly;
        which is why there's this raw HTML extraction mode now.</p><p>The website
        listings contain full station homepages and a few more extras. In
        this mode we can even acceess the XSPF playlist formats directly.
        And the server search function, or browsing by audio/video format is
        supported.
        </p>
      </item>
    </terms>
  </item>
</terms>

</page>

Modified help/configuration.page from [76215508f0] to [93e7dafa68].

36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67

68
69


70
71
72
73
74
75
76
77
78



<section id="apps">

    <title>Player application settings</title>

    <p>MIME types are categorzied identifiers for file types. <var>Audio/mpeg</var> for example represents MP3 files,
    and <var>audio/ogg</var> means just OGG. And the player setting dialog simply associates an audio type with a
    playback application:</p>

<table shade="rows" rules="rows cols">
  <thead>  <tr><td><p>Format</p></td>     <td><p>Application</p></td></tr> </thead>
    <tr><td><p><var>audio/mpeg</var></p></td>     <td><p><cmd>audacious</cmd></p></td></tr>
    <tr><td><p><var>audio/ogg</var></p></td>      <td><p><cmd>audacious</cmd></p></td></tr>
    <tr><td><p><var>audio/*</var></p></td>        <td><p><cmd>vlc --one-instance</cmd></p></td></tr>
    <tr><td><p><var>video/*</var></p></td>        <td><p><cmd>totem</cmd></p></td></tr>
    <tr><td><p><var>video/youtube</var></p></td>  <td><p><cmd>vlc %srv</cmd></p></td></tr>
</table>

    <p>Application names are most always lowercase binary names. Double click an entry to edit it.
    After editing, the icon next to the application name will be updated. If it stays green, it's
    likely to work. If it turns red / into a stop symbol, then the entered name is likely incorrect.</p>

   <p><media type="image" src="img/configapps.png" mime="image/png" /></p>

    <p>After the application name, you can optionally use a placeholder like "<var>%pls</var>" (default),
    "<var>%m3u</var>" (old), or "<var>%xspf</var>" (modern), and "<var>%srv</var>" (for direct
    streaming URLs). See <link xref="config_apps#placeholders">placeholders</link>.</p>

    <p>Catch-all entries like <var>*/*</var> or a generic <var>audio/*</var> entry allow to configure a default player.
    While <var>video/youtube</var> is specific to the Youtube channel. And <var>url/http</var> a pseudo MIME type

    to configure a web browser (for station homepages).</p>
    


    <p>You can remove default entries by clearing both the Format field and its associated Application.
    Add completely new associations through the emtpy line. (Reopen the dialog to add another one.)</p>

</section>
<section id="recording">

    <title>Recording Apps</title>

    <p>The second block of entries in the 'Apps' section specifies recording applications.







|
|
|




















|
|
>
|

>
>
|
|







36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81



<section id="apps">

    <title>Player application settings</title>

    <p>MIME types are categorzied identifiers for file types. <var>Audio/mpeg</var> for
    example represents MP3 files, and <var>audio/ogg</var> means just OGG.  And the player
    setting dialog simply associates an audio type with a playback application:</p>

<table shade="rows" rules="rows cols">
  <thead>  <tr><td><p>Format</p></td>     <td><p>Application</p></td></tr> </thead>
    <tr><td><p><var>audio/mpeg</var></p></td>     <td><p><cmd>audacious</cmd></p></td></tr>
    <tr><td><p><var>audio/ogg</var></p></td>      <td><p><cmd>audacious</cmd></p></td></tr>
    <tr><td><p><var>audio/*</var></p></td>        <td><p><cmd>vlc --one-instance</cmd></p></td></tr>
    <tr><td><p><var>video/*</var></p></td>        <td><p><cmd>totem</cmd></p></td></tr>
    <tr><td><p><var>video/youtube</var></p></td>  <td><p><cmd>vlc %srv</cmd></p></td></tr>
</table>

    <p>Application names are most always lowercase binary names. Double click an entry to edit it.
    After editing, the icon next to the application name will be updated. If it stays green, it's
    likely to work. If it turns red / into a stop symbol, then the entered name is likely incorrect.</p>

   <p><media type="image" src="img/configapps.png" mime="image/png" /></p>

    <p>After the application name, you can optionally use a placeholder like "<var>%pls</var>" (default),
    "<var>%m3u</var>" (old), or "<var>%xspf</var>" (modern), and "<var>%srv</var>" (for direct
    streaming URLs). See <link xref="config_apps#placeholders">placeholders</link>.</p>

    <p>Catch-all entries like <var>*/*</var> or a generic <var>audio/*</var> entry allow to
    configure a default player.  While <var>video/youtube</var> is specific to the Youtube
    channel.  And <var>url/http</var> a pseudo MIME type to configure a web browser (for
    station homepages).</p>
    
    <p>In practice you only need one entry for <var>audio/*</var> and one for
    <var>video/*</var>, both can use the same player even.  You can remove default entries by
    clearing both the Format field and its associated Application.  Add completely new
    associations through the emtpy line.  (Reopen the dialog to add another one.)</p>

</section>
<section id="recording">

    <title>Recording Apps</title>

    <p>The second block of entries in the 'Apps' section specifies recording applications.
152
153
154
155
156
157
158
159




























160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
      <title>google station homepages</title>
      <p>When playing a station that doesn't have a homepage entry, streamtuner2 tries to google
      the station title. The found URL is then used/kept as station homepage. (Btw, station titles
      like www.mymusicstation.com are automatically mapped to homepage URLs already.)</p>
    </item>
 </terms>

  <terms>




























    <title>System</title>
    <item>
      <title>Temporary files</title>
      <p>Streamtuner2 creates temporary .m3u files - for audio players that are configured to use %m3u files
      instead of %pls or %srv URLs. For archival purposes you might want to set a dedicated directory
      for this. In recent versions streamtuner2 will create a <file>/tmp/streamtuner2</file> directory
      for itself. (You cannot set just `/tmp` anymore, because that will be mapped to the longer name.
      You can trick the old behaviour with `/tmp/.` however. Don't do that unless you have a reason).</p>
    </item>
    <item>
      <title>Reuse .m3u/.pls files</title>
      <p>When converting online station playlists, streamtuner2 creates temporary files like
      <var>shoutcast.11539398391891.m3u</var> for your audio player. It'll keep those
      files around until you quit streamtuner2. That speeds up switching between and reconnecting to 
      a previous station. It's in particular necessary when you use <key>⏭</key> or <key>⏪</key>
      directly in your player. For <var>%pls</var> references your player typically usues the online-only
      playlist files anyway. If you disable this option, then converted pls/m3u/xspf files get recreated
      repeatedly.</p>
    </item>
    <item>
      <title>Config directory</title>
      <p>Is where streamtuner2 keeps its <file>settings.json</file> and channel caches, favicons, etc.
      You can't set this in the config dialog. This is just for display. Set the <sys>XDG_CONFIG_HOME</sys>
      environment variable to adapt.</p>
    </item>
    <item>
      <title>Enable debug messages</title>
      <p>If you start streamtuner2 from a terminal window (xterm/rxvt), you can get a load of state
      and processing or debug infos. Enable this only for testing, as it might slow down station
      rendering.</p>
    </item>
    <item>
      <title>Disable threading</title>
      <p>Now "threading" is a somewhat technical term. It means that an
      application runs different tasks internally at the same time. It's
      used for snappier interfaces. However, it's also difficult to get
      right at times. In Streamtuner2 some concurrent tasks conflict with
      updating the Gtk3 user interface. Which is why the application may
      crash even on reloading station lists or when switching between
      categories too quickly. This is only an issue for Python3 on Gtk3 with
      streamtuner2. In such cases you can disable the concurrent-tasking
      mode. The GUI will appear slower at times, and freeze between fetching
      lists, but remains stable on the upside. There's also a command line
      flag <cmd>--nt</cmd> to enable this workaround.</p>
    </item>
 </terms>

</section>

<section id="plugins">
    <title>Channel and feature plugins and settings</title>








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>


|
|
|
|
|
|
<
<
<
<
<
<
<
<
<
|














|
<
|
|
|
<
|
|
|
|
<
|







155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198









199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214

215
216
217

218
219
220
221

222
223
224
225
226
227
228
229
      <title>google station homepages</title>
      <p>When playing a station that doesn't have a homepage entry, streamtuner2 tries to google
      the station title. The found URL is then used/kept as station homepage. (Btw, station titles
      like www.mymusicstation.com are automatically mapped to homepage URLs already.)</p>
    </item>
 </terms>

  <terms>
    <title>Playlist</title>
    <item>
      <title>Reuse .m3u/.pls files</title> <p>When converting online station playlists,
      streamtuner2 creates temporary files like <var>shoutcast.11539398391891.m3u</var> for
      your audio player.  It'll keep those files around in /tmp/streamtuner2 until you quit. 
      That speeds up switching between and reconnecting to a previous station.  It's in
      particular necessary when you use <key>⏭</key> or <key>⏪</key> directly in your player. 
      For <var>%pls</var> references your player typically usues the online-only playlist
      files anyway.  If you disable this option, then converted pls/m3u/xspf files get
      recreated repeatedly.</p>
    </item>
    <item>
      <title>Forgo any playlist conversion</title>
      <p>Per default all server playlists (be they .pls or .m3u, .xpsf) into whatever
      format your player/recording apss are configured with (per default <var>%pls</var>).
      Set this option to disable those 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 address in any case. Note that this is only
      a minor speedup, but may trip up some applications. A few channel sources even
      don't provide standard stream URLs and playlist (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 enabled this, unless you run into problems
      with streamtuner2 taking too long, or accidentially hangs due to downloading streams
      itself.</p>
    </item>
 </terms>

  <terms>
    <title>System</title>
    <item>
      <title>Temporary files</title> <p>Streamtuner2 creates temporary .m3u files - for audio
      players that are configured to use %m3u files instead of %pls or %srv URLs.  For
      archival purposes you might want to set a dedicated directory for this.  In recent
      versions streamtuner2 will create a <file>/tmp/streamtuner2</file> directory for itself. 
      (You cannot set just `/tmp` anymore, because that will be mapped to the longer name. 
      You can trick the old behaviour with `/tmp/.` however.  Don't do that unless you have a









      reason).</p>
    </item>
    <item>
      <title>Config directory</title>
      <p>Is where streamtuner2 keeps its <file>settings.json</file> and channel caches, favicons, etc.
      You can't set this in the config dialog. This is just for display. Set the <sys>XDG_CONFIG_HOME</sys>
      environment variable to adapt.</p>
    </item>
    <item>
      <title>Enable debug messages</title>
      <p>If you start streamtuner2 from a terminal window (xterm/rxvt), you can get a load of state
      and processing or debug infos. Enable this only for testing, as it might slow down station
      rendering.</p>
    </item>
    <item>
      <title>Disable threading</title> <p>Now "threading" is a somewhat technical term.  It

      means that an application runs different tasks internally at the same time.  It's used
      for snappier interfaces.  However, it's also difficult to get right at times.  In
      Streamtuner2 some concurrent tasks conflict with updating the Gtk3 user interface. 

      Which is why the application may crash even on reloading station lists or when switching
      between categories too quickly.  This is only an issue for Python3 on Gtk3 with
      streamtuner2.  In such cases you can disable the concurrent-tasking mode.  The GUI will
      appear slower at times, and freeze between fetching lists, but remains stable on the

      upside.  There's also a command line flag <cmd>--nt</cmd> to enable this workaround.</p>
    </item>
 </terms>

</section>

<section id="plugins">
    <title>Channel and feature plugins and settings</title>

Modified help/html/channels.html from [7b34ed45d6] to [6de77a0452].

31
32
33
34
35
36
37

38
39
40
41

42

43
44
45

46
47

48
49
50
51
52
53
54
55
        views are mostly identical in each tab. Some views may rename columns, or remove
        them alltogether.</p>
</div>
<div id="list" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Available channels</span></h2></div>
<div class="region"><div class="contents"><div class="links topiclinks"><div class="inner"><div class="region">
<div class="linkdiv "><a class="linkdiv" href="bookmarks.html" title="Bookmarks"><span class="title">Bookmarks</span><span class="linkdiv-dash"> — </span><span class="desc">Collect favourites via bookmark function, entry editing and deleting.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="internet_radio_org_uk.html" title="Internet-Radio.com"><span class="title">Internet-Radio.com</span><span class="linkdiv-dash"> — </span><span class="desc">Large radio directory from the UK.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="jamendo.html" title="Jamendo"><span class="title">Jamendo</span><span class="linkdiv-dash"> — </span><span class="desc">Creative Commons music and artist hub.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="live365.html" title="Live365"><span class="title">Live365</span><span class="linkdiv-dash"> — </span><span class="desc">Live365 radio network</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="myoggradio.html" title="MyOggRadio"><span class="title">MyOggRadio</span><span class="linkdiv-dash"> — </span><span class="desc">Open source stream directory.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="shoutcast.html" title="Shoutcast"><span class="title">Shoutcast</span><span class="linkdiv-dash"> — </span><span class="desc">One of the bigger radio station lists.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="surfmusik.html" title="SurfMusic"><span class="title">SurfMusic</span><span class="linkdiv-dash"> — </span><span class="desc">International radio listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="modarchive.html" title="The MOD Archive"><span class="title">The MOD Archive</span><span class="linkdiv-dash"> — </span><span class="desc">MOD files.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="tunein.html" title="TuneIn"><span class="title">TuneIn</span><span class="linkdiv-dash"> — </span><span class="desc">Radio and Podcast directory.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="xiph.html" title="Xiph.org"><span class="title">Xiph.org</span><span class="linkdiv-dash"> — </span><span class="desc">ICEcast radio directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="youtube.html" title="Youtube"><span class="title">Youtube</span><span class="linkdiv-dash"> — </span><span class="desc">Youtube music/video listings.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="icast.html" title="iCast.io"><span class="title">iCast.io</span><span class="linkdiv-dash"> — </span><span class="desc">iCast</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="itunes.html" title="iTunes Radios via RS"><span class="title">iTunes Radios via RS</span><span class="linkdiv-dash"> — </span><span class="desc">iTunes (RoliSoft Playlists)</span></a></div>
</div></div></div></div></div>
</div></div>
<div id="homepage" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Channel service homepage</span></h2></div>
<div class="region"><div class="contents"><p class="p">You can dobule click the channel tab to visit the channel/directory homepage.
	Alternatively there is an entry in the <span class="gui">Channel</span> menu.</p></div></div>







>




>

>



>


>
|







31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
        views are mostly identical in each tab. Some views may rename columns, or remove
        them alltogether.</p>
</div>
<div id="list" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Available channels</span></h2></div>
<div class="region"><div class="contents"><div class="links topiclinks"><div class="inner"><div class="region">
<div class="linkdiv "><a class="linkdiv" href="bookmarks.html" title="Bookmarks"><span class="title">Bookmarks</span><span class="linkdiv-dash"> — </span><span class="desc">Collect favourites via bookmark function, entry editing and deleting.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="dirble.html" title="Dirble"><span class="title">Dirble</span><span class="linkdiv-dash"> — </span><span class="desc">Dirble.com</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="internet_radio_org_uk.html" title="Internet-Radio.com"><span class="title">Internet-Radio.com</span><span class="linkdiv-dash"> — </span><span class="desc">Large radio directory from the UK.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="jamendo.html" title="Jamendo"><span class="title">Jamendo</span><span class="linkdiv-dash"> — </span><span class="desc">Creative Commons music and artist hub.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="live365.html" title="Live365"><span class="title">Live365</span><span class="linkdiv-dash"> — </span><span class="desc">Live365 radio network</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="myoggradio.html" title="MyOggRadio"><span class="title">MyOggRadio</span><span class="linkdiv-dash"> — </span><span class="desc">Open source stream directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="radionomy.html" title="Radionomy"><span class="title">Radionomy</span><span class="linkdiv-dash"> — </span><span class="desc">European internet streaming provider</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="shoutcast.html" title="Shoutcast"><span class="title">Shoutcast</span><span class="linkdiv-dash"> — </span><span class="desc">One of the bigger radio station lists.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="somafm.html" title="SomaFM"><span class="title">SomaFM</span><span class="linkdiv-dash"> — </span><span class="desc">Set of radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="surfmusik.html" title="SurfMusic"><span class="title">SurfMusic</span><span class="linkdiv-dash"> — </span><span class="desc">International radio listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="modarchive.html" title="The MOD Archive"><span class="title">The MOD Archive</span><span class="linkdiv-dash"> — </span><span class="desc">MOD files.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="tunein.html" title="TuneIn"><span class="title">TuneIn</span><span class="linkdiv-dash"> — </span><span class="desc">Radio and Podcast directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="ubuntuusersm.html" title="UbuntuUsers"><span class="title">UbuntuUsers</span><span class="linkdiv-dash"> — </span><span class="desc">Wiki list of radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="xiph.html" title="Xiph.org"><span class="title">Xiph.org</span><span class="linkdiv-dash"> — </span><span class="desc">ICEcast radio directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="youtube.html" title="Youtube"><span class="title">Youtube</span><span class="linkdiv-dash"> — </span><span class="desc">Youtube music/video listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="filtermusic.html" title="filtermusic.net"><span class="title">filtermusic.net</span><span class="linkdiv-dash"> — </span><span class="desc">Selection of the best radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="icast.html" title="iCast.io"><span class="title">iCast.io</span><span class="linkdiv-dash"> — </span><span class="desc">iCast (removed)</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="itunes.html" title="iTunes Radios via RS"><span class="title">iTunes Radios via RS</span><span class="linkdiv-dash"> — </span><span class="desc">iTunes (RoliSoft Playlists)</span></a></div>
</div></div></div></div></div>
</div></div>
<div id="homepage" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Channel service homepage</span></h2></div>
<div class="region"><div class="contents"><p class="p">You can dobule click the channel tab to visit the channel/directory homepage.
	Alternatively there is an entry in the <span class="gui">Channel</span> menu.</p></div></div>

Modified help/html/configuration.html from [eb1f4e22fe] to [93cd95cd46].

30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
    Also you can disable channels you don't need.</p></dd>
</dl></div>
</div></div>
</div>
<div id="apps" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Player application settings</span></h2></div>
<div class="region"><div class="contents">
<p class="p">MIME types are categorzied identifiers for file types. <span class="var">Audio/mpeg</span> for example represents MP3 files,
    and <span class="var">audio/ogg</span> means just OGG. And the player setting dialog simply associates an audio type with a
    playback application:</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
<thead><tr>
<td><p class="p">Format</p></td>
<td style="border-left-style: solid;"><p class="p">Application</p></td>
</tr></thead>
<tr>
<td><p class="p"><span class="var">audio/mpeg</span></p></td>







|
|
|







30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
    Also you can disable channels you don't need.</p></dd>
</dl></div>
</div></div>
</div>
<div id="apps" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Player application settings</span></h2></div>
<div class="region"><div class="contents">
<p class="p">MIME types are categorzied identifiers for file types. <span class="var">Audio/mpeg</span> for
    example represents MP3 files, and <span class="var">audio/ogg</span> means just OGG.  And the player
    setting dialog simply associates an audio type with a playback application:</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
<thead><tr>
<td><p class="p">Format</p></td>
<td style="border-left-style: solid;"><p class="p">Application</p></td>
</tr></thead>
<tr>
<td><p class="p"><span class="var">audio/mpeg</span></p></td>
66
67
68
69
70
71
72
73
74

75


76
77
78
79
80
81
82
83
84
<p class="p">Application names are most always lowercase binary names. Double click an entry to edit it.
    After editing, the icon next to the application name will be updated. If it stays green, it's
    likely to work. If it turns red / into a stop symbol, then the entered name is likely incorrect.</p>
<p class="p"><span class="media"><span class="media media-image"><img src="img/configapps.png" class="media media-inline" alt=""></span></span></p>
<p class="p">After the application name, you can optionally use a placeholder like "<span class="var">%pls</span>" (default),
    "<span class="var">%m3u</span>" (old), or "<span class="var">%xspf</span>" (modern), and "<span class="var">%srv</span>" (for direct
    streaming URLs). See <span class="link"><a href="config_apps.html#placeholders" title="URL placeholders">placeholders</a></span>.</p>
<p class="p">Catch-all entries like <span class="var">*/*</span> or a generic <span class="var">audio/*</span> entry allow to configure a default player.
    While <span class="var">video/youtube</span> is specific to the Youtube channel. And <span class="var">url/http</span> a pseudo MIME type

    to configure a web browser (for station homepages).</p>


<p class="p">You can remove default entries by clearing both the Format field and its associated Application.
    Add completely new associations through the emtpy line. (Reopen the dialog to add another one.)</p>
<div class="links topiclinks"><div class="inner"><div class="region"><div class="linkdiv "><a class="linkdiv" href="config_apps.html" title="Audio players"><span class="title">Audio players</span><span class="linkdiv-dash"> — </span><span class="desc">Common applications to use as players.</span></a></div></div></div></div>
</div></div>
</div></div>
<div id="recording" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Recording Apps</span></h2></div>
<div class="region"><div class="contents">
<p class="p">The second block of entries in the 'Apps' section specifies recording applications.







|
|
>
|
>
>
|
|







66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<p class="p">Application names are most always lowercase binary names. Double click an entry to edit it.
    After editing, the icon next to the application name will be updated. If it stays green, it's
    likely to work. If it turns red / into a stop symbol, then the entered name is likely incorrect.</p>
<p class="p"><span class="media"><span class="media media-image"><img src="img/configapps.png" class="media media-inline" alt=""></span></span></p>
<p class="p">After the application name, you can optionally use a placeholder like "<span class="var">%pls</span>" (default),
    "<span class="var">%m3u</span>" (old), or "<span class="var">%xspf</span>" (modern), and "<span class="var">%srv</span>" (for direct
    streaming URLs). See <span class="link"><a href="config_apps.html#placeholders" title="URL placeholders">placeholders</a></span>.</p>
<p class="p">Catch-all entries like <span class="var">*/*</span> or a generic <span class="var">audio/*</span> entry allow to
    configure a default player.  While <span class="var">video/youtube</span> is specific to the Youtube
    channel.  And <span class="var">url/http</span> a pseudo MIME type to configure a web browser (for
    station homepages).</p>
<p class="p">In practice you only need one entry for <span class="var">audio/*</span> and one for
    <span class="var">video/*</span>, both can use the same player even.  You can remove default entries by
    clearing both the Format field and its associated Application.  Add completely new
    associations through the emtpy line.  (Reopen the dialog to add another one.)</p>
<div class="links topiclinks"><div class="inner"><div class="region"><div class="linkdiv "><a class="linkdiv" href="config_apps.html" title="Audio players"><span class="title">Audio players</span><span class="linkdiv-dash"> — </span><span class="desc">Common applications to use as players.</span></a></div></div></div></div>
</div></div>
</div></div>
<div id="recording" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Recording Apps</span></h2></div>
<div class="region"><div class="contents">
<p class="p">The second block of entries in the 'Apps' section specifies recording applications.
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165

166
167
168
169
170

























171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
<dd class="terms"><p class="p">Streaming URLs in bookmarked stations get renewed on category reloads/updates. This isn't
      very reliable, as often station titles change together with the streaming URLs.</p></dd>
<dt class="terms">google station homepages</dt>
<dd class="terms"><p class="p">When playing a station that doesn't have a homepage entry, streamtuner2 tries to google
      the station title. The found URL is then used/kept as station homepage. (Btw, station titles
      like www.mymusicstation.com are automatically mapped to homepage URLs already.)</p></dd>
</dl></div>
</div></div>
<div class="terms"><div class="inner">
<div class="title title-terms"><h3><span class="title">System</span></h3></div>
<div class="region"><dl class="terms">
<dt class="terms">Temporary files</dt>
<dd class="terms"><p class="p">Streamtuner2 creates temporary .m3u files - for audio players that are configured to use %m3u files
      instead of %pls or %srv URLs. For archival purposes you might want to set a dedicated directory
      for this. In recent versions streamtuner2 will create a <span class="file">/tmp/streamtuner2</span> directory
      for itself. (You cannot set just `/tmp` anymore, because that will be mapped to the longer name.
      You can trick the old behaviour with `/tmp/.` however. Don't do that unless you have a reason).</p></dd>
<dt class="terms">Reuse .m3u/.pls files</dt>
<dd class="terms"><p class="p">When converting online station playlists, streamtuner2 creates temporary files like
      <span class="var">shoutcast.11539398391891.m3u</span> for your audio player. It'll keep those

      files around until you quit streamtuner2. That speeds up switching between and reconnecting to 
      a previous station. It's in particular necessary when you use <span class="key"><kbd>⏭</kbd></span> or <span class="key"><kbd>⏪</kbd></span>
      directly in your player. For <span class="var">%pls</span> references your player typically usues the online-only
      playlist files anyway. If you disable this option, then converted pls/m3u/xspf files get recreated
      repeatedly.</p></dd>

























<dt class="terms">Config directory</dt>
<dd class="terms"><p class="p">Is where streamtuner2 keeps its <span class="file">settings.json</span> and channel caches, favicons, etc.
      You can't set this in the config dialog. This is just for display. Set the <span class="sys">XDG_CONFIG_HOME</span>
      environment variable to adapt.</p></dd>
<dt class="terms">Enable debug messages</dt>
<dd class="terms"><p class="p">If you start streamtuner2 from a terminal window (xterm/rxvt), you can get a load of state
      and processing or debug infos. Enable this only for testing, as it might slow down station
      rendering.</p></dd>
<dt class="terms">Disable threading</dt>
<dd class="terms"><p class="p">Now "threading" is a somewhat technical term. It means that an
      application runs different tasks internally at the same time. It's
      used for snappier interfaces. However, it's also difficult to get
      right at times. In Streamtuner2 some concurrent tasks conflict with
      updating the Gtk3 user interface. Which is why the application may
      crash even on reloading station lists or when switching between
      categories too quickly. This is only an issue for Python3 on Gtk3 with
      streamtuner2. In such cases you can disable the concurrent-tasking
      mode. The GUI will appear slower at times, and freeze between fetching
      lists, but remains stable on the upside. There's also a command line
      flag <span class="cmd">--nt</span> to enable this workaround.</p></dd>
</dl></div>
</div></div>
</div></div>
</div></div>
<div id="plugins" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Channel and feature plugins and settings</span></h2></div>
<div class="region"><div class="contents">









|

<
<
<
<
<
<

|
|
>
|
|
|
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>









|
|
|
|
<
|
|
|
|
<
|







149
150
151
152
153
154
155
156
157
158
159






160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206

207
208
209
210

211
212
213
214
215
216
217
218
<dd class="terms"><p class="p">Streaming URLs in bookmarked stations get renewed on category reloads/updates. This isn't
      very reliable, as often station titles change together with the streaming URLs.</p></dd>
<dt class="terms">google station homepages</dt>
<dd class="terms"><p class="p">When playing a station that doesn't have a homepage entry, streamtuner2 tries to google
      the station title. The found URL is then used/kept as station homepage. (Btw, station titles
      like www.mymusicstation.com are automatically mapped to homepage URLs already.)</p></dd>
</dl></div>
</div></div>
<div class="terms"><div class="inner">
<div class="title title-terms"><h3><span class="title">Playlist</span></h3></div>
<div class="region"><dl class="terms">






<dt class="terms">Reuse .m3u/.pls files</dt>
<dd class="terms"><p class="p">When converting online station playlists,
      streamtuner2 creates temporary files like <span class="var">shoutcast.11539398391891.m3u</span> for
      your audio player.  It'll keep those files around in /tmp/streamtuner2 until you quit. 
      That speeds up switching between and reconnecting to a previous station.  It's in
      particular necessary when you use <span class="key"><kbd>⏭</kbd></span> or <span class="key"><kbd>⏪</kbd></span> directly in your player. 
      For <span class="var">%pls</span> references your player typically usues the online-only playlist
      files anyway.  If you disable this option, then converted pls/m3u/xspf files get
      recreated repeatedly.</p></dd>
<dt class="terms">Forgo any playlist conversion</dt>
<dd class="terms"><p class="p">Per default all server playlists (be they .pls or .m3u, .xpsf) into whatever
      format your player/recording apss are configured with (per default <span class="var">%pls</span>).
      Set this option to disable those 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 address in any case. Note that this is only
      a minor speedup, but may trip up some applications. A few channel sources even
      don't provide standard stream URLs and playlist (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 enabled this, unless you run into problems
      with streamtuner2 taking too long, or accidentially hangs due to downloading streams
      itself.</p></dd>
</dl></div>
</div></div>
<div class="terms"><div class="inner">
<div class="title title-terms"><h3><span class="title">System</span></h3></div>
<div class="region"><dl class="terms">
<dt class="terms">Temporary files</dt>
<dd class="terms"><p class="p">Streamtuner2 creates temporary .m3u files - for audio
      players that are configured to use %m3u files instead of %pls or %srv URLs.  For
      archival purposes you might want to set a dedicated directory for this.  In recent
      versions streamtuner2 will create a <span class="file">/tmp/streamtuner2</span> directory for itself. 
      (You cannot set just `/tmp` anymore, because that will be mapped to the longer name. 
      You can trick the old behaviour with `/tmp/.` however.  Don't do that unless you have a
      reason).</p></dd>
<dt class="terms">Config directory</dt>
<dd class="terms"><p class="p">Is where streamtuner2 keeps its <span class="file">settings.json</span> and channel caches, favicons, etc.
      You can't set this in the config dialog. This is just for display. Set the <span class="sys">XDG_CONFIG_HOME</span>
      environment variable to adapt.</p></dd>
<dt class="terms">Enable debug messages</dt>
<dd class="terms"><p class="p">If you start streamtuner2 from a terminal window (xterm/rxvt), you can get a load of state
      and processing or debug infos. Enable this only for testing, as it might slow down station
      rendering.</p></dd>
<dt class="terms">Disable threading</dt>
<dd class="terms"><p class="p">Now "threading" is a somewhat technical term.  It
      means that an application runs different tasks internally at the same time.  It's used
      for snappier interfaces.  However, it's also difficult to get right at times.  In
      Streamtuner2 some concurrent tasks conflict with updating the Gtk3 user interface. 

      Which is why the application may crash even on reloading station lists or when switching
      between categories too quickly.  This is only an issue for Python3 on Gtk3 with
      streamtuner2.  In such cases you can disable the concurrent-tasking mode.  The GUI will
      appear slower at times, and freeze between fetching lists, but remains stable on the

      upside.  There's also a command line flag <span class="cmd">--nt</span> to enable this workaround.</p></dd>
</dl></div>
</div></div>
</div></div>
</div></div>
<div id="plugins" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Channel and feature plugins and settings</span></h2></div>
<div class="region"><div class="contents">

Modified help/html/icast.html from [d20f5e7b46] to [87ad638d9d].

10
11
12
13
14
15
16

17


18
19

20
21
22


23
24
25
26
27
28
29
<div class="header"><div class="trails" role="navigation">
<div class="trail">
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a> » <a class="trail" href="channels.html" title="Channels">Channels</a> › <a class="trail" href="channels.html#list" title="Available channels">Available channels</a> » </div>
<div class="trail">
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#channels" title="Channel tabs">Channel tabs</a> » </div>
</div></div>
<div class="body">

<div class="hgroup"><h1 class="title"><span class="title">iCast.io</span></h1></div>


<div class="region">
<div class="contents">

<p class="p">iCast is another huge collaborative radio station directory.</p>
<p class="p">Its support in Streamtuner2 is quite robust, as it provides a JSON API.
	It lacks in meta data information though (homepages, currently playing, listeners, etc.)</p>


</div>
<div class="sect sect-links" role="navigation">
<div class="hgroup"></div>
<div class="contents"><div class="links guidelinks"><div class="inner">
<div class="title"><h2><span class="title">More Information</span></h2></div>
<div class="region"><ul>
<li class="links "><a href="channels.html#list" title="Available channels">Available channels</a></li>







>
|
>
>


>
|
|
<
>
>







10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

26
27
28
29
30
31
32
33
34
<div class="header"><div class="trails" role="navigation">
<div class="trail">
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a> » <a class="trail" href="channels.html" title="Channels">Channels</a> › <a class="trail" href="channels.html#list" title="Available channels">Available channels</a> » </div>
<div class="trail">
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#channels" title="Channel tabs">Channel tabs</a> » </div>
</div></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title">iCast.io</span></h1>
<h2 class="subtitle"><span class="subtitle">removed</span></h2>
</div>
<div class="region">
<div class="contents">
<p class="p">iCast was a collaborative (CC-BY-SA licensed entries) radio
	station directory.</p>
<div class="note note-bug" title="Bug"><div class="inner"><div class="region"><div class="contents"><p class="p">As of May 2015 it seems to be down. Which is why the channel

	plugin got removed. It's still downloadable from contrib/ in the
	project repository or per Plugin Manager.</p></div></div></div></div>
</div>
<div class="sect sect-links" role="navigation">
<div class="hgroup"></div>
<div class="contents"><div class="links guidelinks"><div class="inner">
<div class="title"><h2><span class="title">More Information</span></h2></div>
<div class="region"><ul>
<li class="links "><a href="channels.html#list" title="Available channels">Available channels</a></li>

Modified help/html/index.html from [382dfbfcc6] to [f7b4287291].

26
27
28
29
30
31
32

33
34
35
36

37
38
39
40

41
42

43
44

45
46
47
48
49
50
51
52
</div></div></div></div></div>
</div></div>
<div id="channels" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Channel tabs</span></h2></div>
<div class="region"><div class="contents"><div class="links topiclinks"><div class="inner"><div class="region">
<div class="links-twocolumn">
<div class="linkdiv "><a class="linkdiv" href="bookmarks.html" title="Bookmarks"><span class="title">Bookmarks</span><span class="linkdiv-dash"> — </span><span class="desc">Collect favourites via bookmark function, entry editing and deleting.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="internet_radio_org_uk.html" title="Internet-Radio.com"><span class="title">Internet-Radio.com</span><span class="linkdiv-dash"> — </span><span class="desc">Large radio directory from the UK.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="jamendo.html" title="Jamendo"><span class="title">Jamendo</span><span class="linkdiv-dash"> — </span><span class="desc">Creative Commons music and artist hub.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="live365.html" title="Live365"><span class="title">Live365</span><span class="linkdiv-dash"> — </span><span class="desc">Live365 radio network</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="myoggradio.html" title="MyOggRadio"><span class="title">MyOggRadio</span><span class="linkdiv-dash"> — </span><span class="desc">Open source stream directory.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="shoutcast.html" title="Shoutcast"><span class="title">Shoutcast</span><span class="linkdiv-dash"> — </span><span class="desc">One of the bigger radio station lists.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="surfmusik.html" title="SurfMusic"><span class="title">SurfMusic</span><span class="linkdiv-dash"> — </span><span class="desc">International radio listings.</span></a></div>
</div>
<div class="links-twocolumn">

<div class="linkdiv "><a class="linkdiv" href="modarchive.html" title="The MOD Archive"><span class="title">The MOD Archive</span><span class="linkdiv-dash"> — </span><span class="desc">MOD files.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="tunein.html" title="TuneIn"><span class="title">TuneIn</span><span class="linkdiv-dash"> — </span><span class="desc">Radio and Podcast directory.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="xiph.html" title="Xiph.org"><span class="title">Xiph.org</span><span class="linkdiv-dash"> — </span><span class="desc">ICEcast radio directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="youtube.html" title="Youtube"><span class="title">Youtube</span><span class="linkdiv-dash"> — </span><span class="desc">Youtube music/video listings.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="icast.html" title="iCast.io"><span class="title">iCast.io</span><span class="linkdiv-dash"> — </span><span class="desc">iCast</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="itunes.html" title="iTunes Radios via RS"><span class="title">iTunes Radios via RS</span><span class="linkdiv-dash"> — </span><span class="desc">iTunes (RoliSoft Playlists)</span></a></div>
</div>
</div></div></div></div></div>
</div></div>
<div id="functions" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Functions</span></h2></div>
<div class="region">







>




>

|


>


>


>
|







26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
</div></div></div></div></div>
</div></div>
<div id="channels" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Channel tabs</span></h2></div>
<div class="region"><div class="contents"><div class="links topiclinks"><div class="inner"><div class="region">
<div class="links-twocolumn">
<div class="linkdiv "><a class="linkdiv" href="bookmarks.html" title="Bookmarks"><span class="title">Bookmarks</span><span class="linkdiv-dash"> — </span><span class="desc">Collect favourites via bookmark function, entry editing and deleting.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="dirble.html" title="Dirble"><span class="title">Dirble</span><span class="linkdiv-dash"> — </span><span class="desc">Dirble.com</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="internet_radio_org_uk.html" title="Internet-Radio.com"><span class="title">Internet-Radio.com</span><span class="linkdiv-dash"> — </span><span class="desc">Large radio directory from the UK.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="jamendo.html" title="Jamendo"><span class="title">Jamendo</span><span class="linkdiv-dash"> — </span><span class="desc">Creative Commons music and artist hub.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="live365.html" title="Live365"><span class="title">Live365</span><span class="linkdiv-dash"> — </span><span class="desc">Live365 radio network</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="myoggradio.html" title="MyOggRadio"><span class="title">MyOggRadio</span><span class="linkdiv-dash"> — </span><span class="desc">Open source stream directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="radionomy.html" title="Radionomy"><span class="title">Radionomy</span><span class="linkdiv-dash"> — </span><span class="desc">European internet streaming provider</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="shoutcast.html" title="Shoutcast"><span class="title">Shoutcast</span><span class="linkdiv-dash"> — </span><span class="desc">One of the bigger radio station lists.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="somafm.html" title="SomaFM"><span class="title">SomaFM</span><span class="linkdiv-dash"> — </span><span class="desc">Set of radio stations</span></a></div>
</div>
<div class="links-twocolumn">
<div class="linkdiv "><a class="linkdiv" href="surfmusik.html" title="SurfMusic"><span class="title">SurfMusic</span><span class="linkdiv-dash"> — </span><span class="desc">International radio listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="modarchive.html" title="The MOD Archive"><span class="title">The MOD Archive</span><span class="linkdiv-dash"> — </span><span class="desc">MOD files.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="tunein.html" title="TuneIn"><span class="title">TuneIn</span><span class="linkdiv-dash"> — </span><span class="desc">Radio and Podcast directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="ubuntuusersm.html" title="UbuntuUsers"><span class="title">UbuntuUsers</span><span class="linkdiv-dash"> — </span><span class="desc">Wiki list of radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="xiph.html" title="Xiph.org"><span class="title">Xiph.org</span><span class="linkdiv-dash"> — </span><span class="desc">ICEcast radio directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="youtube.html" title="Youtube"><span class="title">Youtube</span><span class="linkdiv-dash"> — </span><span class="desc">Youtube music/video listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="filtermusic.html" title="filtermusic.net"><span class="title">filtermusic.net</span><span class="linkdiv-dash"> — </span><span class="desc">Selection of the best radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="icast.html" title="iCast.io"><span class="title">iCast.io</span><span class="linkdiv-dash"> — </span><span class="desc">iCast (removed)</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="itunes.html" title="iTunes Radios via RS"><span class="title">iTunes Radios via RS</span><span class="linkdiv-dash"> — </span><span class="desc">iTunes (RoliSoft Playlists)</span></a></div>
</div>
</div></div></div></div></div>
</div></div>
<div id="functions" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Functions</span></h2></div>
<div class="region">
97
98
99
100
101
102
103

104
105
106
107
108
109
110
<div class="links-twocolumn">
<div class="linkdiv "><a class="linkdiv" href="cli.html" title="CLI (command line interface)"><span class="title">CLI (command line interface)</span><span class="linkdiv-dash"> — </span><span class="desc">Console interface, exporting data.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="dragndrop.html" title="Drag'n'drop"><span class="title">Drag'n'drop</span><span class="linkdiv-dash"> — </span><span class="desc">Drag and drop support.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="exportcat.html" title="Export all stations"><span class="title">Export all stations</span><span class="linkdiv-dash"> — </span><span class="desc">Exporting a whole category as .pls.</span></a></div>
</div>
<div class="links-twocolumn">
<div class="linkdiv "><a class="linkdiv" href="global_key.html" title="Global_key"><span class="title">Global_key</span><span class="linkdiv-dash"> — </span><span class="desc">Global keyboard shortcut for radio switching.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="timer.html" title="Timer"><span class="title">Timer</span><span class="linkdiv-dash"> — </span><span class="desc">Programming recurring play and recording events.</span></a></div>
</div>
</div></div></div></div>
<div class="sect sect-links" role="navigation">
<div class="hgroup"></div>
<div class="contents"><div class="links guidelinks"><div class="inner">
<div class="title"><h3><span class="title">More Information</span></h3></div>







>







102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<div class="links-twocolumn">
<div class="linkdiv "><a class="linkdiv" href="cli.html" title="CLI (command line interface)"><span class="title">CLI (command line interface)</span><span class="linkdiv-dash"> — </span><span class="desc">Console interface, exporting data.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="dragndrop.html" title="Drag'n'drop"><span class="title">Drag'n'drop</span><span class="linkdiv-dash"> — </span><span class="desc">Drag and drop support.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="exportcat.html" title="Export all stations"><span class="title">Export all stations</span><span class="linkdiv-dash"> — </span><span class="desc">Exporting a whole category as .pls.</span></a></div>
</div>
<div class="links-twocolumn">
<div class="linkdiv "><a class="linkdiv" href="global_key.html" title="Global_key"><span class="title">Global_key</span><span class="linkdiv-dash"> — </span><span class="desc">Global keyboard shortcut for radio switching.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="pluginmanager2.html" title="Plugin Manager 2"><span class="title">Plugin Manager 2</span><span class="linkdiv-dash"> — </span><span class="desc">User plugin installation</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="timer.html" title="Timer"><span class="title">Timer</span><span class="linkdiv-dash"> — </span><span class="desc">Programming recurring play and recording events.</span></a></div>
</div>
</div></div></div></div>
<div class="sect sect-links" role="navigation">
<div class="hgroup"></div>
<div class="contents"><div class="links guidelinks"><div class="inner">
<div class="title"><h3><span class="title">More Information</span></h3></div>
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
</div>
</div></div>
<div id="footer" class="sect"><div class="inner">
<div class="hgroup"></div>
<div class="region"><div class="contents">
<p class="p">You can get additional help from the online forum. See <span class="guiseq"><span class="gui">Help</span> ▸ <span class="gui">Forum</span></span>.</p>
<p class="p">This documentation was last updated for available functions in streamtuner2
	version 2.1.7, as of April 2015.</p>
</div></div>
</div></div>
</div>
<div class="clear"></div>
</div>
<div class="footer"><div class="sect about ui-expander" role="contentinfo">
<div class="yelp-data yelp-data-ui-expander" data-yelp-expanded="false"></div>







|







127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
</div>
</div></div>
<div id="footer" class="sect"><div class="inner">
<div class="hgroup"></div>
<div class="region"><div class="contents">
<p class="p">You can get additional help from the online forum. See <span class="guiseq"><span class="gui">Help</span> ▸ <span class="gui">Forum</span></span>.</p>
<p class="p">This documentation was last updated for available functions in streamtuner2
	version 2.1.8, as of May 2015.</p>
</div></div>
</div></div>
</div>
<div class="clear"></div>
</div>
<div class="footer"><div class="sect about ui-expander" role="contentinfo">
<div class="yelp-data yelp-data-ui-expander" data-yelp-expanded="false"></div>

Modified help/html/introduction.html from [0c749e9a88] to [64252d6077].

48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
</tr>
<tr>
<td style="border-top-style: solid;"><p class="p"><span class="link"><a href="bookmarks.html" title="Bookmarks">Bookmarks</a></span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">Copy radio entry over into the <span class="gui">bookmarks</span> channel.</p></td>
</tr>
<tr class="shade">
<td style="border-top-style: solid;"><p class="p">Homepage</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">Most radio stations have a homepage. Open this in a web browser.</p></td>
</tr>
<tr>
<td style="border-top-style: solid;"><p class="p">Saving</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">A radio entry can be exported as .m3u or .pls file.</p></td>
</tr>
<tr class="shade">
<td style="border-top-style: solid;"><p class="p">Extensions<span class="guiseq"><span class="gui"></span> ▸ <span class="gui"></span></span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">Some plugins add other features in this submenu.</p></td>
</tr>
<tr>
<td style="border-top-style: solid;"><p class="p">Editing</p></td>







|



|







48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
</tr>
<tr>
<td style="border-top-style: solid;"><p class="p"><span class="link"><a href="bookmarks.html" title="Bookmarks">Bookmarks</a></span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">Copy radio entry over into the <span class="gui">bookmarks</span> channel.</p></td>
</tr>
<tr class="shade">
<td style="border-top-style: solid;"><p class="p">Homepage</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">Most radio stations have a homepage, which you can start a web browser for.</p></td>
</tr>
<tr>
<td style="border-top-style: solid;"><p class="p">Saving</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">A radio entry can be exported as .pls, .xspf, .m3u, .desktop, or .json file.</p></td>
</tr>
<tr class="shade">
<td style="border-top-style: solid;"><p class="p">Extensions<span class="guiseq"><span class="gui"></span> ▸ <span class="gui"></span></span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">Some plugins add other features in this submenu.</p></td>
</tr>
<tr>
<td style="border-top-style: solid;"><p class="p">Editing</p></td>

Modified help/html/myoggradio.html from [0449fb5b4c] to [ff34b50604].

16
17
18
19
20
21
22
23
24



25
26
27
28




29
30
31
32
33


34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

57
58
59
60
61
62
63
64
65
66
67
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#configuration" title="Configuration">Configuration</a> » <a class="trail" href="configuration.html" title="Settings dialog">Settings dialog</a> › <a class="trail" href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a> » </div>
</div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">MyOggRadio</span></h1></div>
<div class="region">
<div class="contents">
<p class="p"><span class="link"><a href="http://ehm.homelinux.org/MyOggRadio/" title="http://ehm.homelinux.org/MyOggRadio/">MyOggRadio</a></span> is an open
        source internet radio directory project. Since it provides its station list as
	JSON it's very well supported.</p>



<p class="p">To help with populating the directory further,
	streamtuner2 provides an option to share radion station links.
	Use <span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">Extensions</span> ▸ <span class="gui">Share on MyOggRadio...</span></span> menu entry to upload the currently
	selected radio (e.g. from your favourite bookmarks).</p>




<p class="p">The personal section is empty per default. You need to specify an user account
	in the settings dialog, and actually bookmark stations in the MyOggRadio web site.
	Shared entries aren't automatically in the <span class="gui">personal</span> list.</p>
<div class="note note-tip" title="Tip"><div class="inner"><div class="region"><div class="contents"><p class="p">MyOggRadio also has a neat cross-platform player:
	<span class="link"><a href="http://freshcode.club/projects/jmorp" title="http://freshcode.club/projects/jmorp">JMyOggRadioPlayer</a></span>.</p></div></div></div></div>


<div class="terms"><div class="inner">
<div class="title title-terms"><h2><span class="title">Channel options.</span></h2></div>
<div class="region"><dl class="terms">
<dt class="terms"><span class="code">Login settings</span></dt>
<dd class="terms">
<p class="p">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 <span class="input">username:</span> separated with a : colon in this field.</p>
<div class="note note-advanced" title="Advanced"><div class="inner"><div class="region"><div class="contents">
<p class="p">Alternatively you can store your account settings in the central
      <span class="file">~/.netrc</span> config file. Or in <span class="file">~/.config/netc</span> even.</p>
<p class="p">Your entry for MyOggRadio should follow the common format:</p>
<div class="code"><pre class="contents ">machine myoggradio.org
    login usr123
    password pw123</pre></div>
<p class="p">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 takes precedence
      though.</p>
</div></div></div></div>
</dd>
<dt class="terms"><span class="code">stream URL format</span></dt>
<dd class="terms"><p class="p">When uploading stations, the streaming URL can be converted into RAW format. You

    can however leave it as .PLS link file.</p></dd>
</dl></div>
</div></div>
</div>
<div class="sect sect-links" role="navigation">
<div class="hgroup"></div>
<div class="contents"><div class="links guidelinks"><div class="inner">
<div class="title"><h2><span class="title">More Information</span></h2></div>
<div class="region"><ul>
<li class="links "><a href="channels.html#list" title="Available channels">Available channels</a></li>
<li class="links "><a href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a></li>







|
|
>
>
>
|
|
|
|
>
>
>
>

|
|

|
>
>
|
|
|




|


|






|
|



|
>
|
|

<







16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69

70
71
72
73
74
75
76
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#configuration" title="Configuration">Configuration</a> » <a class="trail" href="configuration.html" title="Settings dialog">Settings dialog</a> › <a class="trail" href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a> » </div>
</div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">MyOggRadio</span></h1></div>
<div class="region">
<div class="contents">
<p class="p"><span class="link"><a href="http://ehm.homelinux.org/MyOggRadio/" title="http://ehm.homelinux.org/MyOggRadio/">MyOggRadio</a></span> is an open
source internet radio directory project.</p>
<p class="p">Since it provides its station list as JSON it's very well supported.</p>
</div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Sharing is caring</span></h2></div>
<div class="region"><div class="contents"><p class="p">To help with populating the directory further,
  streamtuner2 provides an option to share radion station links.
  Use the <span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">Share on MyOggRadio...</span></span>
  context menu entry to upload a selected radio (e.g. from your bookmarks).</p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Personal</span></h2></div>
<div class="region"><div class="contents">
<p class="p">The personal section is empty per default. You need to specify an user account
  in the settings dialog, and actually bookmark stations in the MyOggRadio web site.
  Shared entries aren't automatically in the <span class="gui">personal</span> list.</p>
<div class="note note-tip" title="Tip"><div class="inner"><div class="region"><div class="contents"><p class="p">MyOggRadio also has a neat cross-platform player:
  <span class="link"><a href="http://freshcode.club/projects/jmorp" title="http://freshcode.club/projects/jmorp">JMyOggRadioPlayer</a></span>.</p></div></div></div></div>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Channel options.</span></h2></div>
<div class="region"><div class="contents"><div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms"><span class="code">Login settings</span></dt>
<dd class="terms">
<p class="p">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 <span class="input">username:password</span> separated with a : colon in this field.</p>
<div class="note note-advanced" title="Advanced"><div class="inner"><div class="region"><div class="contents">
<p class="p">Alternatively you can store your account settings in the central
      <span class="file">~/.netrc</span> config file. Or in <span class="file">~/.config/netrc</span> even.</p>
<p class="p">Your entry for MyOggRadio should follow the common format:</p>
<div class="code"><pre class="contents ">machine myoggradio.org
    login usr123
    password pw123</pre></div>
<p class="p">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.</p>
</div></div></div></div>
</dd>
<dt class="terms"><span class="code">stream URL format</span></dt>
<dd class="terms"><p class="p">When uploading stations, the streaming URL can be converted into
    raw/direct server address. When undefined, station URLs are left as
    .M3U/.PLS link.</p></dd>
</dl></div></div></div></div></div>
</div></div>

<div class="sect sect-links" role="navigation">
<div class="hgroup"></div>
<div class="contents"><div class="links guidelinks"><div class="inner">
<div class="title"><h2><span class="title">More Information</span></h2></div>
<div class="region"><ul>
<li class="links "><a href="channels.html#list" title="Available channels">Available channels</a></li>
<li class="links "><a href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a></li>

Modified help/html/timer.html from [11bbb35492] to [5c6a670ced].

18
19
20
21
22
23
24
25



26
27
28
29
30
31
32
33
34

35
36
37
38
39
40
41
<a class="trail" href="glossary.html" title="Glossary">Glossary</a> » <a class="trail" href="index.html#extra" title="Additional features">Additional features</a> » </div>
<div class="trail">
<a class="trail" href="technical.html" title="Technical information">Technical information</a> » <a class="trail" href="index.html#extra" title="Additional features">Additional features</a> » </div>
</div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Timer</span></h1></div>
<div class="region">
<div class="contents">



<p class="p">You can programm play/recording events with the timer plugin. Simply select a station
	and choose <span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">Extensions</span> ▸ <span class="gui">Add timer...</span></span>.
	A small popup will ask for a data/time string. If you press <span class="key"><kbd>OK</kbd></span> the station
	and the programmed time will be stored in the bookmarks channel in the "timer" category.</p>
<div class="media media-image"><div class="inner"><img src="img/timer.png" class="media media-block" alt=""></div></div>
<div class="note note-tip" title="Tip"><div class="inner"><div class="region"><div class="contents"><p class="p">Note that streamtuner2 must be running for the programmed timer events to work.
	(In a future version there might be the option to have it handled by the system cron
	daemon.)</p></div></div></div></div>
</div>

<div id="timestring" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Time specification strings</span></h2></div>
<div class="region"><div class="contents">
<p class="p">The time and date specificators follow a simple scheme. It's always one or more day names
	followed by a clock range, and finally the action.</p>
<p class="p">For example "<span class="code">Mon,Tue,Wed</span>" will make the event occour on the first
	three days of each week, while just "Fri" would limit it to Fridays.</p>







|
>
>
>




|



|
>







18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<a class="trail" href="glossary.html" title="Glossary">Glossary</a> » <a class="trail" href="index.html#extra" title="Additional features">Additional features</a> » </div>
<div class="trail">
<a class="trail" href="technical.html" title="Technical information">Technical information</a> » <a class="trail" href="index.html#extra" title="Additional features">Additional features</a> » </div>
</div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Timer</span></h1></div>
<div class="region">
<div class="contents"></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"></div>
<div class="region"><div class="contents">
<p class="p">You can programm play/recording events with the timer plugin. Simply select a station
	and choose <span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">Extensions</span> ▸ <span class="gui">Add timer...</span></span>.
	A small popup will ask for a data/time string. If you press <span class="key"><kbd>OK</kbd></span> the station
	and the programmed time will be stored in the bookmarks channel in the "timer" category.</p>
<p class="p"><span class="media"><span class="media media-image"><img src="img/timer.png" class="media media-inline" alt="Timer"></span></span></p>
<div class="note note-tip" title="Tip"><div class="inner"><div class="region"><div class="contents"><p class="p">Note that streamtuner2 must be running for the programmed timer events to work.
	(In a future version there might be the option to have it handled by the system cron
	daemon.)</p></div></div></div></div>
</div></div>
</div></div>
<div id="timestring" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Time specification strings</span></h2></div>
<div class="region"><div class="contents">
<p class="p">The time and date specificators follow a simple scheme. It's always one or more day names
	followed by a clock range, and finally the action.</p>
<p class="p">For example "<span class="code">Mon,Tue,Wed</span>" will make the event occour on the first
	three days of each week, while just "Fri" would limit it to Fridays.</p>

Modified help/html/xiph.html from [9557f05ba6] to [cff8dd1c02].

15
16
17
18
19
20
21
22


23
24
25
26
27
28
29
30
31
32
33
34
35
36
37











































38
39
40
41
42
43
44
<div class="trail">
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#configuration" title="Configuration">Configuration</a> » <a class="trail" href="configuration.html" title="Settings dialog">Settings dialog</a> › <a class="trail" href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a> » </div>
</div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Xiph.org</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">Xiph.org is a non-profit organization, which develops and promotes the OGG audio format.


        It also hosts a list of ICEcast streaming stations (ICEcast is the non-commercial pendant
        to the SHOUTcast server.)</p>
<p class="p">This channel is somehwat easy to read for Streamtuner2, because the source data is already
        provided as &lt;XML&gt; file. (Internally we're using a caching service, which pre-converts
        that into JSON lists. The Xiph-org JSON API isn't really working yet).</p>
<p class="p">However, it lacks some essential informations like station homepages and listener numbers.</p>
<p class="p">Xiph also uses the .xspf format, instead of .pls stream links</p>
<div class="terms"><div class="inner">
<div class="title title-terms"><h2><span class="title">Channel options.</span></h2></div>
<div class="region"><dl class="terms">
<dt class="terms"><span class="code">Filter by minimum bitrate</span></dt>
<dd class="terms"><p class="p">The bitrate of an audio stream determines the music quality. Many Xiph streams have simple
    and low quality microphone sources. To filter these out, and only leave high quality music
    stations, you can therefore change this option. OGG starts to sound well with 96 kbit/s (whereas
    MP3 often requires 128 or 160 kbit/s at least).</p></dd>











































</dl></div>
</div></div>
</div>
<div class="sect sect-links" role="navigation">
<div class="hgroup"></div>
<div class="contents"><div class="links guidelinks"><div class="inner">
<div class="title"><h2><span class="title">More Information</span></h2></div>







|
>
>
|
|













>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<div class="trail">
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#configuration" title="Configuration">Configuration</a> » <a class="trail" href="configuration.html" title="Settings dialog">Settings dialog</a> › <a class="trail" href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a> » </div>
</div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Xiph.org</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">Xiph.org is a non-profit organization, which develops and
	promotes the OGG streaming format, and develops audio compression
	schemes such as Vorbis, FLAC, Opus, or the Theora video encoding
	enve.  It also hosts a list of ICEcast streaming stations. ICEcast
	is their non-commercial pendant to the SHOUTcast server.</p>
<p class="p">This channel is somehwat easy to read for Streamtuner2, because the source data is already
        provided as &lt;XML&gt; file. (Internally we're using a caching service, which pre-converts
        that into JSON lists. The Xiph-org JSON API isn't really working yet).</p>
<p class="p">However, it lacks some essential informations like station homepages and listener numbers.</p>
<p class="p">Xiph also uses the .xspf format, instead of .pls stream links</p>
<div class="terms"><div class="inner">
<div class="title title-terms"><h2><span class="title">Channel options.</span></h2></div>
<div class="region"><dl class="terms">
<dt class="terms"><span class="code">Filter by minimum bitrate</span></dt>
<dd class="terms"><p class="p">The bitrate of an audio stream determines the music quality. Many Xiph streams have simple
    and low quality microphone sources. To filter these out, and only leave high quality music
    stations, you can therefore change this option. OGG starts to sound well with 96 kbit/s (whereas
    MP3 often requires 128 or 160 kbit/s at least).</p></dd>
<dt class="terms"><span class="code">Fetch mode</span></dt>
<dd class="terms">
<p class="p">There are now three options to retrieve Xiph directory stations.</p>
<p class="p"></p>
<div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms"><span class="code">Cache JSON</span></dt>
<dd class="terms"><p class="p">There's a caching server specifically for streamtuner2. It fixes
        Xiphs quirky JSON API, and provides a simpler interface. It can't
        correct the invalid encodings however, which is why you see ????
        question marks a lot. This method does not reveal station homepages,
        but enables the channel/server search.</p></dd>
<dt class="terms"><span class="code">Clunky YP.XML</span></dt>
<dd class="terms">
<p class="p">The "yellow pages" YP.XML contains the full list of all known
        ICEcast streaming servers. It's however quite bulky and super slow
        to download. It furthermore clogs up a lot of memory, and requires
        manual searching (only cache search works). Which is why streamtuner2
        is trying hard to avoid it. It doesn't contain station homepages either.
        </p>
<p class="p">It's only still an option, because it's likely to remain accessible
        after Xiph.org rewrites their directory service. (Which though is
        getting delayed since a few years already.)
        You can set the special "buffy" mode in your <span class="file">settings.json</span>
        to keep the whole YP.XML in memory. Which avoids the
        slow station list download/unpacking.
        </p>
</dd>
<dt class="terms"><span class="code">Forbidden fruits</span></dt>
<dd class="terms">
<p class="p">As new alternative, you can let ST2 directly scrape the station
        lists from dir.xiph.org (like it does for other channels). This is
        something which Xiph doesn't like/encourage. But the drawbacks of
        their alternative offerings are too severe and user-unfriendly;
        which is why there's this raw HTML extraction mode now.</p>
<p class="p">The website
        listings contain full station homepages and a few more extras. In
        this mode we can even acceess the XSPF playlist formats directly.
        And the server search function, or browsing by audio/video format is
        supported.
        </p>
</dd>
</dl></div></div></div>
</dd>
</dl></div>
</div></div>
</div>
<div class="sect sect-links" role="navigation">
<div class="hgroup"></div>
<div class="contents"><div class="links guidelinks"><div class="inner">
<div class="title"><h2><span class="title">More Information</span></h2></div>

Added help/img/pluginmanager2.png version [d3010fb194].

cannot compute difference between binary files

Modified help/index.page from [37c7ebd07e] to [b4f44cca5b].

35
36
37
38
39
40
41
42
43
44
45
            <title>Additional features</title>
    	</section>

	<section id="footer">
	<p>You can get additional help from the online forum. See <guiseq><gui>Help</gui> <gui>Forum</gui></guiseq>.</p>

	<p>This documentation was last updated for available functions in streamtuner2
	version 2.1.7, as of April 2015.</p>
	</section>

</page>







|



35
36
37
38
39
40
41
42
43
44
45
            <title>Additional features</title>
    	</section>

	<section id="footer">
	<p>You can get additional help from the online forum. See <guiseq><gui>Help</gui> <gui>Forum</gui></guiseq>.</p>

	<p>This documentation was last updated for available functions in streamtuner2
	version 2.1.8, as of May 2015.</p>
	</section>

</page>

Modified help/introduction.page from [aac694493f] to [786bdbb90a].

32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
	<p>Double clicking an entry row in the radio list starts your audio player. But there are
	other functions available. Either go to the <guiseq><gui/><gui>Station</gui></guiseq> menu,
	or access the context menu with a right click.</p>
	<table shade="rows" rules="rows cols">
		<tr><td><p><link xref="playing">Play</link></p></td><td><p>Starts the radio in a configured audio player</p></td></tr>
		<tr><td><p><link xref="recording">Record</link></p></td><td><p>Opens a terminal window and streamripper, which cuts the radio broadcast into individual mp3 songs.</p></td></tr>
		<tr><td><p><link xref="bookmarks">Bookmarks</link></p></td><td><p>Copy radio entry over into the <gui>bookmarks</gui> channel.</p></td></tr>
		<tr><td><p>Homepage</p></td><td><p>Most radio stations have a homepage. Open this in a web browser.</p></td></tr>
		<tr><td><p>Saving</p></td><td><p>A radio entry can be exported as .m3u or .pls file.</p></td></tr>
		<tr><td><p>Extensions<guiseq><gui/><gui/></guiseq></p></td><td><p>Some plugins add other features in this submenu.</p></td></tr>
		<tr><td><p>Editing</p></td><td><p>This command is in the <gui>Edit</gui> and context menu, allows to inspect and modify radio descriptions.</p></td></tr>
		<tr><td><p>Searching</p></td><td><p>You can get a radio list according to search criteria.</p></td></tr>
	</table>
	<p> Play, Record and Homepage also have buttons in the toolbar.</p>
	</section>








|
|







32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
	<p>Double clicking an entry row in the radio list starts your audio player. But there are
	other functions available. Either go to the <guiseq><gui/><gui>Station</gui></guiseq> menu,
	or access the context menu with a right click.</p>
	<table shade="rows" rules="rows cols">
		<tr><td><p><link xref="playing">Play</link></p></td><td><p>Starts the radio in a configured audio player</p></td></tr>
		<tr><td><p><link xref="recording">Record</link></p></td><td><p>Opens a terminal window and streamripper, which cuts the radio broadcast into individual mp3 songs.</p></td></tr>
		<tr><td><p><link xref="bookmarks">Bookmarks</link></p></td><td><p>Copy radio entry over into the <gui>bookmarks</gui> channel.</p></td></tr>
		<tr><td><p>Homepage</p></td><td><p>Most radio stations have a homepage, which you can start a web browser for.</p></td></tr>
		<tr><td><p>Saving</p></td><td><p>A radio entry can be exported as .pls, .xspf, .m3u, .desktop, or .json file.</p></td></tr>
		<tr><td><p>Extensions<guiseq><gui/><gui/></guiseq></p></td><td><p>Some plugins add other features in this submenu.</p></td></tr>
		<tr><td><p>Editing</p></td><td><p>This command is in the <gui>Edit</gui> and context menu, allows to inspect and modify radio descriptions.</p></td></tr>
		<tr><td><p>Searching</p></td><td><p>You can get a radio list according to search criteria.</p></td></tr>
	</table>
	<p> Play, Record and Homepage also have buttons in the toolbar.</p>
	</section>

Added help/pluginmanager2.page version [1be5e02a61].





































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<page	xmlns="http://projectmallard.org/1.0/"
	type="guide"
	id="pluginmanager2">

<info>
	<link type="guide" xref="index#extra"/>
        <desc>User plugin installation</desc>
</info>

	<title>Plugin Manager 2</title>

	<p>As of release 2.1.8 there is a plugin manager. It's available as
	feature extension. Once acticated (after a restart) it brings up a
	new <gui>📦 Add</gui> tab in the configuration window.</p>
	
	<p><media type="image" src="img/pluginmanager2.png"
	mime="image/png">Install dialog for user plugins</media></p>
	
	<p>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 lists.</p>
	
	<section id="configuration">
	<title>Configuration</title>
	<p>Alternative download repositories may be configured. (Little
	practical value at the moment and foreseeable future.)</p>
	<p>And you can let the plugin manager handle regular plugins as
	well. After reconfiguring existing channel plugins, they get
	automatically run, or disabled in the user interface (without
	any restart). Which won't work for most feature/core plugins.</p>
	</section>

</page>

Modified help/timer.page from [9f1dc96bdd] to [0ed0debb66].

1
2
3
4
5
6
7
8
9
10
11
12

13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<page	xmlns="http://projectmallard.org/1.0/"
	type="guide"
	id="timer">

<info>
	<link type="guide" xref="bookmarks#other"/>
	<link type="guide" xref="index#extra"/>
        <desc>Programming recurring play and recording events.</desc>
</info>

	<title>Timer</title>


	<p>You can programm play/recording events with the timer plugin. Simply select a station
	and choose <guiseq><gui>Station</gui> <gui>Extensions</gui> <gui>Add timer...</gui></guiseq>.
	A small popup will ask for a data/time string. If you press <key>OK</key> the station
	and the programmed time will be stored in the bookmarks channel in the "timer" category.</p>
	
	<media type="image" src="img/timer.png" mime="image/png">Timer</media>

        <note style="tip"><p>Note that streamtuner2 must be running for the programmed timer events to work.
	(In a future version there might be the option to have it handled by the system cron
	daemon.)</p></note>


	<section id="timestring">
	<title>Time specification strings</title>
	<p>The time and date specificators follow a simple scheme. It's always one or more day names
	followed by a clock range, and finally the action.</p>
	<p>For example "<code>Mon,Tue,Wed</code>" will make the event occour on the first
	three days of each week, while just "Fri" would limit it to Fridays.</p>












>





|




|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<page	xmlns="http://projectmallard.org/1.0/"
	type="guide"
	id="timer">

<info>
	<link type="guide" xref="bookmarks#other"/>
	<link type="guide" xref="index#extra"/>
        <desc>Programming recurring play and recording events.</desc>
</info>

	<title>Timer</title>

<section>
	<p>You can programm play/recording events with the timer plugin. Simply select a station
	and choose <guiseq><gui>Station</gui> <gui>Extensions</gui> <gui>Add timer...</gui></guiseq>.
	A small popup will ask for a data/time string. If you press <key>OK</key> the station
	and the programmed time will be stored in the bookmarks channel in the "timer" category.</p>
	
	<p><media type="image" src="img/timer.png" mime="image/png">Timer</media></p>

        <note style="tip"><p>Note that streamtuner2 must be running for the programmed timer events to work.
	(In a future version there might be the option to have it handled by the system cron
	daemon.)</p></note>
</section>

	<section id="timestring">
	<title>Time specification strings</title>
	<p>The time and date specificators follow a simple scheme. It's always one or more day names
	followed by a clock range, and finally the action.</p>
	<p>For example "<code>Mon,Tue,Wed</code>" will make the event occour on the first
	three days of each week, while just "Fri" would limit it to Fridays.</p>