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

⌈⌋ branch:  streamtuner2


Check-in [eb8bc76a8a]

Overview
Comment:List windows apps specifically.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: eb8bc76a8ac1e5db1a4efbfbb4e373dc9c7cacbc
User & Date: mario on 2016-11-27 20:42:38
Other Links: manifest | tags
Context
2016-11-28
00:02
New windows installer files. check-in: 5c7a99e16e user: mario tags: trunk
2016-11-27
20:42
List windows apps specifically. check-in: eb8bc76a8a user: mario tags: trunk
2016-11-25
00:03
Add uninstall.cmd / minor changes to win install scripts. check-in: 8740bd6fa0 user: mario tags: trunk
Changes

Modified help/config_apps.page from [98b4faa213] to [7cbf0941ba].

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
	<cmd>mpc-pls %pls</cmd> for example. You can find an extended
	version in the <file>contrib/cmdline/</file> directory.
    </p>
  </item>
</terms>
</section>

<section>
<title>Windows config</title>
<note style="bug"><p>There's a few gothchas when running streamtuner2 on
Windows.</p></note>
<list>
 <item><p>You will often have to quote command paths (e.g. to 


  <cmd>"C:/Program Files/Mozilla Firefox/firefox.exe"</cmd> or
  <cmd>vlc.exe</cmd>) in double quotes.  In particular if those paths
  contain spaces.</p></item>

 <item><p>If you're using streamripper.exe it's best to put it into a directory
  without spaces. For some reason quoting the full exe path will not pass on
  parameters.</p></item>

 <item><p>If you want to be extra safe, just extend your system %PATH variable
  to include all relevant directories. Then just specify the basenames, like
  <file>firefox.exe</file> for browsing, or <file>vlc.exe</file> as
  player.</p></item>
</list>
<note style="info"><p>As reported by Oliver in the sourceforge Discussion
board.</p></note>
</section>

</page>







|

|
|
|
|
>
>
|
<
<
|
|
|
|
|
|
<
<
<
<





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
	<cmd>mpc-pls %pls</cmd> for example. You can find an extended
	version in the <file>contrib/cmdline/</file> directory.
    </p>
  </item>
</terms>
</section>

<section id="windows">
<title>Windows config</title>
<p>There's a few things you have to take care of when configuring players
and recording apps on Windows. Common applications and settings would be:</p>
<table shade="rows" rules="rows cols">
  <tr><td colspan="3"><p><strong>Player config</strong></p></td></tr>
  <tr><td><p><app>audio/mpeg</app></p></td>  <td><p><cmd>wmplayer.exe %asx</cmd></p></td>   <td><note style="bug"><p>Windows media player doesn't understand PLS or M3U files.</p></note></td></tr>
  <tr><td><p><app>video/*</app></p></td>     <td><p><cmd>C:\Programs\VLC\vlc.exe %srv</cmd></p></td>   <td><note style="info"><p>VLC pretty much works alike on Windows.</p></note></td></tr>
  <tr><td><p><app>url/http</app></p></td>    <td><p><cmd>"C:/Program Files/Mozilla Firefox/firefox.exe" %url</cmd></p></td>   <td><note style="info"><p>It's best to enclose paths with spaces in quotes.</p></note></td></tr>


  <tr><td><p><app>url/http</app></p></td>    <td><p><cmd>iexplore.exe %url</cmd></p></td>   <td><note style="note"><p>IE is not recommended, of course.</p></note></td></tr>
  <tr><td colspan="3"><p><strong>Recording apps</strong></p></td></tr>
  <tr><td><p><app>audio/*</app></p></td>     <td><p><cmd>/D "C:\Programs\Streamripper" streamripper.exe %srv</cmd></p></td>   <td><note style="bug"><p>Command line programs need the /D switch first, then its path enclosed in quotes and a space before the program.</p></note></td></tr>
</table>
<p>You can avoid a few issues: if you put your executables in paths without
spaces, or set the system $PATH variable accordingly.</p>




<note style="info"><p>As reported by Oliver in the sourceforge Discussion
board.</p></note>
</section>

</page>

Modified help/configuration.page from [0d5075d7e0] to [627ed3ce23].

103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
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
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

<section id="gui">

  <title>Display/GUI options</title>
  <terms>
    <title>Display settings</title>
    <item>
      <title>Show bookmark star</title>
      <p>Bookmarked stations will be marked with a ★ star in all other station lists / categories.
      That doesn't often work for the same station entry from two different channel services / tabs though.</p>
    </item>
    <item>
      <title>Save window states</title>
      <p>Automatically remember window size, selected channel tab, categories, or selected station.
      Also keeps the width of station list columns. If disabled, you can manually save the current
      layout/selections via <guiseq><gui>Edit</gui> <gui>Save States</gui></guiseq>.</p>
    </item>
    <item>
      <title>Update window title</title>
      <p>When switching channel tabs, the Streamtuner2 window title usually gets the current
      channel name appended (such as "- Shoutcast" or "- Xiph"). You can disable this if it
      looks confusing. (Requires a restart to fully take effect.)</p>
    </item>
    <item><title><link type="guide" xref="favicon">→ Favicon plugin options</link></title></item>
  </terms>

  <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>[<input>500</input>] 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>
      <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







|




|





|










|








|






|





|




|









|









|

















|








|





|





|







103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
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
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

<section id="gui">

  <title>Display/GUI options</title>
  <terms>
    <title>Display settings</title>
    <item>
      <title>Show bookmark star</title>
      <p>Bookmarked stations will be marked with a ★ star in all other station lists / categories.
      That doesn't often work for the same station entry from two different channel services / tabs though.</p>
    </item>
    <item>
      <title>Save window states</title>
      <p>Automatically remember window size, selected channel tab, categories, or selected station.
      Also keeps the width of station list columns. If disabled, you can manually save the current
      layout/selections via <guiseq><gui>Edit</gui> <gui>Save States</gui></guiseq>.</p>
    </item>
    <item>
      <title>Update window title</title>
      <p>When switching channel tabs, the Streamtuner2 window title usually gets the current
      channel name appended (such as "- Shoutcast" or "- Xiph"). You can disable this if it
      looks confusing. (Requires a restart to fully take effect.)</p>
    </item>
    <item><title><link type="guide" xref="favicon">→ Favicon plugin options</link></title></item>
  </terms>

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

Modified help/html/config_apps.html from [b95e44550d] to [0b8cb4823e].

224
225
226
227
228
229
230
231
232
233







234




235

236
237
238
239

240

241
242


243


244
245
246

247
248


249
250
251
252
253
254
255
	<span class="cmd">mpc-pls %pls</span> for example. You can find an extended
	version in the <span class="file">contrib/cmdline/</span> directory.
    </p>
</dd>
</dl></div></div></div>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Windows config</span></h2></div>
<div class="region"><div class="contents">







<div class="note note-bug" title="Bug"><div class="inner"><div class="region"><div class="contents"><p class="p">There's a few gothchas when running streamtuner2 on




Windows.</p></div></div></div></div>

<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">You will often have to quote command paths (e.g. to 
  <span class="cmd">"C:/Program Files/Mozilla Firefox/firefox.exe"</span> or
  <span class="cmd">vlc.exe</span>) in double quotes.  In particular if those paths

  contain spaces.</p></li>

<li class="list"><p class="p">If you're using streamripper.exe it's best to put it into a directory
  without spaces. For some reason quoting the full exe path will not pass on


  parameters.</p></li>


<li class="list"><p class="p">If you want to be extra safe, just extend your system %PATH variable
  to include all relevant directories. Then just specify the basenames, like
  <span class="file">firefox.exe</span> for browsing, or <span class="file">vlc.exe</span> as

  player.</p></li>
</ul></div></div></div>


<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">As reported by Oliver in the sourceforge Discussion
board.</p></div></div></div></div>
</div></div>
</div></div>
<div class="sect sect-links" role="navigation">
<div class="hgroup"></div>
<div class="contents">







|


>
>
>
>
>
>
>
|
>
>
>
>
|
>
|
|
|
<
>
|
>
|
<
>
>
|
>
>
|
<
|
>
|
|
>
>







224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250

251
252
253
254

255
256
257
258
259
260

261
262
263
264
265
266
267
268
269
270
271
272
273
	<span class="cmd">mpc-pls %pls</span> for example. You can find an extended
	version in the <span class="file">contrib/cmdline/</span> directory.
    </p>
</dd>
</dl></div></div></div>
</div></div>
</div></div>
<div id="windows" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Windows config</span></h2></div>
<div class="region"><div class="contents">
<p class="p">There's a few things you have to take care of when configuring players
and recording apps on Windows. Common applications and settings would be:</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
<tr><td colspan="3"><p class="p">Player config</p></td></tr>
<tr class="shade">
<td style="border-top-style: solid;"><p class="p"><span class="app">audio/mpeg</span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p"><span class="cmd">wmplayer.exe %asx</span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><div class="note note-bug" title="Bug"><div class="inner"><div class="region"><div class="contents"><p class="p">Windows media player doesn't understand PLS or M3U files.</p></div></div></div></div></td>
</tr>
<tr>
<td style="border-top-style: solid;"><p class="p"><span class="app">video/*</span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p"><span class="cmd">C:\Programs\VLC\vlc.exe %srv</span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">VLC pretty much works alike on Windows.</p></div></div></div></div></td>
</tr>
<tr class="shade">
<td style="border-top-style: solid;"><p class="p"><span class="app">url/http</span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p"><span class="cmd">"C:/Program Files/Mozilla Firefox/firefox.exe" %url</span></p></td>

<td style="border-top-style: solid;border-left-style: solid;"><div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">It's best to enclose paths with spaces in quotes.</p></div></div></div></div></td>
</tr>
<tr>
<td style="border-top-style: solid;"><p class="p"><span class="app">url/http</span></p></td>

<td style="border-top-style: solid;border-left-style: solid;"><p class="p"><span class="cmd">iexplore.exe %url</span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">IE is not recommended, of course.</p></div></div></div></div></td>
</tr>
<tr class="shade"><td style="border-top-style: solid;" colspan="3"><p class="p">Recording apps</p></td></tr>
<tr>
<td style="border-top-style: solid;"><p class="p"><span class="app">audio/*</span></p></td>

<td style="border-top-style: solid;border-left-style: solid;"><p class="p"><span class="cmd">/D "C:\Programs\Streamripper" streamripper.exe %srv</span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><div class="note note-bug" title="Bug"><div class="inner"><div class="region"><div class="contents"><p class="p">Command line programs need the /D switch first, then its path enclosed in quotes and a space before the program.</p></div></div></div></div></td>
</tr>
</table></div></div></div>
<p class="p">You can avoid a few issues: if you put your executables in paths without
spaces, or set the system $PATH variable accordingly.</p>
<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">As reported by Oliver in the sourceforge Discussion
board.</p></div></div></div></div>
</div></div>
</div></div>
<div class="sect sect-links" role="navigation">
<div class="hgroup"></div>
<div class="contents">

Modified help/html/configuration.html from [d315176bb9] to [c03ec31177].

114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
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
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
</div></div>
<div id="gui" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Display/GUI options</span></h2></div>
<div class="region"><div class="contents">
<div class="terms"><div class="inner">
<div class="title title-terms"><h3><span class="title">Display settings</span></h3></div>
<div class="region"><dl class="terms">
<dt class="terms">Show bookmark star</dt>
<dd class="terms"><p class="p">Bookmarked stations will be marked with a ★ star in all other station lists / categories.
      That doesn't often work for the same station entry from two different channel services / tabs though.</p></dd>
<dt class="terms">Save window states</dt>
<dd class="terms"><p class="p">Automatically remember window size, selected channel tab, categories, or selected station.
      Also keeps the width of station list columns. If disabled, you can manually save the current
      layout/selections via <span class="guiseq"><span class="gui">Edit</span> ▸ <span class="gui">Save States</span></span>.</p></dd>
<dt class="terms">Update window title</dt>
<dd class="terms"><p class="p">When switching channel tabs, the Streamtuner2 window title usually gets the current
      channel name appended (such as "- Shoutcast" or "- Xiph"). You can disable this if it
      looks confusing. (Requires a restart to fully take effect.)</p></dd>
<dt class="terms"><span class="link"><a href="favicon.html" title="Station favicons">→ Favicon plugin options</a></span></dt>
<dd class="terms"></dd>
</dl></div>
</div></div>
<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">[<span class="input">500</span>] 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">
<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







|


|



|










|






|




|




|


|








|








|



















|







|



|



|







114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
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
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
</div></div>
<div id="gui" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Display/GUI options</span></h2></div>
<div class="region"><div class="contents">
<div class="terms"><div class="inner">
<div class="title title-terms"><h3><span class="title">Display settings</span></h3></div>
<div class="region"><dl class="terms">
<dt class="terms">Show bookmark star</dt>
<dd class="terms"><p class="p">Bookmarked stations will be marked with a ★ star in all other station lists / categories.
      That doesn't often work for the same station entry from two different channel services / tabs though.</p></dd>
<dt class="terms">Save window states</dt>
<dd class="terms"><p class="p">Automatically remember window size, selected channel tab, categories, or selected station.
      Also keeps the width of station list columns. If disabled, you can manually save the current
      layout/selections via <span class="guiseq"><span class="gui">Edit</span> ▸ <span class="gui">Save States</span></span>.</p></dd>
<dt class="terms">Update window title</dt>
<dd class="terms"><p class="p">When switching channel tabs, the Streamtuner2 window title usually gets the current
      channel name appended (such as "- Shoutcast" or "- Xiph"). You can disable this if it
      looks confusing. (Requires a restart to fully take effect.)</p></dd>
<dt class="terms"><span class="link"><a href="favicon.html" title="Station favicons">→ Favicon plugin options</a></span></dt>
<dd class="terms"></dd>
</dl></div>
</div></div>
<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">
<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