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

⌈⌋ ⎇ branch:  streamtuner2


Check-in [09c09235d8]

Overview
Comment:Update HTML manual
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 09c09235d8b9d8b425d13b5e2589a3d769bfb835
User & Date: mario on 2016-11-06 20:48:36
Other Links: manifest | tags
Context
2016-11-07
14:35
Ensure streamedit picks up all changes, and populates fields even if absent in original row{} check-in: b4e595711c user: mario tags: trunk
2016-11-06
20:48
Update HTML manual check-in: 09c09235d8 user: mario tags: trunk
20:48
Apply unhtml() after resolve_urn() lookup. check-in: 5cda19beb0 user: mario tags: trunk
Changes

Modified help/html/config_apps.html from [a824dfa63b] to [bf90a93e2d].

13
14
15
16
17
18
19


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







+
+







<div class="hgroup"><h1 class="title"><span class="title">Audio players</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">On BSD/Linux systems there are a plethora of audio players. In streamtuner2 you can
	<span class="link"><a href="configuration.html" title="Configuration / Settings dialog">configure</a></span> most of them as target application. Mostly it makes sense to use a single
	application for all audio formats. But at least the */* media type should be handled
	by a generic player, like vlc.</p>
<p class="p"><span class="media"><span class="media media-image"><img src="img/configapps.png" class="media media-inline" alt=""></span></span></p>
<p class="p">A few common applications and invocation strings to use are:</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
<tr>
<td><p class="p"><span class="app">Audacious</span></p></td>
<td style="border-left-style: solid;"><p class="p"><span class="cmd">audacious</span></p></td>
<td style="border-left-style: solid;"><p class="p">audio</p></td>
</tr>
<tr class="shade">
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
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
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







+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+




















-
+
+




+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+







	older %m3u format more.  Streamripper requires %srv for recording.</p>
<p class="p">Use the newer <span class="var">%xspf</span> format if your player supports
	it. This format retains the maximum of station infos (such as
	homepages etc.), and thus often makes for better bookmarking directly
	in your player.</p>
</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>
<tr>
<td><p class="p">%title</p></td>
<td style="border-left-style: solid;"><p class="p">$title</p></td>
<td style="border-left-style: solid;"><p class="p">Station title</p></td>
</tr>
<tr class="shade">
<td style="border-top-style: solid;"><p class="p">%genre</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">$genre</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">Stream category or genre list</p></td>
</tr>
<tr>
<td style="border-top-style: solid;"><p class="p">%playing</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">$playing</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">Currently playing song, or geographic location</p></td>
</tr>
<tr class="shade">
<td style="border-top-style: solid;"><p class="p">-</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">$url</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">Unfiltered stream url (may contain internal urn:xx:id)</p></td>
</tr>
<tr>
<td style="border-top-style: solid;"><p class="p">%format</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">$format</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">The MIME type ("audio/mpeg")</p></td>
</tr>
<tr class="shade">
<td style="border-top-style: solid;"><p class="p">%bitrate</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">$bitrate</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">Known stream bitrate, if any</p></td>
</tr>
<tr>
<td style="border-top-style: solid;"><p class="p">%extra</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">$extra</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">Comments or timer settings</p></td>
</tr>
<tr class="shade">
<td style="border-top-style: solid;"><p class="p">%favourite</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">$favourite</p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">If bookmarked</p></td>
</tr>
</table></div></div></div>
<p class="p">Not all fields are used in all channels. Sometimes they're repurposed (like <span class="var">playing</span>
	often doubles as Location: field). And some channels may even use custom internal names.</p>
<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">You often want to use such placeholders if you have a player or recording shell script, such as
	<span class="link"><a href="http://fossil.include-once.org/streamtuner2/artifact/51b695f41d9f9ad2" title="http://fossil.include-once.org/streamtuner2/artifact/51b695f41d9f9ad2"><span class="file">contrib/cmdline/streamripper_addgenre</span></a></span>
	to handle them. Or if you define a <span class="link"><a href="specbuttons.html" title="Special extra/mini buttons">mini-toolbar specbutton</a></span>
	with custom commands.</p></div></div></div></div>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Other players</span></h2></div>
<div class="region"><div class="contents">
<p class="p">Here a few other configuration examples for other
players/backends.</p>
<div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms">MPD</dt>
<dd class="terms">
<p class="p">
       Rocus van Oosten <span class="link"><a href="https://sourceforge.net/p/streamtuner2/discussion/1173108/thread/82b6be86/" title="https://sourceforge.net/p/streamtuner2/discussion/1173108/thread/82b6be86/">recommends</a></span>
       following wrapper script to start playing radio streams via MPD right away:
    </p>
<div class="code"><pre class="contents ">MPD_HOST='10.0.0.222' # or your MPD host
export MPD_HOST
mpc clear
mpc load $1
mpc play</pre></div>
<p class="p">
	Save it as <span class="file">mpc-pls</span> script and configure it in streamtuner as
	<span class="cmd">mpc-pls %pls</span> for example.
	<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">
<div class="links guidelinks"><div class="inner">
<div class="title"><h2><span class="title">More Information</span></h2></div>
<div class="region"><ul><li class="links "><a href="configuration.html#apps" title="Player application settings">Player application settings</a></li></ul></div>

Modified help/html/contrib_channels.html from [2bd9ad2ac3] to [49c1a178b8].

55
56
57
58
59
60
61





62
63
64
65
66
67
68
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73







+
+
+
+
+







<dd class="terms"><p class="p">ListenLive is also an Europe-centric radio directory. </p></dd>
<dt class="terms"><span class="link"><a href="http://radiosure.com/" title="http://radiosure.com/">RadioSure</a></span></dt>
<dd class="terms"><p class="p">Station database that's readily available as CSV list. </p></dd>
<dt class="terms"><span class="link"><a href="http://vtuner.com/" title="http://vtuner.com/">vTuner</a></span></dt>
<dd class="terms"><p class="p">Categorized station list by a cross-platform streaming service provider. </p></dd>
<dt class="terms"><span class="link"><a href="http://reciva.com/" title="http://reciva.com/">Reciva</a></span></dt>
<dd class="terms"><p class="p">Reciva is an iPhone app, with a browsable station list. </p></dd>
<dt class="terms"><span class="link"><a href="http://house-mixes.com/" title="http://house-mixes.com/">house-mixes</a></span></dt>
<dd class="terms"><p class="p">House-mixes.com provides a growing collection of DJ mixes (house,
    dance, etc). The website can be used after a free registration to download
    complete MP3s (often in high quality). In Streamtuner2 you can even
    drag and drop them onto your desktop directly.</p></dd>
<dt class="terms"><span class="link"><a href="http://punkcast.com/" title="http://punkcast.com/">PunkCast</a></span></dt>
<dd class="terms"><p class="p">PunkCast is no longer maintained. It covered the NY music and tech
    scenes, but existing recordings are still accessible mostly (some are
    just weblinks however). This plugin is kept for nostalgic reasons;
    it was available with streamtuner1 as well. </p></dd>
<dt class="terms">GrLittleRadioPlayer</dt>
<dd class="terms"><p class="p">Great Little Radio Player is another Linux desktop radio browser.

Modified help/html/pluginmanager2.html from [ab8d6c0f37] to [c9837cac9c].

70
71
72
73
74
75
76
77

78
79
80
81
82
83
84
70
71
72
73
74
75
76

77
78
79
80
81
82
83
84







-
+







	PluginManager2 still shows the system-installed/older version
	regardless.</p>
<p class="p">So you'll have to take care to eventually refresh/delete outdated user plugins,
	whenever you install a newer Streamtuner2 version.</p>
</div></div></div></div>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div id="disable" class="sect"><div class="inner">
<div class="hgroup"><h3 class="subtitle"><span class="subtitle">Disable user plugin loading</span></h3></div>
<div class="region"><div class="contents">
<p class="p">Since this is still rather experimental, you may disable all
	associated features by starting ST2 via:</p>
<div class="screen"><pre class="contents ">streamtuner2 -d <span class="input">pluginmanager2</span></pre></div>
<p class="p">Which inhibits loading this whole extension. (The <span class="code">-d</span>
	flag also works	for any other plugin name.)</p>

Modified help/html/radiobrowser.html from [a4821d118e] to [68eee1608c].

31
32
33
34
35
36
37



38
39
40
41
42
43
44
45
46
47







48
49
50
51
52
53
54
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64







+
+
+










+
+
+
+
+
+
+







<li class="list"><p class="p">Streamtuner2 (obviously)</p></li>
<li class="list"><p class="p">RadioDroid (Android)</p></li>
<li class="list"><p class="p">DreamBox plugin</p></li>
<li class="list"><p class="p">Musicbox (Android)</p></li>
<li class="list"><p class="p">Gradio</p></li>
<li class="list"><p class="p">Kodi/XBMC</p></li>
</ul></div></div></div>
<p class="p">Since v0.3 / streamtuner2.2.0 you can now also share your favorite
stations directly. There's a new <span class="guiseq"><span class="gui">context menu</span> ▸ <span class="gui">Share in
Radio-Browser</span></span>.</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">
<p class="p"> Instead of browsing by genres, you can switch to languages or
 countries.</p>
<p class="p"> Note that you'll have to use <span class="guiseq"><span class="gui">Channel</span> ▸ <span class="gui">Reload Category Tree (F5)</span></span>
 again to update the catogory view.</p>
</div></div>
</div></div>
<div id="advertisment" class="sect"><div class="inner">
<div class="hgroup"></div>
<div class="region"><div class="contents"><div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p"> With <span class="link"><a href="https://play.google.com/store/apps/details?id=net.programmierecke.radiodroid2" title="https://play.google.com/store/apps/details?id=net.programmierecke.radiodroid2">RadioDroid</a></span>
 there's a mobile version to access and play from radio-browser.info
 directly. Get it on <span class="link"><a href="https://f-droid.org/forums/topic/radiodroid/" title="https://f-droid.org/forums/topic/radiodroid/">F-Droid</a></span>
 or the Play store.</p></div></div></div></div></div></div>
</div></div>
<div class="sect sect-links" role="navigation">
<div class="hgroup"></div>
<div class="contents"><div class="links guidelinks"><div class="inner">
<div class="title"><h2><span class="title">More Information</span></h2></div>
<div class="region"><ul>
<li class="links "><a href="channels.html#list" title="Available channels">Available channels</a></li>
<li class="links "><a href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a></li>

Modified help/html/specbuttons.html from [22ea8adb94] to [5b0f3c1c92].

79
80
81
82
83
84
85

86
87


88
89
90
91

92
93
94
95
96
97
98
79
80
81
82
83
84
85
86


87
88

89
90

91
92
93
94
95
96
97
98







+
-
-
+
+
-


-
+







<div class="hgroup"><h2 class="title"><span class="title">Commands</span></h2></div>
<div class="region"><div class="contents">
<p class="p">You can define any graphical or commandline application to be
        invoked by your custom toolbar button. Foremost you want to invoke
        audio controls of course, or start/stop players.</p>
<p class="p">For example <span class="cmd">amixer sset Master 1dB+</span> is likely to work
        for all current distributions.</p>
<p class="p"><span class="link"><a href="config_apps.html#placeholders" title="URL placeholders">Placeholders</a></span>
<p class="p">Placeholders like %title and %url or %pls and %m3u are supported
	for all commands as well. So you can have additional play/record
	like %title and %url or %pls and %m3u are supported for all commands
	as well. So you can have additional play/record	shortcuts.</p>
	shortcuts.</p>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div id="icon-rows" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">icon rows</span></h2></div>
<div class="region"><div class="contents">
<p class="p">With the "number of rows" setting, more buttons can be packed together.
	It looks okay with up to 3 rows - when using the large sized main toolbar.
	The defined icon shortcuts will always be packed column-wise.</p>
<div class="note note-bug" title="Bug"><div class="inner"><div class="region"><div class="contents"><p class="p">The icon list isn't ordered. So you cannot
        define which button appears first. (Albeit the plugin config

Modified help/html/timer.html from [2031ad22f2] to [34bdfe3c97].

17
18
19
20
21
22
23
24

25
26
27
28
29
30
31
17
18
19
20
21
22
23

24
25
26
27
28
29
30
31







-
+







<div class="trail">
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#channels" title="Channel tabs">Channel tabs</a> » <a class="trail" href="bookmarks.html" title="Bookmarks">Bookmarks</a> › <a class="trail" href="bookmarks.html#other" title="Subcategories">Subcategories</a> » </div>
</div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Timer</span></h1></div>
<div class="region">
<div class="contents"></div>
<div id="" class="sect"><div class="inner">
<div 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">Extensions</span> ▸ <span class="gui">Add timer...</span></span>.
	A small popup will ask for a data/time string. If you press <span class="key"><kbd>OK</kbd></span> the station
	and the programmed time will be stored in the bookmarks channel in the "timer" category.</p>
<p class="p"><span class="media"><span class="media media-image"><img src="img/timer.png" class="media media-inline" alt="Timer"></span></span></p>