streamtuner2: Check-in [693ec3ad97]
Internet radio browser GUI for music/video streams from various directory services.

โŒˆโŒ‹ โŽ‡ branch:  streamtuner2


Check-in [693ec3ad97]

Overview
Comment:More typos fixed, updated html
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:693ec3ad977a8b65a579391f100c80806af9fc9c
User & Date: mario on 2016-12-10 12:19:03
Other Links: manifest | tags
Context
2016-12-10
12:20
Updated comment, more correct regex (albeit it's too strict in comparison to the real date/time extraction method now) check-in: 6b99231fbe user: mario tags: trunk
12:19
More typos fixed, updated html check-in: 693ec3ad97 user: mario tags: trunk
2016-12-09
18:38
New Windows install/uninstall versions. check-in: a36496ebbc user: mario tags: trunk
Changes

Modified help/action_playing.page from [42c44f1455] to [1864fdb76f].

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

	  <item><p>Just <em>double click</em> an entry.</p></item>

	  <item><p>Use the <key>โ–ถ play</key> toolbar button.</p></item>

	  <item><p>Right click for the context menu and the <key>play</key> action.</p></item>

	  <item><p>Drag and drop it directly into your audio player.</p></item>

	  <item><p>Save it (<key>F2</key>) to a playlist file, then start your player with that.</p></item>

	</list>

        <p>In streamtuner2 you can configure different audio players for different audio
        formats (MP3 or OGG). In the <link xref="config_apps">Apps</link> section of the
        <link xref="configuration">settings dialog</link>, you can associate one player
        with each audio file (MIME) type. Nowadays you can often configure the same player
        for all audio (and even video) types.</p>

</page>







|












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

	  <item><p>Just <em>double click</em> an entry.</p></item>

	  <item><p>Use the <key>โ–ถ play</key> toolbar button.</p></item>

	  <item><p>Right click for the context menu and the <key>play</key> action.</p></item>

	  <item><p>Drag and drop it directly into your audio player. (Only on U*ix/X11 systems)</p></item>

	  <item><p>Save it (<key>F2</key>) to a playlist file, then start your player with that.</p></item>

	</list>

        <p>In streamtuner2 you can configure different audio players for different audio
        formats (MP3 or OGG). In the <link xref="config_apps">Apps</link> section of the
        <link xref="configuration">settings dialog</link>, you can associate one player
        with each audio file (MIME) type. Nowadays you can often configure the same player
        for all audio (and even video) types.</p>

</page>

Modified help/channel_filtermusic.page from [45f7db112a] to [ee862960de].

14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

	<p>Filtermusic summarizes all the common genres, but is primarily
	focused on electro/dance/pop stations.</p>

        <list>
         <item><p>There's around a dozen categories with 20-30 radios each.</p></item>
         <item><p>Prioritizes stations on listener popularity and freshness or something.</p></item>
         <item><p>The plugin fetches a XML list of stations, or extracts from the homepage.</p></item>
        </list>

	<p>Most useful if you don't like to browse around, and want to
	listen to most popular stations.</p>

        <section id="options">	
        <title>Configuration</title>







|







14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

	<p>Filtermusic summarizes all the common genres, but is primarily
	focused on electro/dance/pop stations.</p>

        <list>
         <item><p>There's around a dozen categories with 20-30 radios each.</p></item>
         <item><p>Prioritizes stations on listener popularity and freshness or something.</p></item>
         <item><p>The plugin fetches an XML list of stations, or extracts from the homepage.</p></item>
        </list>

	<p>Most useful if you don't like to browse around, and want to
	listen to most popular stations.</p>

        <section id="options">	
        <title>Configuration</title>

Modified help/channel_somafm.page from [290dd340e7] to [b9e858d0a3].

21
22
23
24
25
26
27
28
29
30
31
32
        <section id="configuration">	
        <title>Bitrate configuration</title>

	<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>
        </section>	

</page>







|
|
|


21
22
23
24
25
26
27
28
29
30
31
32
        <section id="configuration">	
        <title>Bitrate configuration</title>

	<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 <link
	xref="reloading">Reload</link> the station list to update them. 
	Otherwise refreshing has no effect.</p> </section>

</page>

Modified help/channel_xiph.page from [b3dc7b67e1] to [d7a8ba8e30].

64
65
66
67
68
69
70
71
72
73
74
75
76
77
    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.  Both, the server search function, or browsing by
    audio/video format are supported.  </p>
    <note><p>A miximum of 100 entries get fetched in this mode however
    (which is 5 pages รก 20 entries).</p></note>
  </item>
  </terms>
  <p>The filter-by-bitrate option is now a generic plugin.</p>
</section>

</page>







|






64
65
66
67
68
69
70
71
72
73
74
75
76
77
    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.  Both, the server search function, or browsing by
    audio/video format are supported.  </p>
    <note><p>A miximum of 100 entries get fetched in this mode however
    (which is 5 pages ร  20 entries).</p></note>
  </item>
  </terms>
  <p>The filter-by-bitrate option is now a generic plugin.</p>
</section>

</page>

Modified help/cli.page from [d21ecbb816] to [3a5cbae660].

19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

        <terms>
          <title>Examples</title>
          <item>
            <title><code>streamtuner2 play "station"</code></title>
            <p>This command looks through all channel plugins, and finds a station containing the
	    mentioned title. You must put the station title in quotes in shell calls, if it contains
	    e.g. spaces. You can optionally specify a channelname before the station title.</p>
          </item>
          <item>
            <title><code>streamtuner2 url [channel] "station"</code></title>
            <p>Just looks up the streaming URL for a given station. If no channel name is given,
		ST2 searches through all available channel plugins again.</p>
          </item>
          <item>







|







19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

        <terms>
          <title>Examples</title>
          <item>
            <title><code>streamtuner2 play "station"</code></title>
            <p>This command looks through all channel plugins, and finds a station containing the
	    mentioned title. You must put the station title in quotes in shell calls, if it contains
	    e.g. spaces. You can optionally specify a channel name before the station title.</p>
          </item>
          <item>
            <title><code>streamtuner2 url [channel] "station"</code></title>
            <p>Just looks up the streaming URL for a given station. If no channel name is given,
		ST2 searches through all available channel plugins again.</p>
          </item>
          <item>

Modified help/config_apps.page from [e53dd35fca] to [d6032de40e].

83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98

	</section>

	<section id="row_placeholders">
	<title>Other placeholders</title>

	<p>In addition to stream URL + type placeholders (<var>%r</var>, <var>%x</var>, 
	<var>%pls</var>, <var>%m3u</var>, etc),	you can also pass row
	placeholders. These contain the stream information like title or
	bitrate, or any other internal field:</p>

	<table shade="rows" rules="rows cols">
	<thead>	<tr><td><p>Placeholder</p></td><td><p>As variable</p></td><td><p>Field content</p></td></tr> </thead>
		<tr><td><p>%title</p></td><td><p>$title</p></td><td><p>Station title</p></td></tr>
		<tr><td><p>%genre</p></td><td><p>$genre</p></td><td><p>Stream category or genre list</p></td></tr>
		<tr><td><p>%playing</p></td><td><p>$playing</p></td><td><p>Currently playing song, or geographic location</p></td></tr>







|
|







83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98

	</section>

	<section id="row_placeholders">
	<title>Other placeholders</title>

	<p>In addition to stream URL + type placeholders (<var>%r</var>, <var>%x</var>, 
	<var>%pls</var>, <var>%m3u</var>, etc),	you can also pass station
	info placeholders. These contain the stream information like title or
	bitrate, or any other internal field:</p>

	<table shade="rows" rules="rows cols">
	<thead>	<tr><td><p>Placeholder</p></td><td><p>As variable</p></td><td><p>Field content</p></td></tr> </thead>
		<tr><td><p>%title</p></td><td><p>$title</p></td><td><p>Station title</p></td></tr>
		<tr><td><p>%genre</p></td><td><p>$genre</p></td><td><p>Stream category or genre list</p></td></tr>
		<tr><td><p>%playing</p></td><td><p>$playing</p></td><td><p>Currently playing song, or geographic location</p></td></tr>

Modified help/configuration.page from [2e4f242f00] to [cb1202e460].

144
145
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
198
199
200
201
202
203
204
205
206
207
208
209
210
211
  <terms>
    <title>Station loading</title>
    <item>
      <title>โ˜‘ Prefer HTML traversing (PyQuery) over regex</title>
      <p>Some channels provide proper APIs to fetch station lists. Others are just websites that
      require scraping listings out. Most channel tabs provide two alternative methods for that.
      The DOM/HTML selection method is sometimes slower, but more reliable. As fallback streamtuner2
      plugins often use a regex to match text. Occassionally the regex method is surprisingly more exact,
      because directory services often use frightful unstructured HTML. If available, both methods
      are tried. You can influence the order with this setting, and thus speed it up.</p>
    </item>
    <item>
      <title>๐Ÿ”Ÿ Limit stream number</title>
      <p> Constraints the length of station lists per category.
      The number of stations option is not honored by all channel plugins. Often it's not possible to
      load more or fewer station entries. Some plugins have own settings (in the 'Plugins' section) even.
      For the major plugins this however limits how many scrollable entries appear in the stream lists.</p>
    </item>
    <item>
      <title>โ˜‘ Retain deleted stations</title> <p>When enabled, keeps old station entries when
      updating/reloading a category/genre.  Services often forget stations or throws them out when inavailable.
      With this option enabled, these entries are kept in streamtuner2 as strikethrough entries (often
      at the end of the list).</p>
    </item>
    <item>
      <title>โ˜‘ Update favouries from freshened URLs</title>
      <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>
    </item>
    <item>
      <title>โ˜‘ Save station lists after updates</title>
      <p>After reloading (<key>F5</key>) the updated station lists are
      autoamtically saved. For favicon updates or drag and drop events this
      only happens automatically when this option is set.</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 most server playlists (be they .pls or .m3u, .xpsf) are converted.
      All player/recording apps receive a default <var>%pls</var> file normally.
................................................................................
      Set this option to disable any such placeholders from the Player tab, and avoid
      streamtuner2 pre-downloading any m3u/pls/xspf. Instead your audio  player gets passed
      the literal server/playlist streaming URL then.</p> <note><p>Note that this is only
      a minor speedup, but may trip up some applications. A few channel sources don't
      even provide standard stream addresses and playlists. (Jamendo albums for example really
      need pre-conversion; no audio player can deal with such custom JSON playlists).
      In short: you don't normally want to enable this flag - unless you run into problems
      with streamtuner2 taking too long, or when it hang by accidentially downloading streams
      itself.</p></note>
    </item>
 </terms>

  <terms>
    <title>System</title>
    <item>







|












|




|






|












|







 







|







144
145
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
198
199
200
201
202
203
204
205
206
207
208
209
210
211
  <terms>
    <title>Station loading</title>
    <item>
      <title>โ˜‘ Prefer HTML traversing (PyQuery) over regex</title>
      <p>Some channels provide proper APIs to fetch station lists. Others are just websites that
      require scraping listings out. Most channel tabs provide two alternative methods for that.
      The DOM/HTML selection method is sometimes slower, but more reliable. As fallback streamtuner2
      plugins often use a regex to match text. Occasionally the regex method is surprisingly more exact,
      because directory services often use frightful unstructured HTML. If available, both methods
      are tried. You can influence the order with this setting, and thus speed it up.</p>
    </item>
    <item>
      <title>๐Ÿ”Ÿ Limit stream number</title>
      <p> Constraints the length of station lists per category.
      The number of stations option is not honored by all channel plugins. Often it's not possible to
      load more or fewer station entries. Some plugins have own settings (in the 'Plugins' section) even.
      For the major plugins this however limits how many scrollable entries appear in the stream lists.</p>
    </item>
    <item>
      <title>โ˜‘ Retain deleted stations</title> <p>When enabled, keeps old station entries when
      updating/reloading a category/genre.  Services often forget stations or throw them out when inavailable.
      With this option enabled, these entries are kept in streamtuner2 as strikethrough entries (often
      at the end of the list).</p>
    </item>
    <item>
      <title>โ˜‘ Update favourites from freshened URLs</title>
      <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>
    </item>
    <item>
      <title>โ˜‘ Save station lists after updates</title>
      <p>After reloading (<key>F5</key>) the updated station lists are
      automatically saved. For favicon updates or drag and drop events this
      only happens automatically when this option is set.</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 uses 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 most server playlists (be they .pls or .m3u, .xpsf) are converted.
      All player/recording apps receive a default <var>%pls</var> file normally.
................................................................................
      Set this option to disable any such placeholders from the Player tab, and avoid
      streamtuner2 pre-downloading any m3u/pls/xspf. Instead your audio  player gets passed
      the literal server/playlist streaming URL then.</p> <note><p>Note that this is only
      a minor speedup, but may trip up some applications. A few channel sources don't
      even provide standard stream addresses and playlists. (Jamendo albums for example really
      need pre-conversion; no audio player can deal with such custom JSON playlists).
      In short: you don't normally want to enable this flag - unless you run into problems
      with streamtuner2 taking too long, or when it hangs by accidentially downloading streams
      itself.</p></note>
    </item>
 </terms>

  <terms>
    <title>System</title>
    <item>

Modified help/contrib_features.page from [d325e4925a] to [90723a39b7].

55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
  </list>
  </section>

  <section>
  <title>๐Ÿ”Œ RadioTray hook</title>
  <p>This plugin enables an extra category in the <key>bookmarks</key> tab.
  It shows bookmarked stations from the RadioTray application, if that's
  installed. Additionally it adds an context option to save new stations
  from Streamtuner2 to RadioTray. The mapping option influences if added
  radios are recategorized in RadioTray.</p>
  <note><p> Please see the Wiki for further <link href="http://fossil.include-once.org/streamtuner2/wiki/radiotray">setup instructions</link>.</p></note>
  </section>

  <section>
  <title>๐Ÿ”Œ User Agent Switcher</title>







|







55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
  </list>
  </section>

  <section>
  <title>๐Ÿ”Œ RadioTray hook</title>
  <p>This plugin enables an extra category in the <key>bookmarks</key> tab.
  It shows bookmarked stations from the RadioTray application, if that's
  installed. Additionally it adds a context option to save new stations
  from Streamtuner2 to RadioTray. The mapping option influences if added
  radios are recategorized in RadioTray.</p>
  <note><p> Please see the Wiki for further <link href="http://fossil.include-once.org/streamtuner2/wiki/radiotray">setup instructions</link>.</p></note>
  </section>

  <section>
  <title>๐Ÿ”Œ User Agent Switcher</title>

Modified help/dragndrop.page from [08c0d98091] to [3550d38339].

14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
	stream entry, then drag it out to the desktop, file manager or
	directly into VLC or any running music player.  That'll usually
	copy a stream/station address directly.</p>

	<p>Now it's not guaranteed to work with all applications or file
	managers, as X11/Gtk DND support is somewhat arcane and wonky.
	You may specifically have to adapt the default export format for
	this. Generally a XSPF or PLS file gets created for file managers.
	While VLC is one of the few applications that understands direct
	playlist URLs or literal M3U/PLS payloads even.</p>
	

        <section id="import">
	<title>Importing</title>








|







14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
	stream entry, then drag it out to the desktop, file manager or
	directly into VLC or any running music player.  That'll usually
	copy a stream/station address directly.</p>

	<p>Now it's not guaranteed to work with all applications or file
	managers, as X11/Gtk DND support is somewhat arcane and wonky.
	You may specifically have to adapt the default export format for
	this. Generally an XSPF or PLS file gets created for file managers.
	While VLC is one of the few applications that understands direct
	playlist URLs or literal M3U/PLS payloads even.</p>
	

        <section id="import">
	<title>Importing</title>

Modified help/glossary.page from [208874faa1] to [ae198d48b0].

21
22
23
24
25
26
27
28

29
30
31
32
33
34
35
..
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62

	  <item>
	    <title>Stream</title>
	    <p>"stream" is a technical term which means continuosly flowing
	    data.  MP3 radio music for example is streamed, because it's not
	    just a time-limited audio file, but unending (unless you stop
	    the player or paying your ISP).</p>
	    <p>In streamtuner2 the terms "stream" and radio "station" are used interchangably.</p>

	  </item>

	  <item>
	    <title>Genre</title>
	    <p>Music genres are represented as "categories" in the left
	    pane.  Every channel groups its music stations into some
	    structure.</p>
................................................................................
	    <title>Radio</title>
	    <p>Plays music. Sometimes interrupted by advertisements.
   	    </p>
	  </item>

	  <item>
	    <title>Favicons</title> <p>Favicons are small symbols for
	    websites.  Most website should have one.  (ST2 downloads
	    favicons either per menu command or automatically for the
	    current station once you hit play.) </p>
	  </item>

	  <item>
	    <title>Cache</title>
	    <p>Radio lists are kept in "cache" files for efficiency reasons.







|
>







 







|







21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
..
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

	  <item>
	    <title>Stream</title>
	    <p>"stream" is a technical term which means continuosly flowing
	    data.  MP3 radio music for example is streamed, because it's not
	    just a time-limited audio file, but unending (unless you stop
	    the player or paying your ISP).</p>
	    <p>In streamtuner2 the terms "stream" and radio "station" are used
	    interchangeably.</p>
	  </item>

	  <item>
	    <title>Genre</title>
	    <p>Music genres are represented as "categories" in the left
	    pane.  Every channel groups its music stations into some
	    structure.</p>
................................................................................
	    <title>Radio</title>
	    <p>Plays music. Sometimes interrupted by advertisements.
   	    </p>
	  </item>

	  <item>
	    <title>Favicons</title> <p>Favicons are small symbols for
	    websites.  Most websites should have one.  (ST2 downloads
	    favicons either per menu command or automatically for the
	    current station once you hit play.) </p>
	  </item>

	  <item>
	    <title>Cache</title>
	    <p>Radio lists are kept in "cache" files for efficiency reasons.

Modified help/html/cli.html from [4c55141271] to [25386f6ff9].

20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
	available commands.</p>
<div class="terms"><div class="inner">
<div class="title title-terms"><h2><span class="title">Examples</span></h2></div>
<div class="region"><dl class="terms">
<dt class="terms"><span class="code">streamtuner2 play "station"</span></dt>
<dd class="terms"><p class="p">This command looks through all channel plugins, and finds a station containing the
	    mentioned title. You must put the station title in quotes in shell calls, if it contains
	    e.g. spaces. You can optionally specify a channelname before the station title.</p></dd>
<dt class="terms"><span class="code">streamtuner2 url [channel] "station"</span></dt>
<dd class="terms"><p class="p">Just looks up the streaming URL for a given station. If no channel name is given,
		ST2 searches through all available channel plugins again.</p></dd>
<dt class="terms"><span class="code">streamtuner2 stream shoutcast "station"</span></dt>
<dd class="terms"><p class="p">Prints available station data as JSON</p></dd>
<dt class="terms"><span class="code">streamtuner2 category internet_radio_org_uk "Pop"</span></dt>
<dd class="terms"><p class="p">Loads fresh data from the specified channel service, and prints out JSON data for







|







20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
	available commands.</p>
<div class="terms"><div class="inner">
<div class="title title-terms"><h2><span class="title">Examples</span></h2></div>
<div class="region"><dl class="terms">
<dt class="terms"><span class="code">streamtuner2 play "station"</span></dt>
<dd class="terms"><p class="p">This command looks through all channel plugins, and finds a station containing the
	    mentioned title. You must put the station title in quotes in shell calls, if it contains
	    e.g. spaces. You can optionally specify a channel name before the station title.</p></dd>
<dt class="terms"><span class="code">streamtuner2 url [channel] "station"</span></dt>
<dd class="terms"><p class="p">Just looks up the streaming URL for a given station. If no channel name is given,
		ST2 searches through all available channel plugins again.</p></dd>
<dt class="terms"><span class="code">streamtuner2 stream shoutcast "station"</span></dt>
<dd class="terms"><p class="p">Prints available station data as JSON</p></dd>
<dt class="terms"><span class="code">streamtuner2 category internet_radio_org_uk "Pop"</span></dt>
<dd class="terms"><p class="p">Loads fresh data from the specified channel service, and prints out JSON data for

Modified help/html/config_apps.html from [3f01e2f9de] to [bb6cc34403].

128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
</div></div></div></div>
</div></div>
</div></div>
<div id="row_placeholders" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Other placeholders</span></h2></div>
<div class="region"><div class="contents">
<p class="p">In addition to stream URL + type placeholders (<span class="var">%r</span>, <span class="var">%x</span>, 
	<span class="var">%pls</span>, <span class="var">%m3u</span>, etc),	you can also pass row
	placeholders. These contain the stream information like title or
	bitrate, or any other internal field:</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
<thead><tr>
<td><p class="p">Placeholder</p></td>
<td style="border-left-style: solid;"><p class="p">As variable</p></td>
<td style="border-left-style: solid;"><p class="p">Field content</p></td>
</tr></thead>







|
|







128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
</div></div></div></div>
</div></div>
</div></div>
<div id="row_placeholders" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Other placeholders</span></h2></div>
<div class="region"><div class="contents">
<p class="p">In addition to stream URL + type placeholders (<span class="var">%r</span>, <span class="var">%x</span>, 
	<span class="var">%pls</span>, <span class="var">%m3u</span>, etc),	you can also pass station
	info placeholders. These contain the stream information like title or
	bitrate, or any other internal field:</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
<thead><tr>
<td><p class="p">Placeholder</p></td>
<td style="border-left-style: solid;"><p class="p">As variable</p></td>
<td style="border-left-style: solid;"><p class="p">Field content</p></td>
</tr></thead>

Modified help/html/configuration.html from [5ef065d671] to [1eb52962fb].

132
133
134
135
136
137
138
139
140
141
142
143
144
145
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
<div class="terms"><div class="inner">
<div class="title title-terms"><h3><span class="title">Station loading</span></h3></div>
<div class="region"><dl class="terms">
<dt class="terms">โ˜‘ Prefer HTML traversing (PyQuery) over regex</dt>
<dd class="terms"><p class="p">Some channels provide proper APIs to fetch station lists. Others are just websites that
      require scraping listings out. Most channel tabs provide two alternative methods for that.
      The DOM/HTML selection method is sometimes slower, but more reliable. As fallback streamtuner2
      plugins often use a regex to match text. Occassionally the regex method is surprisingly more exact,
      because directory services often use frightful unstructured HTML. If available, both methods
      are tried. You can influence the order with this setting, and thus speed it up.</p></dd>
<dt class="terms">๐Ÿ”Ÿ Limit stream number</dt>
<dd class="terms"><p class="p"> Constraints the length of station lists per category.
      The number of stations option is not honored by all channel plugins. Often it's not possible to
      load more or fewer station entries. Some plugins have own settings (in the 'Plugins' section) even.
      For the major plugins this however limits how many scrollable entries appear in the stream lists.</p></dd>
<dt class="terms">โ˜‘ Retain deleted stations</dt>
<dd class="terms"><p class="p">When enabled, keeps old station entries when
      updating/reloading a category/genre.  Services often forget stations or throws them out when inavailable.
      With this option enabled, these entries are kept in streamtuner2 as strikethrough entries (often
      at the end of the list).</p></dd>
<dt class="terms">โ˜‘ Update favouries from freshened URLs</dt>
<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">โ˜‘ Save station lists after updates</dt>
<dd class="terms"><p class="p">After reloading (<span class="key"><kbd>F5</kbd></span>) the updated station lists are
      autoamtically saved. For favicon updates or drag and drop events this
      only happens automatically when this option is set.</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 most server playlists (be they .pls or .m3u, .xpsf) are converted.
      All player/recording apps receive a default <span class="var">%pls</span> file normally.
      Set this option to disable any such placeholders from the Player tab, and avoid
................................................................................
      streamtuner2 pre-downloading any m3u/pls/xspf. Instead your audio  player gets passed
      the literal server/playlist streaming URL then.</p>
<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">Note that this is only
      a minor speedup, but may trip up some applications. A few channel sources don't
      even provide standard stream addresses and playlists. (Jamendo albums for example really
      need pre-conversion; no audio player can deal with such custom JSON playlists).
      In short: you don't normally want to enable this flag - unless you run into problems
      with streamtuner2 taking too long, or when it hang by accidentially downloading streams
      itself.</p></div></div></div></div>
</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">







|









|


|




|












|







 







|







132
133
134
135
136
137
138
139
140
141
142
143
144
145
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
<div class="terms"><div class="inner">
<div class="title title-terms"><h3><span class="title">Station loading</span></h3></div>
<div class="region"><dl class="terms">
<dt class="terms">โ˜‘ Prefer HTML traversing (PyQuery) over regex</dt>
<dd class="terms"><p class="p">Some channels provide proper APIs to fetch station lists. Others are just websites that
      require scraping listings out. Most channel tabs provide two alternative methods for that.
      The DOM/HTML selection method is sometimes slower, but more reliable. As fallback streamtuner2
      plugins often use a regex to match text. Occasionally the regex method is surprisingly more exact,
      because directory services often use frightful unstructured HTML. If available, both methods
      are tried. You can influence the order with this setting, and thus speed it up.</p></dd>
<dt class="terms">๐Ÿ”Ÿ Limit stream number</dt>
<dd class="terms"><p class="p"> Constraints the length of station lists per category.
      The number of stations option is not honored by all channel plugins. Often it's not possible to
      load more or fewer station entries. Some plugins have own settings (in the 'Plugins' section) even.
      For the major plugins this however limits how many scrollable entries appear in the stream lists.</p></dd>
<dt class="terms">โ˜‘ Retain deleted stations</dt>
<dd class="terms"><p class="p">When enabled, keeps old station entries when
      updating/reloading a category/genre.  Services often forget stations or throw them out when inavailable.
      With this option enabled, these entries are kept in streamtuner2 as strikethrough entries (often
      at the end of the list).</p></dd>
<dt class="terms">โ˜‘ Update favourites from freshened URLs</dt>
<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">โ˜‘ Save station lists after updates</dt>
<dd class="terms"><p class="p">After reloading (<span class="key"><kbd>F5</kbd></span>) the updated station lists are
      automatically saved. For favicon updates or drag and drop events this
      only happens automatically when this option is set.</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 uses 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 most server playlists (be they .pls or .m3u, .xpsf) are converted.
      All player/recording apps receive a default <span class="var">%pls</span> file normally.
      Set this option to disable any such placeholders from the Player tab, and avoid
................................................................................
      streamtuner2 pre-downloading any m3u/pls/xspf. Instead your audio  player gets passed
      the literal server/playlist streaming URL then.</p>
<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">Note that this is only
      a minor speedup, but may trip up some applications. A few channel sources don't
      even provide standard stream addresses and playlists. (Jamendo albums for example really
      need pre-conversion; no audio player can deal with such custom JSON playlists).
      In short: you don't normally want to enable this flag - unless you run into problems
      with streamtuner2 taking too long, or when it hangs by accidentially downloading streams
      itself.</p></div></div></div></div>
</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">

Modified help/html/contrib_features.html from [40c1eff17a] to [5f258d04a4].

65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h3 class="title"><span class="title">๐Ÿ”Œ RadioTray hook</span></h3></div>
<div class="region"><div class="contents">
<p class="p">This plugin enables an extra category in the <span class="key"><kbd>bookmarks</kbd></span> tab.
  It shows bookmarked stations from the RadioTray application, if that's
  installed. Additionally it adds an context option to save new stations
  from Streamtuner2 to RadioTray. The mapping option influences if added
  radios are recategorized in RadioTray.</p>
<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p"> Please see the Wiki for further <span class="link"><a href="http://fossil.include-once.org/streamtuner2/wiki/radiotray" title="http://fossil.include-once.org/streamtuner2/wiki/radiotray">setup instructions</a></span>.</p></div></div></div></div>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h3 class="title"><span class="title">๐Ÿ”Œ User Agent Switcher</span></h3></div>







|







65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h3 class="title"><span class="title">๐Ÿ”Œ RadioTray hook</span></h3></div>
<div class="region"><div class="contents">
<p class="p">This plugin enables an extra category in the <span class="key"><kbd>bookmarks</kbd></span> tab.
  It shows bookmarked stations from the RadioTray application, if that's
  installed. Additionally it adds a context option to save new stations
  from Streamtuner2 to RadioTray. The mapping option influences if added
  radios are recategorized in RadioTray.</p>
<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p"> Please see the Wiki for further <span class="link"><a href="http://fossil.include-once.org/streamtuner2/wiki/radiotray" title="http://fossil.include-once.org/streamtuner2/wiki/radiotray">setup instructions</a></span>.</p></div></div></div></div>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h3 class="title"><span class="title">๐Ÿ”Œ User Agent Switcher</span></h3></div>

Modified help/html/dragndrop.html from [8672c6012f] to [53d8691182].

17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
	method now to export stations.  Simply click and hold the mouse on a
	stream entry, then drag it out to the desktop, file manager or
	directly into VLC or any running music player.  That'll usually
	copy a stream/station address directly.</p>
<p class="p">Now it's not guaranteed to work with all applications or file
	managers, as X11/Gtk DND support is somewhat arcane and wonky.
	You may specifically have to adapt the default export format for
	this. Generally a XSPF or PLS file gets created for file managers.
	While VLC is one of the few applications that understands direct
	playlist URLs or literal M3U/PLS payloads even.</p>
</div>
<div id="import" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Importing</span></h2></div>
<div class="region"><div class="contents">
<p class="p">Playlist importing also works mostly. Here the action module







|







17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
	method now to export stations.  Simply click and hold the mouse on a
	stream entry, then drag it out to the desktop, file manager or
	directly into VLC or any running music player.  That'll usually
	copy a stream/station address directly.</p>
<p class="p">Now it's not guaranteed to work with all applications or file
	managers, as X11/Gtk DND support is somewhat arcane and wonky.
	You may specifically have to adapt the default export format for
	this. Generally an XSPF or PLS file gets created for file managers.
	While VLC is one of the few applications that understands direct
	playlist URLs or literal M3U/PLS payloads even.</p>
</div>
<div id="import" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Importing</span></h2></div>
<div class="region"><div class="contents">
<p class="p">Playlist importing also works mostly. Here the action module

Modified help/html/filtermusic.html from [a3b266783a] to [ff0f366b5e].

23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<div class="region">
<div class="contents">
<p class="p">Filtermusic summarizes all the common genres, but is primarily
	focused on electro/dance/pop stations.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">There's around a dozen categories with 20-30 radios each.</p></li>
<li class="list"><p class="p">Prioritizes stations on listener popularity and freshness or something.</p></li>
<li class="list"><p class="p">The plugin fetches a XML list of stations, or extracts from the homepage.</p></li>
</ul></div></div></div>
<p class="p">Most useful if you don't like to browse around, and want to
	listen to most popular stations.</p>
</div>
<div id="options" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Configuration</span></h2></div>
<div class="region"><div class="contents">







|







23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<div class="region">
<div class="contents">
<p class="p">Filtermusic summarizes all the common genres, but is primarily
	focused on electro/dance/pop stations.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">There's around a dozen categories with 20-30 radios each.</p></li>
<li class="list"><p class="p">Prioritizes stations on listener popularity and freshness or something.</p></li>
<li class="list"><p class="p">The plugin fetches an XML list of stations, or extracts from the homepage.</p></li>
</ul></div></div></div>
<p class="p">Most useful if you don't like to browse around, and want to
	listen to most popular stations.</p>
</div>
<div id="options" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Configuration</span></h2></div>
<div class="region"><div class="contents">

Modified help/html/glossary.html from [073241549e] to [752b6c338c].

18
19
20
21
22
23
24
25

26
27
28
29
30
31
32
..
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
   	    music directory service.</p></dd>
<dt class="terms">Stream</dt>
<dd class="terms">
<p class="p">"stream" is a technical term which means continuosly flowing
	    data.  MP3 radio music for example is streamed, because it's not
	    just a time-limited audio file, but unending (unless you stop
	    the player or paying your ISP).</p>
<p class="p">In streamtuner2 the terms "stream" and radio "station" are used interchangably.</p>

</dd>
<dt class="terms">Genre</dt>
<dd class="terms"><p class="p">Music genres are represented as "categories" in the left
	    pane.  Every channel groups its music stations into some
	    structure.</p></dd>
<dt class="terms">URL</dt>
<dd class="terms"><p class="p">URL stands for "Uniform Resource Locator"
................................................................................
            makes less sense in this context, because ISBN: or MailTo: references aren't
            overly useful for such purposes.</p></dd>
<dt class="terms">Radio</dt>
<dd class="terms"><p class="p">Plays music. Sometimes interrupted by advertisements.
   	    </p></dd>
<dt class="terms">Favicons</dt>
<dd class="terms"><p class="p">Favicons are small symbols for
	    websites.  Most website should have one.  (ST2 downloads
	    favicons either per menu command or automatically for the
	    current station once you hit play.) </p></dd>
<dt class="terms">Cache</dt>
<dd class="terms"><p class="p">Radio lists are kept in "cache" files for efficiency reasons.
	    To not redownload stream information on every category or channel
	    flip, streamtuner2 saves this data. This avoids time consuming
	    server requests.







|
>







 







|







18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
..
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
   	    music directory service.</p></dd>
<dt class="terms">Stream</dt>
<dd class="terms">
<p class="p">"stream" is a technical term which means continuosly flowing
	    data.  MP3 radio music for example is streamed, because it's not
	    just a time-limited audio file, but unending (unless you stop
	    the player or paying your ISP).</p>
<p class="p">In streamtuner2 the terms "stream" and radio "station" are used
	    interchangeably.</p>
</dd>
<dt class="terms">Genre</dt>
<dd class="terms"><p class="p">Music genres are represented as "categories" in the left
	    pane.  Every channel groups its music stations into some
	    structure.</p></dd>
<dt class="terms">URL</dt>
<dd class="terms"><p class="p">URL stands for "Uniform Resource Locator"
................................................................................
            makes less sense in this context, because ISBN: or MailTo: references aren't
            overly useful for such purposes.</p></dd>
<dt class="terms">Radio</dt>
<dd class="terms"><p class="p">Plays music. Sometimes interrupted by advertisements.
   	    </p></dd>
<dt class="terms">Favicons</dt>
<dd class="terms"><p class="p">Favicons are small symbols for
	    websites.  Most websites should have one.  (ST2 downloads
	    favicons either per menu command or automatically for the
	    current station once you hit play.) </p></dd>
<dt class="terms">Cache</dt>
<dd class="terms"><p class="p">Radio lists are kept in "cache" files for efficiency reasons.
	    To not redownload stream information on every category or channel
	    flip, streamtuner2 saves this data. This avoids time consuming
	    server requests.

Modified help/html/playing.html from [42b8776d3d] to [248a899bd6].

20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<div class="region">
<div class="contents">
<p class="p">To start playing a station, you can:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Just <span class="em">double click</span> an entry.</p></li>
<li class="list"><p class="p">Use the <span class="key"><kbd>โ–ถ play</kbd></span> toolbar button.</p></li>
<li class="list"><p class="p">Right click for the context menu and the <span class="key"><kbd>play</kbd></span> action.</p></li>
<li class="list"><p class="p">Drag and drop it directly into your audio player.</p></li>
<li class="list"><p class="p">Save it (<span class="key"><kbd>F2</kbd></span>) to a playlist file, then start your player with that.</p></li>
</ul></div></div></div>
<p class="p">In streamtuner2 you can configure different audio players for different audio
        formats (MP3 or OGG). In the <span class="link"><a href="config_apps.html" title="Audio players">Apps</a></span> section of the
        <span class="link"><a href="configuration.html" title="Configuration / Settings dialog">settings dialog</a></span>, you can associate one player
        with each audio file (MIME) type. Nowadays you can often configure the same player
        for all audio (and even video) types.</p>







|







20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<div class="region">
<div class="contents">
<p class="p">To start playing a station, you can:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Just <span class="em">double click</span> an entry.</p></li>
<li class="list"><p class="p">Use the <span class="key"><kbd>โ–ถ play</kbd></span> toolbar button.</p></li>
<li class="list"><p class="p">Right click for the context menu and the <span class="key"><kbd>play</kbd></span> action.</p></li>
<li class="list"><p class="p">Drag and drop it directly into your audio player. (Only on U*ix/X11 systems)</p></li>
<li class="list"><p class="p">Save it (<span class="key"><kbd>F2</kbd></span>) to a playlist file, then start your player with that.</p></li>
</ul></div></div></div>
<p class="p">In streamtuner2 you can configure different audio players for different audio
        formats (MP3 or OGG). In the <span class="link"><a href="config_apps.html" title="Audio players">Apps</a></span> section of the
        <span class="link"><a href="configuration.html" title="Configuration / Settings dialog">settings dialog</a></span>, you can associate one player
        with each audio file (MIME) type. Nowadays you can often configure the same player
        for all audio (and even video) types.</p>

Modified help/html/somafm.html from [8234aa6e5d] to [3d65961af9].

29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
</div>
<div id="configuration" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Bitrate configuration</span></h2></div>
<div class="region"><div class="contents">
<p class="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 class="p">After reconfiguring the bitrate/format, you can Reload the
	station list to update them. Otherwise refreshing has no effect.</p>
</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>







|
|







29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
</div>
<div id="configuration" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Bitrate configuration</span></h2></div>
<div class="region"><div class="contents">
<p class="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 class="p">After reconfiguring the bitrate/format, you can <span class="link"><a href="reloading.html" title="Reloading">Reload</a></span> the station list to update them. 
	Otherwise refreshing has no effect.</p>
</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>

Modified help/html/timer.html from [d6f1dbf4e2] to [85a02da8f4].

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
<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="intro" 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">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.
	<span class="em">Please take note of the required text format</span>.</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>
<p class="p">A clock range of "<span class="code">18:00-20:00</span>"
	would start the event at 18 o'clock and last it two hours. Note that for "play" events, the end
	time is irrelevant, since streamtuner2 can't kill your audio player anyway.</p>
<p class="p">The end time is only important if you replace "play" with the word "<span class="code">record</span>"
        in the timer event string. This runs streamripper instead and limits the recording time.</p>
</div></div>







|

|













|







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
<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="intro" class="sect"><div class="inner">
<div class="hgroup"></div>
<div class="region"><div class="contents">
<p class="p">You can program play/recording events with the timer plugin. Simply select a station
	and choose <span class="guiseq"><span class="gui">Station</span>ย โ–ธ <span class="gui">Add timer...</span></span>.
	A small popup will ask for a date/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.
	<span class="em">Please take note of the required text format</span>.</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 occur on the first
	three days of each week, while just "Fri" would limit it to Fridays.</p>
<p class="p">A clock range of "<span class="code">18:00-20:00</span>"
	would start the event at 18 o'clock and last it two hours. Note that for "play" events, the end
	time is irrelevant, since streamtuner2 can't kill your audio player anyway.</p>
<p class="p">The end time is only important if you replace "play" with the word "<span class="code">record</span>"
        in the timer event string. This runs streamripper instead and limits the recording time.</p>
</div></div>

Modified help/html/xiph.html from [3ab0c060d4] to [60dac22923].

71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
    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.  Both, the server search function, or browsing by
    audio/video format are supported.  </p>
<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">A miximum of 100 entries get fetched in this mode however
    (which is 5 pages รก 20 entries).</p></div></div></div></div>
</dd>
</dl></div></div></div>
<p class="p">The filter-by-bitrate option is now a generic plugin.</p>
</div></div>
</div></div>
<div class="sect sect-links" role="navigation">
<div class="hgroup"></div>







|







71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
    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.  Both, the server search function, or browsing by
    audio/video format are supported.  </p>
<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">A miximum of 100 entries get fetched in this mode however
    (which is 5 pages ร  20 entries).</p></div></div></div></div>
</dd>
</dl></div></div></div>
<p class="p">The filter-by-bitrate option is now a generic plugin.</p>
</div></div>
</div></div>
<div class="sect sect-links" role="navigation">
<div class="hgroup"></div>

Modified help/html/youtube.html from [858411c902] to [dee3f42011].

25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<p class="p">Googles Youtube provides a quirky JSON API that makes browsing
        channels and genres feasible.  This beta plugin provides a little
        overview, and usually retrieves recent video uploads.</p>
<p class="p">VLC can directly play Youtube URLs. For other players one can use
        <span class="link"><a href="http://youtube-dl.org/" title="http://youtube-dl.org/">youtube-dl</a></span> as wrapper.
        For example <span class="cmd">totem $(youtube-dl %srv)</span> as configured player
        command.</p>
<p class="p">Youtube-dl is preconfigued as "recording"/download tool for this channel
        tab.</p>
<p class="p">Of course you could also just invoke a specific YT video by
        opening it in your web browser - click the station <span class="key"><kbd>home</kbd></span>
        button simply.</p>
</div>
<div id="options" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Channel options.</span></h2></div>







|







25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<p class="p">Googles Youtube provides a quirky JSON API that makes browsing
        channels and genres feasible.  This beta plugin provides a little
        overview, and usually retrieves recent video uploads.</p>
<p class="p">VLC can directly play Youtube URLs. For other players one can use
        <span class="link"><a href="http://youtube-dl.org/" title="http://youtube-dl.org/">youtube-dl</a></span> as wrapper.
        For example <span class="cmd">totem $(youtube-dl %srv)</span> as configured player
        command.</p>
<p class="p">Youtube-dl is preconfigured as "recording"/download tool for this channel
        tab.</p>
<p class="p">Of course you could also just invoke a specific YT video by
        opening it in your web browser - click the station <span class="key"><kbd>home</kbd></span>
        button simply.</p>
</div>
<div id="options" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Channel options.</span></h2></div>

Modified help/timer.page from [fadecdda8a] to [2c8722bbc6].

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
	<link type="guide" xref="bookmarks#other"/>
	<link type="guide" xref="index#extra"/>
        <desc>Programming recurring play and recording events.</desc>
</info>

<section id="intro">

	<p>You can programm play/recording events with the timer plugin. Simply select a station
	and choose <guiseq><gui>Station</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.
	<em>Please take note of the required text format</em>.</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>
	<p>A clock range of "<code>18:00-20:00</code>"
	would start the event at 18 o'clock and last it two hours. Note that for "play" events, the end
	time is irrelevant, since streamtuner2 can't kill your audio player anyway.</p>
        <p>The end time is only important if you replace "play" with the word "<code>record</code>"
        in the timer event string. This runs streamripper instead and limits the recording time.</p>
	</section>







|

|







 







|







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
	<link type="guide" xref="bookmarks#other"/>
	<link type="guide" xref="index#extra"/>
        <desc>Programming recurring play and recording events.</desc>
</info>

<section id="intro">

	<p>You can program play/recording events with the timer plugin. Simply select a station
	and choose <guiseq><gui>Station</gui> <gui>Add timer...</gui></guiseq>.
	A small popup will ask for a date/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.
	<em>Please take note of the required text format</em>.</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 occur on the first
	three days of each week, while just "Fri" would limit it to Fridays.</p>
	<p>A clock range of "<code>18:00-20:00</code>"
	would start the event at 18 o'clock and last it two hours. Note that for "play" events, the end
	time is irrelevant, since streamtuner2 can't kill your audio player anyway.</p>
        <p>The end time is only important if you replace "play" with the word "<code>record</code>"
        in the timer event string. This runs streamripper instead and limits the recording time.</p>
	</section>