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

⌈⌋ ⎇ branch:  streamtuner2


Diff

Differences From Artifact [475d58c6ed]:

To Artifact [8225aeb42a]:


9
10
11
12
13
14
15


16
17




18




19
20
21
22
23
24
25
26
27


28

29
30
31


32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<body><div class="page" role="main">
<div class="header"><div class="trails" role="navigation">
<div class="trail">
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a> » <a class="trail" href="channels.html" title="Channels">Channels</a> › <a class="trail" href="channels.html#list" title="Available channels">Available channels</a> » </div>
<div class="trail">
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#channels" title="Channel tabs">Channel tabs</a> » </div>
<div class="trail">


<a class="trail" href="glossary.html" title="Glossary">Glossary</a> » <a class="trail" href="index.html#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2">Plugin Manager 2</a> » <a class="trail" href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a> » </div>
<div class="trail">




<a class="trail" href="technical.html" title="Technical information">Technical information</a> » <a class="trail" href="index.html#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2">Plugin Manager 2</a> » <a class="trail" href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a> » </div>




</div></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title">Xiph.org</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://dir.xiph.org/" title="http://dir.xiph.org/">//dir.xiph.org/</a></span></span></h2>
</div>
<div class="region">
<div class="contents">
<p class="p">Xiph.org is a non-profit organization, which maintains and


	promotes the OGG streaming format, and develops audio compression

	schemes such as Vorbis, FLAC, Opus, or the Theora video encoding
	format.  It also hosts a list of ICEcast streaming stations. ICEcast
	is their non-commercial pendant to the SHOUTcast server.</p>


<p class="p">There are different ways for streamtuner2 to retrieve the station
        lists available on dir.xiph.org.  That's because this is a primary
        plugin, and fallback solutions therefore important.  Each fetching
        mode has its own advantages and drawbacks though.</p>
<p class="p">Xiph also uses the .xspf playlist format, instead of just the
        more ancient Shoutcast .pls stream links.</p>
</div>
<div id="options" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Channel options.</span></h2></div>
<div class="region"><div class="contents"><div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms"><span class="code">Filter by minimum bitrate</span></dt>
<dd class="terms"><p class="p">The bitrate of an audio stream determines the music quality. Many Xiph streams have simple
    and low quality microphone sources. To filter these out, and only leave high quality music
    stations, you can therefore change this option. OGG starts to sound well with 96 kbit/s (whereas
    MP3 often requires 128 or 160 kbit/s at least).</p></dd>
<dt class="terms"><span class="code">Fetch mode</span></dt>
<dd class="terms">
<p class="p">There are now three options to retrieve Xiph directory stations.</p>
<p class="p"></p>
<div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms"><span class="code">Cache JSON</span></dt>
<dd class="terms"><p class="p">There's a caching server specifically for streamtuner2. It fixes
        Xiphs quirky JSON API, and provides a simpler interface. It can't
        correct the invalid encodings however, which is why you see ????
        question marks a lot. This method does not reveal station homepages,
        but enables the channel/server search.</p></dd>
<dt class="terms"><span class="code">Clunky YP.XML</span></dt>
<dd class="terms">
<p class="p">The "yellow pages" YP.XML contains the full list of all known
        ICEcast streaming servers. It's however quite bulky and super slow
        to download. It furthermore clogs up a lot of memory, and requires
        manual searching (only cache search works). Which is why streamtuner2
        is trying hard to avoid it. It doesn't contain station homepages either.
        </p>
<p class="p">It's only still an option, because it's likely to remain accessible
        after Xiph.org rewrites their directory service. (Which though is
        getting delayed since a few years already.)
        You can set the special "buffy" mode in your <span class="file">settings.json</span>
        to keep the whole YP.XML in memory. Which avoids the
        slow station list download/unpacking.
        </p>
</dd>
<dt class="terms"><span class="code">Forbidden fruits</span></dt>
<dd class="terms">
<p class="p">As new alternative, you can let ST2 directly scrape the station
        lists from dir.xiph.org (like it does for other channels).  This is
        something which Xiph doesn't approve of.  But the drawbacks of their
        alternative offerings are too severe and user-unfriendly; which is
        why there's this raw HTML extraction mode now.</p>
<p class="p">The website listings contain full station homepages and a few
        more extras.  In this mode we can even acceess the XSPF playlist
        formats directly.  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>
</dd>
</dl></div></div></div></div></div>
</div></div>
<div class="sect sect-links" role="navigation">
<div class="hgroup"></div>
<div class="contents"><div class="links guidelinks"><div class="inner">
<div class="title"><h2><span class="title">More Information</span></h2></div>
<div class="region"><ul>
<li class="links "><a href="channels.html#list" title="Available channels">Available channels</a></li>







>
>


>
>
>
>

>
>
>
>








|
>
>
|
>
|
|
<
>
>

|
|
|
<
<


|
|
<
<
<
<
<
<
<

<



|
|
|
|



|
|
|
|
|

|
|
|
|
|
|




|
|
|
|

|
|
|

|


|
|







9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

44
45
46
47
48
49


50
51
52
53







54

55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<body><div class="page" role="main">
<div class="header"><div class="trails" role="navigation">
<div class="trail">
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a> » <a class="trail" href="channels.html" title="Channels">Channels</a> › <a class="trail" href="channels.html#list" title="Available channels">Available channels</a> » </div>
<div class="trail">
<a class="trail" href="index.html" title="♪ Streamtuner2"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </a> › <a class="trail" href="index.html#channels" title="Channel tabs">Channel tabs</a> » </div>
<div 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="contrib_channels.html" title="→ Contrib/Extra Channels">→ Contrib/Extra Channels</a> » <a class="trail" href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a> » </div>
<div class="trail">
<a class="trail" href="glossary.html" title="Glossary">Glossary</a> » <a class="trail" href="index.html#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2">Plugin Manager 2</a> » <a class="trail" href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a> » </div>
<div class="trail">
<a class="trail" href="glossary.html" title="Glossary">Glossary</a> » <a class="trail" href="index.html#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2">Plugin Manager 2</a> » <a class="trail" href="contrib_channels.html" title="→ Contrib/Extra Channels">→ Contrib/Extra Channels</a> » <a class="trail" href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a> » </div>
<div class="trail">
<a class="trail" href="glossary.html" title="Glossary">Glossary</a> » <a class="trail" href="index.html#extra" title="Additional features">Additional features</a> » <a class="trail" href="contrib_features.html" title="→ Feature plugins">→ Feature plugins</a> » <a class="trail" href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a> » </div>
<div class="trail">
<a class="trail" href="technical.html" title="Technical information">Technical information</a> » <a class="trail" href="index.html#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2">Plugin Manager 2</a> » <a class="trail" href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a> » </div>
<div class="trail">
<a class="trail" href="technical.html" title="Technical information">Technical information</a> » <a class="trail" href="index.html#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2">Plugin Manager 2</a> » <a class="trail" href="contrib_channels.html" title="→ Contrib/Extra Channels">→ Contrib/Extra Channels</a> » <a class="trail" href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a> » </div>
<div class="trail">
<a class="trail" href="technical.html" title="Technical information">Technical information</a> » <a class="trail" href="index.html#extra" title="Additional features">Additional features</a> » <a class="trail" href="contrib_features.html" title="→ Feature plugins">→ Feature plugins</a> » <a class="trail" href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a> » </div>
</div></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title">Xiph.org</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://dir.xiph.org/" title="http://dir.xiph.org/">//dir.xiph.org/</a></span></span></h2>
</div>
<div class="region">
<div class="contents">
<p class="p">Xiph.org is a non-profit organization which develops and maintains
various audio- and video-related standards.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">For example the OGG streaming/multiplexing format.</p></li>
<li class="list"><p class="p">Audio compression schemes like Vorbis, Speex, FLAC, Opus.</p></li>
<li class="list"><p class="p">Video encoding formats like Theora, Tarkin, Dirac.</p></li>
<li class="list"><p class="p">The ICEcast streaming server is an alternative to SHOUTcast.</p></li>

<li class="list"><p class="p">And the more modern .xspf (and .jspf) playlist format, which is used by all channel entries.</p></li>
</ul></div></div></div>
<p class="p">There are different ways for streamtuner2 to retrieve the station
lists available on dir.xiph.org.  That's because this is a primary
plugin, and fallback solutions therefore important.  Each fetching
mode has its own advantages and drawbacks though.</p>


</div>
<div id="options" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Channel fetch mode option</span></h2></div>
<div class="region"><div class="contents">







<p class="p">There are now three options to retrieve Xiph directory stations.</p>

<div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms"><span class="code">Cache JSON</span></dt>
<dd class="terms"><p class="p">There's a caching server specifically for streamtuner2. It fixes
    Xiphs quirky JSON API, and provides a simpler interface. It can't
    correct the invalid encodings however, which is why you see ????
    question marks a lot. This method does not reveal station homepages,
    but enables the channel/server search.</p></dd>
<dt class="terms"><span class="code">Clunky YP.XML</span></dt>
<dd class="terms">
<p class="p">The "yellow pages" YP.XML contains the full list of all known
    ICEcast streaming servers. It's however quite bulky and super slow
    to download. It furthermore clogs up a lot of memory, and requires
    manual searching (only cache search works). Which is why streamtuner2
    is trying hard to avoid it. It doesn't contain station homepages either.
    </p>
<p class="p">It's only still an option, because it's likely to remain accessible
    after Xiph.org rewrites their directory service. (Which though is
    getting delayed since a few years already.)
    You can set the special "buffy" mode in your <span class="file">settings.json</span>
    to keep the whole YP.XML in memory. Which avoids the
    slow station list download/unpacking.
    </p>
</dd>
<dt class="terms"><span class="code">Forbidden fruits</span></dt>
<dd class="terms">
<p class="p">As new alternative, you can let ST2 directly scrape the station
    lists from dir.xiph.org (like it does for other channels).  This is
    something which Xiph doesn't approve of.  But the drawbacks of their
    alternative offerings are too severe and user-unfriendly; which is
    why there's this raw HTML extraction mode now.</p>
<p class="p">The website listings contain full station homepages and a few
    more extras.  In this mode we can even acceess the XSPF playlist
    formats directly.  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>
<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>