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

⌈⌋ branch:  streamtuner2


Diff

Differences From Artifact [76215508f0]:

To Artifact [93e7dafa68]:


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

68
69


70
71
72
73
74
75
76
77
78



<section id="apps">

    <title>Player application settings</title>

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

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

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

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

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

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

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


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

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

    <title>Recording Apps</title>

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







|
|
|




















|
|
>
|

>
>
|
|







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



<section id="apps">

    <title>Player application settings</title>

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

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

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

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

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

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

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

    <title>Recording Apps</title>

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




























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

  <terms>




























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

</section>

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








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


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














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







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









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

215
216
217

218
219
220
221

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

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

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









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

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

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

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

</section>

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