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

⌈⌋ branch:  streamtuner2


Check-in [0ea7545d8e]

Overview
Comment:Update documentation (and html/ version) to reflect plugin changes and deprecations.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 0ea7545d8eebc9d628d3d900123cfa4743b27ed0
User & Date: mario on 2020-05-15 17:21:08
Other Links: manifest | tags
Context
2020-05-15
18:15
Tuner2 is gone as well. check-in: 78d057541a user: mario tags: trunk
17:21
Update documentation (and html/ version) to reflect plugin changes and deprecations. check-in: 0ea7545d8e user: mario tags: trunk
16:04
new channel: peertube. Deprecated plugin: youtube check-in: f7c2123fa9 user: mario tags: trunk
Changes

Added help/channel_peertube.page version [337c949d22].

























































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
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
40
41
42
43
44
<page	xmlns="http://projectmallard.org/1.0/"
	type="guide"
	id="peertube">

<info>
	<link type="guide" xref="index#channels"/>
	<link type="guide" xref="channels#list"/>
	<link type="guide" xref="configuration#plugins"/>
        <desc>Peertube music/video listings.</desc>
</info>

	<title><media type="image" src="img/channel_peertube.png" /> Peertube</title>
	<subtitle><link	href="http://joinpeertube.org/">//joinpeertube.org/</link></subtitle>

	<p>PeerTube is a federated video hosting network. And this channel
	allows you to browse /Music and other categories. It's not quite a
	very rich ecosystem yet, but very international. So perhaps worth a
	lookaround.</p>

        <p>The category list seeems to be uniform across most Peertube
	instances. So you only need to reload stations/videos once switching
	the address in the settings. </p>

        <p>Per default you should use VLC and 
        <link href="http://youtube-dl.org/">youtube-dl</link> in the
	playback settings. Per default the faux mime type <cmd>video/youtube</cmd>
	is used for all listings. However, internally there's a lookup for
	an .m3u or direct .mp4 link already. So the <cmd>video/*</cmd> entry should
	also be populated.</p>

        <section id="options">
          <title>Channel options.</title>
          <terms>
          <item>
            <title><code>🔠 Peertube server</code></title>
            <p>Sets the main isntance to query video listings from. Now most
	    of the other sites will be peered, so the main server doesn't
	    have that much influence. It changes the ordering however, and
            will reveal more local videos or languages often.</p>
          </item>
          </terms>
        </section>

</page>

Modified help/channel_youtube.page from [4a2ae526e2] to [e1c1cffda7].

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
40
	<link type="guide" xref="configuration#plugins"/>
        <desc>Youtube music/video listings.</desc>
</info>

	<title><media type="image" src="img/channel_youtube.png" /> Youtube</title>
	<subtitle><link	href="http://youtube.com/">//youtube.com/</link></subtitle>












	<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>VLC can directly play Youtube URLs. For other players one can use
        <link href="http://youtube-dl.org/">youtube-dl</link> as wrapper.
        For example <cmd>totem $(youtube-dl %srv)</cmd> as configured player
        command.</p>
        
        <p>Youtube-dl is preconfigured as "recording"/download tool for this channel
        tab.</p>

        <p>Of course you could also just invoke a specific YT video by
        opening it in your web browser - click the station <key>home</key>
        button simply.</p>

        <section id="options">
          <title>Channel options.</title>
          <terms>






          <item>
            <title><code>🔠 Region</code></title>
            <p>With the country dropdown you can predefine which mostPopular listings are returned.</p>
          </item>
          <item>
            <title><code>🔠 My Channels</code></title>
            <p>You can edit the list of YT channel names to fetch some of your favourite artists/uploaders.







>
>
>
>
>
>
>
>
>
>
>



















>
>
>
>
>
>







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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
	<link type="guide" xref="configuration#plugins"/>
        <desc>Youtube music/video listings.</desc>
</info>

	<title><media type="image" src="img/channel_youtube.png" /> Youtube</title>
	<subtitle><link	href="http://youtube.com/">//youtube.com/</link></subtitle>

        <note style="bug"><p>This plugin is no longer supported or a default
	channel. Due to exceeded quotas, it ceased working, and Youtube/Google
	bothered me with inane requests for video recordings of how ST2 works
	(instead of simply looking at the code or investigating their own logs).
	Btw, the exceeded quota was unlikely due to regular ST2 usage. It's
	more probable the builtin and plainly-in-sight builtin API key was
	reappropriated otherwise. Hence, you would have to
        <link href="https://developers.google.com/youtube/v3/getting-started">get
	your own key</link> now, if you wanted to use this channel. Btw,
	overall it's not that interesting / worth the effort IMO.</p></note>

	<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>VLC can directly play Youtube URLs. For other players one can use
        <link href="http://youtube-dl.org/">youtube-dl</link> as wrapper.
        For example <cmd>totem $(youtube-dl %srv)</cmd> as configured player
        command.</p>
        
        <p>Youtube-dl is preconfigured as "recording"/download tool for this channel
        tab.</p>

        <p>Of course you could also just invoke a specific YT video by
        opening it in your web browser - click the station <key>home</key>
        button simply.</p>

        <section id="options">
          <title>Channel options.</title>
          <terms>
          <item>
            <title><code>🔠 API key</code></title>
            <p>You will have to aquire your own API key now, if you want to
            test this plugin. Quite cumbersome, and not recommended, but see 
            <link href="https://developers.google.com/youtube/v3/getting-started">YouTube Data API Overview</link> </p>
          </item>
          <item>
            <title><code>🔠 Region</code></title>
            <p>With the country dropdown you can predefine which mostPopular listings are returned.</p>
          </item>
          <item>
            <title><code>🔠 My Channels</code></title>
            <p>You can edit the list of YT channel names to fetch some of your favourite artists/uploaders.

Modified help/html/C.css from [ac93dbe244] to [0c0b8391cf].

1
2
3
4
5
6
7
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
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
102
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
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
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300

301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327

328


329


330
331
332
333
334

335




336
337






338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353


354

355
356
357
358
359
360
361
362
363
364
365
366
367
368
369

370

371
372

373




374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458

459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556


557
558
559
560



















561









562





563






564
565
566
567
568
569
570
571
572
573
574
575
576

577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632







633
634
635
636
637
638


639
640
641
642
643
644
645
646
647
648





649











650

651
652
653




654



655


656



657


658
659
660

661




662




















663
664
665
666

667











668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683




684



685







686

687

688













































689


690
691





692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721


722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737

738
739
740
741
742
743
744
745
746
747
748
749
750

751
752
753
754

755
756
757
758
759
760
761
762
763
764
765
766
767
768



769





770
771
772
773
774
775
776
777

778
779
780
781

782
783
784
785
786






787
788
789
790
791
792
793
794
795

796
797









798
799
800
801
802
803
804
805
806
807




808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837



838
839

840
841



842
843
844

845
846
847
848
849
850
851
852
853











854
855
856
857

858
859
860
861
862
863
864
865
866

867
868
869
870
871


872



873
874
875
876
877

878




879
880
881
882
883




884
885
886
887

888
889
890
891
892
893


894
895
896
897
898
899

900
901



902
903
904
905


906
907

908
909
910
911
912
913
914
915
916


917



918
919
920
921
922
923
924
925

926
927



928
929
930
931

932



933



934




935
936
937
938
939
940
941
942
943
944
945
946
947

948
949



950
951
952


953
954
955
956
957
958
959

960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987





988
989
990
991
992

993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008

1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021

1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033


1034
1035
1036
1037
1038
1039
1040
1041
1042








1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075

1076


1077

1078

1079
1080
1081
1082
1083
1084
1085











1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101

html { height: 100%; }
body {
  font-family: sans-serif;
  margin: 0; padding: 0;
  background-color: #ffffff;
  color: #000000;
  direction: ltr;
}












div.page {

  margin: 1em auto 1em auto;
  max-width: 60em;

  border: solid 1px #babdb6;


}
div.body {



  margin: 0;

  padding-left: 1em;
  padding-right: 1em;


















  padding-bottom: 1em;
  min-height: 20em;
  background-color: #ffffff;
}
div.header { margin: 0; }
div.footer { margin: 0; }
div.sect {
  margin-top: 2.4em;
  clear: both;
}
div.sect div.sect {
  margin-top: 1.44em;
  margin-left: 1.72em;
}












div.trails {
  margin: 0;
  padding: 0.5em 1em 0.5em 1em;
  background-color: #f3f3f0;
}
div.trail {
  margin: 0.2em 0 0 0;
  padding: 0 1em 0 1em;
  text-indent: -1em;
  color: #2e3436;
}
a.trail { white-space: nowrap; }
div.hgroup {
  margin: 1em 0 0.5em 0;
  color: #2e3436;
}
div.sect div.hgroup {
  margin-top: 0;
  border-bottom: solid 1px #babdb6;
}
div.sect-links div.hgroup {
  border-bottom: solid 2px #729fcf;
}
div.sect div.sect-links {
  margin-left: 0;
}
div.sect div.sect-links div.hgroup {
  border: none;
}
h1, h2, h3, h4, h5, h6, h7 {
  margin: 0; padding: 0;
  color: #2e3436;
  font-weight: bold;
}
h1 { font-size: 2em; }
h2 { font-size: 1.44em; }
h3.title, h4.title, h5.title, h6.title, h7.title { font-size: 1.2em; }
h3, h4, h5, h6, h7 { font-size: 1em; }

p { line-height: 1.72em; }
div, pre, p { margin: 1em 0 0 0; padding: 0; }
div.contents > *:first-child,
th > *:first-child, td > *:first-child,
dt > *:first-child, dd > *:first-child,
li > *:first-child { margin-top: 0; }
div.inner, div.region, div.contents, pre.contents { margin-top: 0; }
pre.contents div { margin-top: 0 !important; }
p img { vertical-align: middle; }
p.lead { font-size: 1.2em; }
div.clear {
  margin: 0; padding: 0;
  height: 0; line-height: 0;
  clear: both;
}
.center { text-align: center; }

div.about {
  color: #2e3436;
}
div.about > div.inner > div.hgroup {
  margin: 0; padding: 0;
  text-align: center;
  border: none;
}
div.about > div.inner > div.hgroup > h2 {
  margin: 0; padding: 0.2em;
  font-size: inherit;
}
div.about.ui-expander > div.inner > div.hgroup span.title:before {
  content: "";
}
div.copyrights {
  margin: 1em;
  text-align: center;


}
div.copyright {






  margin: 0;
}
div.aboutblurb {
  display: inline-block;
  vertical-align: top;
  text-align: left;
  max-width: 18em;
  margin: 0 1em 1em 1em;

}

ul.credits, ul.credits li {
  margin: 0; padding: 0;
  list-style-type: none;
}
ul.credits li {
  margin-left: 1em;
  text-indent: -1em;
}






table {
  border-collapse: collapse;
  border-color: #2e3436;
  border-width: 1px;
}
td, th {
  padding: 0.5em;
  vertical-align: top;
  border-color: #2e3436;
  border-width: 1px;
}
thead td, thead th, tfoot td, tfoot th {
  font-weight: bold;
  color: #2e3436;
  background-color: #e5e5e3;
}
th {
  text-align: left;
  font-weight: bold;
  color: #2e3436;
}

ul, ol, dl { margin: 0; padding: 0; }
li {
  margin: 1em 0 0 0;
  margin-left: 2.4em;
  padding: 0;
}
li:first-child { margin-top: 0; }





dt { margin-top: 1em; }
dt:first-child { margin-top: 0; }
dt + dt { margin-top: 0; }
dd {
  margin: 0.2em 0 0 0;
  margin-left: 1.44em;
}
dd + dd { margin-top: 1em; }
ol.compact li { margin-top: 0.2em; }
ul.compact li { margin-top: 0.2em; }
ol.compact li:first-child { margin-top: 0; }
ul.compact li:first-child { margin-top: 0; }
dl.compact dt { margin-top: 0.2em; }
dl.compact dt:first-child { margin-top: 0; }
dl.compact dt + dt { margin-top: 0; }

a {
  text-decoration: none;
  color: #204a87;
}
a:visited { color: #5c3566; }
a:hover {
  border-bottom: dotted 1px #729fcf;
}
p a {
  border-bottom: dotted 1px #729fcf;
}
a img { border: none; }
@media only screen and (max-width: 400px) {
  div.page {
    margin: 0;
    border: none;
  }
  div.body {
    padding-left: 0;
    padding-right: 0;
  }
  div.body > div.hgroup,
  div.body > div.region > div.contents > *,
  div.body > div.region > div.sect > div.inner > div.hgroup > *,
  div.body > div.region > div.sect > div.inner > div.region > div.contents > * {
    margin-left: 12px;
    margin-right: 12px;
  }
  div.body > div.region > div.sect-links {
    margin-left: 0;
    margin-right: 0;
  }
  div.trails {
    padding: 12px;
  }
  li {
    margin-left: 1.44em;
  }
}

div.title {
  margin: 0 0 0.2em 0;
  font-weight: bold;
  color: #2e3436;
}
div.title h1, div.title h2, div.title h3, div.title h4, div.title h5, div.title h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}
div.desc { margin: 0 0 0.2em 0; }
div.contents + div.desc { margin: 0.2em 0 0 0; }
pre.contents {
  padding: 0.5em 1em 0.5em 1em;
}
div.links-center { text-align: center; }
div.links .desc { color: #2e3436; }
div.links > div.inner > div.region > div.desc { font-style: italic; }
div.links ul { margin: 0; padding: 0; }
div.links ul ul {
  margin-left: 1em;
}
li.links {
  margin: 0.5em 0 0.5em 0;
  padding: 0;
  padding-left: 1em;
  list-style-type: none;
}





div.sectionlinks {
  display: inline-block;
  padding: 0 1em 0 1em;
  background-color: #e6f2ff;
  border: solid 1px #729fcf;
}
div.sectionlinks ul { margin: 0; }
div.sectionlinks li { padding: 0; }
div.sectionlinks div.title { margin: 0.5em 0 0.5em 0; }
div.sectionlinks div.sectionlinks {
  display: block;
  margin: 0.5em 0 0 0;
  padding: 0;
  border: none;
}
div.sectionlinks div.sectionlinks li {
  padding-left: 1.44em;
}
div.nextlinks {
  font-size: 1.2em;
  margin-left: 1.2em;
  float: right;
  clear: both;
}
div.nextlinks a {
  background-color: #f3f3f0;
  display: inline-block;
  position: relative;
  height: 1.44em;
  padding: 0.2em 0.83em;
  margin-bottom: 1em;
}
a.nextlinks-prev { margin-left: 0.72em; }
a.nextlinks-next { margin-right: 0.72em; }
a.nextlinks-prev:after, a.nextlinks-next:after {
  border: solid transparent;
  content: " ";
  position: absolute;
  height: 0; width: 0;
  border-width: 0.92em;
  top: 50%;
  margin-top: -0.92em;
}
a.nextlinks-prev:after {
  right: 100%;
  border-right-color: #f3f3f0;
}
a.nextlinks-next:after {
  left: 100%;
  border-left-color: #f3f3f0;
}
div.nextlinks a:hover {
border: none;
  background: #e6f2ff
}
a.nextlinks-prev:hover:after {
  border-right-color: #e6f2ff
}
a.nextlinks-next:hover:after {
  border-left-color: #e6f2ff

}
div.serieslinks {
  display: inline-block;
  padding: 0 1em 0 1em;
  background-color: #e6f2ff;
  border: solid 1px #729fcf;
}
div.serieslinks ul { margin: 0; }
div.serieslinks li { padding: 0; }
div.serieslinks div.title { margin: 0.5em 0 0.5em 0; }
pre.numbered {
  margin: 0;
  padding: 0.5em;
  float: left;
  margin-right: 0.5em;
  text-align: right;
  color: #2e3436;
  background-color: #fffacc;
}
div.code {
  background: url('yelp-code.png') no-repeat top right;
  border: solid 1px #babdb6;
}
div.example {
  border-left: solid 4px #babdb6;
  padding-left: 1em;
}

div.figure {


  margin-left: 1.72em;


  padding: 4px;
  color: #2e3436;
  border: solid 1px #babdb6;
  background-color: #f3f3f0;
}

div.figure > div.inner > a.zoom {




  float: right;
}






div.figure > div.inner > div.region > div.contents {
  margin: 0;
  padding: 0.5em 1em 0.5em 1em;
  clear: both;
  text-align: center;
  color: #000000;
  border: solid 1px #babdb6;
  background-color: #ffffff;
}
div.list > div.inner > div.title { margin-bottom: 0.5em; }
div.listing > div.inner { margin: 0; padding: 0; }
div.listing > div.inner > div.region > div.desc { font-style: italic; }
div.note {
  padding: 6px;
  border: solid 1px #e5e5e3;
  background-color: #f3f3f0;


}

div.note > div.inner > div.title {
  margin-left: 30px;
}
div.note > div.inner > div.region > div.contents {
  margin: 0; padding: 0;
  margin-left: 30px;
}
div.note > div.inner {
  margin: 0; padding: 0;
  background-image: url("yelp-note.png");
  background-position: left top;
  background-repeat: no-repeat;
  min-height: 24px;
}
div.note-advanced > div.inner {  }

div.note-bug > div.inner { background-image: url("yelp-note-bug.png"); }

div.note-important > div.inner { background-image: url("yelp-note-important.png"); }
div.note-tip > div.inner { background-image: url("yelp-note-tip.png"); }

div.note-warning > div.inner { background-image: url("yelp-note-warning.png"); }




div.note-sidebar {
  float: right;
  max-width: 40%;
  margin-left: 6px;
  padding: 6px;
}
div.note-sidebar > div.inner { background-image: none; }
div.note-sidebar > div.inner > div.title { margin-left: 0px; }
div.note-sidebar > div.inner > div.region > div.contents { margin-left: 0px; }
div.note-plain > div.inner { background-image: none; }
div.note-plain > div.inner > div.title { margin-left: 0px; }
div.note-plain > div.inner > div.region > div.contents { margin-left: 0px; }
div.quote {
  padding: 0;
  min-height: 48px;
}
div.quote > div.inner:before {
  float: left;
  content: '“';
  font-family: "Century Schoolbook L";
  font-size: 48px;
  font-weight: bold;
  line-height: 1em;
  margin: 0; padding: 0;
  height: 48px;
  width: 48px;
  text-align: center;
  color: #e5e5e3;
}
div.quote > div.inner > div.title {
  margin: 0;
  margin-left: 48px;
}
blockquote {
  margin: 0; padding: 0;
  margin-left: 48px;
}
blockquote > *:first-child { margin-top: 0; }
div.quote > div.inner > div.region > div.cite {
  margin-top: 0.5em;
  margin-left: 48px;
  color: #2e3436;
}
div.quote > div.inner > div.region > div.cite::before {
  
  content: '― ';
  color: #2e3436;
}
div.screen {
  background-color: #f3f3f0;
  border: solid 1px #babdb6;
}
ol.steps, ul.steps {
  margin: 0;
  padding: 0.5em 1em 0.5em 1em;
  border-left: solid 4px #edd400;
  -moz-box-shadow: 0 1px 2px #babdb6;
  -webkit-box-shadow: 0 1px 2px #babdb6;
  box-shadow: 0 1px 2px #babdb6;
}
ol.steps .steps {
  padding: 0;
  border: none;
  background-color: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
li.steps { margin-left: 1.44em; }
li.steps li.steps { margin-left: 2.4em; }
div.synopsis > div.inner > div.region > div.contents,
div.synopsis > div.contents, div.synopsis > pre.contents {
  padding: 0.5em 1em 0.5em 1em;
  border-top: solid 1px;
  border-bottom: solid 1px;
  border-color: #729fcf;
  background-color: #f3f3f0;
}
div.synopsis > div.inner > div.region > div.desc { font-style: italic; }
div.synopsis div.code {
  background: none;
  border: none;
  padding: 0;
}
div.synopsis div.code > pre.contents { margin: 0; padding: 0; }

div.table > div.desc { font-style: italic; }
tr.shade {
  background-color: #f3f3f0;
}
td.shade {
  background-color: #f3f3f0;
}
tr.shade td.shade {
  background-color: #e5e5e3;
}

span.app { font-style: italic; }
span.cmd {
  font-family: monospace;
  background-color: #f3f3f0;
  padding: 0 0.2em 0 0.2em;
}
span.cmd span.cmd { background-color: none; padding: 0; }
pre span.cmd { background-color: none; padding: 0; }
span.code {
  font-family: monospace;
  border-bottom: solid 1px #e5e5e3;
}
span.code span.code { border: none; }
pre span.code { border: none; }
span.em { font-style: italic; }
span.em-bold {
  font-style: normal; font-weight: bold;
  color: #2e3436;
}
pre span.error {
  color: #a40000;
}
span.file { font-family: monospace; }
span.gui, span.guiseq { color: #2e3436; }
span.input { font-family: monospace; }
pre span.input {
  font-weight: bold;
  color: #2e3436;
}
kbd {
  font-family: inherit;
  font-size: inherit;
  color: #2e3436;
  background-color: #f3f3f0;
  border: solid 1px #babdb6;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  -moz-box-shadow: 1px 1px 2px #babdb6;
  -webkit-box-shadow: 1px 1px 2px #babdb6;
  box-shadow: 1px 1px 2px #babdb6;
  margin: 0 0.2em 0 0.2em;
  padding: 0 0.5em 0 0.5em;
  white-space: nowrap;
}
kbd.key-Fn {
  font-weight: bold;
  color: #729fcf;
}
span.key a {
  border-bottom: none;
}
a > kbd {
  color: #204a87;
  border-color: #729fcf;
}
span.keyseq {
  color: #2e3436;
  white-space: nowrap
}
span.output { font-family: monospace; }
pre span.output {
  color: #000000;
}
pre span.prompt {
  color: #2e3436;
}
span.sys { font-family: monospace; }
span.var { font-style: italic; }

.ui-tile-img .media-controls { display: none; }
span.media-audio, span.media-video { display: inline-block; }
audio, video { display: block; margin: 0; }
div.media > div.inner { display: inline-block; text-align: center; }
div.media-controls {
  min-width: 24em;
  height: 24px;
  margin: 0; padding: 0;
  border-left: solid 1px #000000;;
  border-right: solid 1px #000000;;
  border-bottom: solid 1px #000000;;
  background-color: #2e3436;
  color: #ffffff;
  -moz-border-bottom-left-radius: 4px;
  -moz-border-bottom-right-radius: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -webkit-border-bottom-right-radius: 4px;


  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}
div.media-controls-audio {



















  border-top: solid 1px #000000;;









  -moz-border-radius: 4px;





  -webkit-border-radius: 4px;






  border-radius: 4px;
}
button.media-play {
  height: 24px;
  padding: 0 2px 0 2px; line-height: 0;
  float: left;
  background-color: #2e3436;
  border: none;
  border-right: solid 1px #000000;;
}
button.media-play:hover, button.media-play:focus {
  background-color: #729fcf;
}

button.media-play canvas { margin: 0; }
div.media-range {
  display: inline-block;
  margin: 2px 8px 0 8px;
  padding: 0;
  height: 20px;
}
div.media-time {
  float: right;
  margin: 0;
  font-size: 16px;
  height: 24px;
  line-height: 24px;
}
div.media-time > span {
  padding-right: 8px;
}
span.media-duration {
  font-size: 12px;
  color: #e5e5e3;
  opacity: 0.8;
}
div.media-ttml { margin: 0; padding: 0; }
.media-ttml-pre { white-space: pre; }
.media-ttml-nopre { white-space: normal; }
div.media-ttml-div {
  text-align: left;
  display: none;
  margin: 0; padding: 0;
}
div.media-ttml-p {
  text-align: left;
  display: none;
  margin: 6px auto 0 auto;
  padding: 6px;
  max-width: 24em;
  border: solid 1px #edd400;
  background-color: #fffacc;
  -moz-box-shadow: 2px 2px 4px #babdb6;
  -webkit-box-shadow: 2px 2px 4px #babdb6;
  box-shadow: 2px 2px 4px #babdb6;
}
div.yelp-data { display: none; }
div.ui-expander > div.inner > div.title span.title,
div.ui-expander > div.inner > div.hgroup span.title {
  cursor: default;
}
div.ui-expander > div.inner > div.title span.title:before,
div.ui-expander > div.inner > div.hgroup span.title:before {
  font-size: 2em;
  font-weight: normal;
  content: "⌃";
  display: inline-block;
  line-height: 0.2em;
  vertical-align: bottom;
  color: #204a87;







}
div.ui-expander-c > div.inner > div.hgroup { border-bottom: none; }
div.ui-expander-e > div.inner > div.title span.title:before,
div.ui-expander-e > div.inner > div.hgroup span.title:before {
  content: "⌄";
  vertical-align: top;


}
div.ui-expander > div.inner > div.title:hover,
div.ui-expander > div.inner > div.hgroup:hover * {
  color: #204a87;
}
div.ui-expander > div.inner > div.hgroup > .subtitle {
  margin-left: 2em;
}
@media only screen and (max-width: 400px) {
  div.links {





    margin-left: 12px;











    margin-right: 12px;

  } 
  li.links { padding: 0; }
  div.body > div.region > div.contents > div.example,




  div.body > div.region > div.contents > div.steps,



  div.body > div.region > div.contents > div.note,


  div.body > div.region > div.sect > div.inner > div.region > div.contents > div.example,



  div.body > div.region > div.sect > div.inner > div.region > div.contents > div.steps,


  div.body > div.region > div.sect > div.inner > div.region > div.contents > div.note {
    margin-left: 0;
    margin-right: 0;

  }




  div.steps > div.inner > div.title {




















    margin-left: 18px;
    margin-right: 18px;
  }
  ol.steps, ul.steps {

    -moz-box-shadow: none;











    -webkit-box-shadow: none;
    box-shadow: none;
  }
  div.note-sidebar {
    float: none;
    max-width: none;
    margin-left: inherit;
    margin-right: inherit;
    padding-left: inherit;
    padding-right: inherit;
  }
  div.note-sidebar > div.inner > div.title,
  div.note-sidebar > div.inner > div.region > div.contents {
    margin-left: 12px;
    margin-right: 12px;
  }




}











pre.syntax span.function, pre.syntax span.keyword, pre.syntax span.tag {

  color: #729fcf;

}













































pre.syntax span.string, pre.syntax span.operator {


  color: #2e3436;
}






div.link-button {
  font-size: 1.2em;
  font-weight: bold;
}
.link-button a {
  display: inline-block;
  background-color: #729fcf;
  color: #ffffff;
  text-shadow: #204a87 1px 1px 0px;
  border: solid 1px #204a87;
  padding: 0.2em 0.5em 0.2em 0.5em;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
}
.link-button a:visited {
  color: #ffffff;
}
.link-button a:hover {
  text-decoration: none;
  color: #ffffff;
  box-shadow: 1px 1px 1px #729fcf;
}
div.link-button a .desc {
  display: block;
  font-weight: normal;
  font-size: 0.83em;
  color: #f3f3f0;
}


div.floatleft {
  float: left;
  margin-right: 1em;
}
div.floatright {
  float: right;
  margin-left: 1em;
}
div.floatstart {
  float: left;
  margin-right: 1em;
}
div.floatend {
  float: right;
  margin-left: 1em;
}


div.title-heading h1, div.title-heading h2, div.title-heading h3,
div.title-heading h4, div.title-heading h5, div.title-heading h6 {
  font-size: 1.72em;
  font-weight: bold;
}
ul.links-heading > li { margin: 2em 0 2em 0; padding: 0; }
div.links-heading > a { font-size: 1.72em; font-weight: bold; }
ul.links-heading > li > div.desc { margin-top: 0.5em; }

div.mouseovers {
  width: 250px;
  height: 200px;

  text-align: center;
  margin: 0;
  float: left;
}

ul.mouseovers li { margin: 0; }
ul.mouseovers a {
  display: inline-block;
  padding: 4px 1.2em 4px 1.2em;
  border-bottom: none;
}
ul.mouseovers a:hover {
  text-decoration: none;
  background: #e6f2ff;
}
ul.mouseovers a img {
  display: none;
  position: absolute;
  margin: 0; padding: 0;



}





@media only screen and (max-width: 400px) {
  ul.mouseovers a {
    display: block;
    padding: 12px;
    margin-left: -12px;
    margin-right: -12px;
  }
  div.mouseovers { display: none; }

}

div.ui-screen {
  display: none;

  position: fixed;
  margin: 0;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: #2e3436;






  opacity: 0.6;
}
div.ui-overlay {
  display: none;
  position: fixed;
  text-align: center;
  left: 0;
  top: 20px;
  width: 100%;

  z-index: 10;
}









div.ui-overlay > div.inner {
  display: inline-block;
  padding: 8px;
  background-color: #f3f3f0;
  border: solid 1px #2e3436;
  box-shadow: 0 2px 4px #2e3436;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  text-align: left;




}
div.ui-overlay > div.inner > div.title { margin-top: -4px; }
a.ui-overlay-close {
  display: block;
  float: right;
  width: 23px; height: 23px;
  font-size: 18px; line-height: 23px;
  font-weight: bold;
  margin-top: -28px;
  margin-right: -24px;
  padding: 1px 2px 3px 2px;
  text-align: center;
  border: none;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background-color: #000000;
  background-image: -moz-radial-gradient(50% 30%, circle farthest-corner, #2e3436, #000000);
  background-image: radial-gradient(50% 30%, circle farthest-corner, #2e3436, #000000);
  background-image: -webkit-radial-gradient(50% 30%, circle farthest-corner, #2e3436, #000000);
  border: 3px solid #ffffff; 
  color: #ffffff;
  box-shadow: 0 2px 2px #000000;
  text-shadow: 0 2px 2px #000000;
}
a.ui-overlay-close:hover {
}

div.ui-tile {
  display: inline-block;



  vertical-align: top;
  clear: both

}
div.region > div.ui-tile {



  margin-top: 0;
  margin-bottom: 1em;
}

div.ui-tile:first-child { margin-top: 1em; }
div.ui-tile > a {
  display: inline-block;
  vertical-align: top;
  margin: 0;
  margin-right: 1em;
  padding: 1em;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;











  border-radius: 6px;
}
div.ui-tile > a {
  border: solid 1px #f3f3f0;

}
div.ui-tile > a:hover {
  border: solid 1px #e6f2ff;
  box-shadow: 0 1px 2px #729fcf;
}
div.ui-tile > a > * { display: block; }
div.ui-tile-side > a > * {
  display: inline-block;
  vertical-align: top;

}
div.ui-tile-side > a > span.ui-tile-text {
  margin-left: 1em;
}
div.ui-tile > a > span.ui-tile-text > span.title {


  display: block;



  margin-top: 0.5em;
  font-weight: bold;
}
div.ui-tile-side > a > span.ui-tile-text > span.title { margin-top: 0; }
div.ui-tile > a > span.ui-tile-text > span.desc {

  display: block;




  margin: 0.2em 0 0 0;
  color: #2e3436;
}
span.ui-tile-img { text-align: center; }





div.links-ui-hover {
  text-align: center;
  margin: 0;
  float: left;

  margin-right: 1.2em;
  overflow: hidden;
}
ul.links-ui-hover li { margin: 0; }
ul.links-ui-hover a {
  display: block;


  padding: 4px 1.2em 4px 1.2em;
  border-bottom: none;
}
ul.links-ui-hover a:hover {
  text-decoration: none;
  background: #e6f2ff;

}
span.links-ui-hover-img {



  display: none;
  position: absolute;
  margin: 0; padding: 0;
  overflow: hidden;


  background: #e6f2ff;
  text-align: center;

}
@media only screen and (max-width: 400px) {
  ul.links-ui-hover a {
    display: block;
    padding: 12px;
    margin-left: -12px;
    margin-right: -12px;
  }
  div.links-ui-hover { display: none; }


}




div.links-grid {
  display: inline-block;
  clear: both
  margin-top: 1em;
  width: 30%;
  margin-right: 2%;
  vertical-align: top;

}
div.links-grid-link {



  margin: 0;
  font-weight: bold;
}
div.links-grid > div.desc {

  margin: 0;



  color: #2e3436;



}




@media only screen and (max-width: 400px) {
  div.links-grid {
    width: 47%;
  }
}

div.links-twocolumn {
  display: inline-block;
  width: 48%;
  margin-top: 0;
  margin-right: 1%;
  vertical-align: top;
}

@media only screen and (max-width: 400px) {
  div.links-twocolumn {



    width: 100%;
    margin-right: 0;
  }


}

div.links .desc a {
  color: inherit;
}
div.links .desc a:hover {
  color: #204a87;

}
a.bold { font-weight: bold; }
div.linkdiv { margin: 0; padding: 0; }
a.linkdiv {
  display: block;
  margin: 0;
  padding: 0.5em;
  border-bottom: none;
}
a.linkdiv:hover {
  text-decoration: none;
  background-color: #e6f2ff;
}
a.linkdiv > span.title {
  display: block;
  margin: 0;
  font-size: 1em;
  font-weight: bold;
  color: inherit;
}
a.linkdiv > span.desc {
  display: block;
  margin: 0.2em 0 0 0;
  color: #2e3436;
}
span.linkdiv-dash { display: none; }
@media only screen and (max-width: 400px) {
  div.linkdiv {





    margin-left: -12px;
    margin-right: -12px;
  }
  div.linkdiv a {
    padding-left: 12px;

    padding-right: 12px;
  }
}

div.comment {
  padding: 0.5em;
  border: solid 2px #ef2929;
  background-color: #ffdede;
}
div.comment div.comment {
  margin: 1em 1em 0 1em;
}
div.comment div.cite {
  margin: 0 0 0.5em 0;
  font-style: italic;
}


div.tree > div.inner > div.title { margin-bottom: 0.5em; }
ul.tree {
  margin: 0; padding: 0;
  list-style-type: none;
}
li.tree { margin: -2px 0 0 0; padding: 0; }
li.tree div { margin: 0; padding: 0; }
ul.tree ul.tree {
  margin-left: 1.44em;
}
div.tree-lines ul.tree { margin-left: 0; }


span.hi {
  background-color: #fffacc;
}

div.facets {
  display: inline-block;
  padding: 6px;
  background-color: #fffacc;
  border: solid 1px #729fcf;
} 
div.facet {
 vertical-align: top;


  display: inline-block;
  margin-top: 0;
  margin-bottom: 1em;
  margin-right: 1em;
}
div.facet div.title { margin: 0; }
div.facet li {
  margin: 0; padding: 0;
  list-style-type: none;








}
div.facet input {
  vertical-align: middle;
  margin: 0;
}
dt.gloss-term {
  margin-top: 1.2em;
  font-weight: bold;
  color: #2e3436;
}
dt.gloss-term:first-child, dt.gloss-term + dt.gloss-term { margin-top: 0; }
dt.gloss-term + dd { margin-top: 0.2em; }
dd.gloss-link {
  margin: 0 0.2em 0 0.2em;
  border-left: solid 4px #729fcf;
  padding-left: 1em;
}
dd.gloss-def {
  margin: 0 0.2em 1em 0.2em;
  border-left: solid 4px #babdb6;
  padding-left: 1em;
}
a.gloss-term {
  tabindex: 0;
  border-bottom: dashed 1px #729fcf;
}
a.gloss-term:hover {
  text-decoration: none;
  border-bottom-style: solid;
}
span.gloss-desc {
  display: none;
  position: absolute;

  margin: 0;


  padding: 0.2em 0.5em 0.2em 0.5em;

  max-width: 24em;

  color: #2e3436;
  background-color: #fffacc;
  border: solid 1px #edd400;
  -moz-box-shadow: 2px 2px 4px #babdb6;
  -webkit-box-shadow: 2px 2px 4px #babdb6;
  box-shadow: 2px 2px 4px #babdb6;
}












.if-if { display: none; }
.if-choose, .if-when, .if-else { margin: 0; padding: 0; }
.if-choose > .if-when { display: none; }
.if-choose > .if-else { display: block; }
.if-if.if__not-target-mobile { display: block; }
.if-choose.if__not-target-mobile > .if-when { display: block; }
.if-choose.if__not-target-mobile > .if-else { display: none; }
@media only screen and (max-width: 400px) {
  .if-if.if__target-mobile { display: block; }
  .if-if.if__not-target-mobile { display: none; }
  .if-choose.if__target-mobile > .if-when { display: block; }
  .if-choose.if__target-mobile > .if-else { display: none; }
  .if-choose.if__not-target-mobile > .if-when { display: none; }
  .if-choose.if__not-target-mobile > .if-else { display: block; }
}









>
>
>
>
>
>
>
>
>
>
>
>
|
>
|
|
>
|
>
>

|
>
>
>
|
>
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|



<
<
|



|

<

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

|
|
|


|


|



|
|

|

|

|
|

<
<
<
|




|






<
|
|
|
|
|
|
<
<









|
<
<
|




|



|



|

>
>

|
>
>
>
>
>
>
|

|
<


|
|
>

>








>
>
>
>
>



|





|




|
|




|









>
>
>
>
>


















|

|

|


|


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



|













|








<


>
>
>
>
>



|
|













|
<
|
|
<
<
|
|



|

<
<
<
<
|
<
<
<
<
<
<

|
<
<
<
|
<
|

|
|
<
<
<
|

|
|
>




|
|










|
|


<
|


|


>

>
>

>
>

|
|
|

>
|
>
>
>
>


>
>
>
>
>
>






|







|
|
>
>

>
|
|

|
<
|

|
<
<
<
<
|

|
>
|
>
|
|
>
|
>
>
>
>


|
|


<
<
<
<
<
<















|













|




|


|
|


<

|
<
<
|




|
<
<









|
|



|




>


|


|


|




|
|


|
|

|
|






|


|

|
|
|


|




|
|
|
<
<

<
<
|

|




|





|
|


|


|




|

|






|



|
|
|
|

|
|
|
|
>
>
|
|

|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
>
>
>
>
>
>
>
>
>
|
>
>
>
>
>
|
>
>
>
>
>
>





<
|

|


|

>
|
|
|
<
<
<
<
|
<





|


|

|
















|
|
<
<
|


|
|


|
|
<
|


|
<
|
>
>
>
>
>
>
>

|
|
|
<
<
>
>

|
|
|

|


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

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











|
|

>
>
>
>
|
>
>
>
|
>
>
>
>
>
>
>
|
>
|
>

>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
>
>
|

>
>
>
>
>







|

|
|

<
<








|





|

>
>
















>










|
|
|
>
|
|
<

>
|
|
|
|


|
<
|

|
|

|
>
>
>

>
>
>
>
>
|
|
|
|
|
<

|
>
|
|
|
|
>




|
>
>
>
>
>
>
|





<

|
>


>
>
>
>
>
>
>
>
>



|
|
|
<
<


>
>
>
>













<
<


<
|
<





<
|

|
|
>
>
>

|
>

|
>
>
>
|
|

>
|
|
|

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

|
|
>

|
<
|

|
<
|
|
>

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

<
|
>
|
>
>
>
>

|

|

>
>
>
>
|
<
<

>
|
<

|
|
|
>
>
|
<

|
<
|
>

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

<
|
|
|
<
<
|
|
>
>

>
>
>
|
|
<
<
<
<
<

>

|
>
>
>
|
<

|
>
|
>
>
>
|
>
>
>

>
>
>
>
|
|
|


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



>
>
|
|
|
<
|
|
|
>

<
<



|




|











|


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



|
|








>













>

|

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

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



|





|




|



|
|








>

>
>

>

>
|
|
|
<
<
|

>
>
>
>
>
>
>
>
>
>
>








|







1
2
3
4
5
6
7
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
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
102



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

275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300

301
302


303
304
305
306
307
308
309




310






311
312



313

314
315
316
317



318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342

343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398

399
400
401




402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421






422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462

463
464


465
466
467
468
469
470


471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536


537


538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637

638
639
640
641
642
643
644
645
646
647
648




649

650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678


679
680
681
682
683
684
685
686
687

688
689
690
691

692
693
694
695
696
697
698
699
700
701
702
703


704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735

736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756

757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786

787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903


904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954

955
956
957
958
959
960
961
962
963

964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983

984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008

1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028


1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047


1048
1049

1050

1051
1052
1053
1054
1055

1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078


1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099

1100
1101
1102

1103
1104
1105
1106
1107

1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118

1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135


1136
1137
1138

1139
1140
1141
1142
1143
1144
1145

1146
1147

1148
1149
1150
1151
1152
1153
1154
1155

1156
1157
1158
1159
1160

1161
1162

1163
1164
1165


1166
1167
1168
1169
1170
1171
1172
1173
1174
1175





1176
1177
1178
1179
1180
1181
1182
1183

1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206

1207



1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222

1223
1224
1225
1226
1227


1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250

1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297



1298

1299


1300
1301
1302



1303



1304
1305
1306
1307
1308
1309
1310
1311
1312
1313



1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353


1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382

html { height: 100%; }
body {
  font-family: sans-serif;
  margin: 0; padding: 0;
  background-color: #ffffff;
  color: #000000;
  direction: ltr;
}
article, aside, nav, header, footer, section {
  display: block;
  margin: 0;
  padding: 0;
}
main {
  display: flex;
  flex-flow: row;
}
main > * {
  flex: 0 0 220px;
}
main > div.page {
  flex-grow: 1;
  margin: 0;
  display: flex;
  flex-flow: column;
  align-items: stretch;
  justify-content: flex-start;
  min-height: 100vh;
}
div.page > article { flex: 1 0 auto; }
div.page > header, div.page > footer { flex: 0 1 auto; }
.pagewide {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}
aside.sidebar {
  width: 300px;
  padding: 20px 10px;
  background: rgb(244,244,244)
}
aside.sidebar-right { order: 3; }
aside.sidebar section { margin-top: 0; }
aside.sidebar * { margin-bottom: 20px; }
aside.sidebar section > div.inner > div.hgroup {
  border-bottom: none;
}
aside.sidebar section h2 {
  font-size: 1em;
  margin-bottom: 0;
}
article {
  padding-top: 10px;
  padding-bottom: 10px;
  min-height: 20em;
  background-color: #ffffff;
}


section {
  margin-top: 2.4em;
  clear: both;
}
section section {
  margin-top: 1.44em;

}
.yelp-hash-highlight {
  animation-name: yelp-hash-highlight;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}
@keyframes yelp-hash-highlight {
  from { transform: translateY(0px) }
  25%  { transform: translateY(20px); }
  50%  { transform: translateY(0); }
  75%  { transform: translateY(10px); }
  to   { transform: translateY(0px); }
}
div.trails {
  margin: 0 -10px 0 -10px;
  padding: 0.2em 10px;
  background-color: rgb(244,244,244);
}
div.trail {
  margin: 0.2em 0;
  padding: 0 1em 0 1em;
  text-indent: -1em;
  color: rgb(75,75,73);
}
a.trail { white-space: nowrap; }
div.hgroup {
  margin-bottom: 0.5em;
  color: rgb(75,75,73);
}
section > div.inner > div.hgroup {
  margin-top: 0;
  border-bottom: solid 1px #c0bfbc;
}
section.links > div.inner > div.hgroup {
  border-bottom: solid 2px rgb(43,107,185);
}



section section.links > div.inner > div.hgroup {
  border: none;
}
h1, h2, h3, h4, h5, h6, h7 {
  margin: 0; padding: 0;
  color: rgb(75,75,73);
  font-weight: bold;
}
h1 { font-size: 2em; }
h2 { font-size: 1.44em; }
h3.title, h4.title, h5.title, h6.title, h7.title { font-size: 1.2em; }
h3, h4, h5, h6, h7 { font-size: 1em; }

p { line-height: 1.44em; }
div, pre, p { margin: 0; padding: 0; }
div.contents > * + *,
th > * + *, td > * + *,
dt > * + *, dd > * + *,
li > * + * { margin-top: 1em; }


p img { vertical-align: middle; }
p.lead { font-size: 1.2em; }
div.clear {
  margin: 0; padding: 0;
  height: 0; line-height: 0;
  clear: both;
}
.center { text-align: center; }

footer.about { margin: 0; }


footer.about > div.inner > div.hgroup {
  margin: 0; padding: 0;
  text-align: center;
  border: none;
}
footer.about > div.inner > div.hgroup > h2 {
  margin: 0; padding: 0.2em;
  font-size: inherit;
}
footer.about.ui-expander > div.inner > div.hgroup span.title:before {
  content: "";
}
div.copyrights {
  max-width: 700px;
  text-align: center;
  padding: 10px;
  margin: 0 auto;
}
div.copyright { margin: 0; }
div.credits {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  justify-content: flex-start;
  max-width: 720px;
  margin: 0 auto;
}
div.credits > * {

  vertical-align: top;
  text-align: left;
  flex: 1 0 220px;
  margin: 0;
  padding: 10px;
}
div.credits > *:empty { padding: 0 10px; height: 0; }
ul.credits, ul.credits li {
  margin: 0; padding: 0;
  list-style-type: none;
}
ul.credits li {
  margin-left: 1em;
  text-indent: -1em;
}
div.license {
  max-width: 700px;
  margin: 0 auto;
  padding: 10px;
}

table {
  border-collapse: collapse;
  border-color: #c0bfbc;
  border-width: 1px;
}
td, th {
  padding: 0.5em;
  vertical-align: top;
  border-color: #c0bfbc;
  border-width: 1px;
}
thead td, thead th, tfoot td, tfoot th {
  font-weight: bold;
  color: rgb(75,75,73);
  background-color: rgb(234,234,233);
}
th {
  text-align: left;
  font-weight: bold;
  color: rgb(75,75,73);
}

ul, ol, dl { margin: 0; padding: 0; }
li {
  margin: 1em 0 0 0;
  margin-left: 2.4em;
  padding: 0;
}
li:first-child { margin-top: 0; }
@media (max-width: 480px) {
  li {
    margin-left: 1.44em;
  }
}
dt { margin-top: 1em; }
dt:first-child { margin-top: 0; }
dt + dt { margin-top: 0; }
dd {
  margin: 0.2em 0 0 0;
  margin-left: 1.44em;
}
dd + dd { margin-top: 1em; }
ol.compact li { margin-top: 0.2em; }
ul.compact li { margin-top: 0.2em; }
ol.compact li:first-child { margin-top: 0; }
ul.compact li:first-child { margin-top: 0; }
dl.compact dt { margin-top: 0.2em; }
dl.compact dt:first-child { margin-top: 0; }
dl.compact dt + dt { margin-top: 0; }

a {
  text-decoration: none;
  color: rgb(43,107,185);
}
a:visited { color: rgb(147,64,167); }
a:hover {
  border-bottom: dotted 1px rgb(43,107,185);
}
p a {
  border-bottom: dotted 1px rgb(43,107,185);
}
a img { border: none; }






.yelp-svg-fill {










  fill: rgb(75,75,73);

}
.yelp-svg-stroke {
  stroke: rgb(75,75,73);
}





div.title {
  margin: 0 0 0.2em 0;
  font-weight: bold;
  color: rgb(75,75,73);
}
div.title h1, div.title h2, div.title h3, div.title h4, div.title h5, div.title h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}
div.desc { margin: 0 0 0.2em 0; }
div.contents + div.desc { margin: 0.2em 0 0 0; }
pre.contents {
  padding: 0.5em 1em 0.5em 1em;
}
div.links-center { text-align: center; }
div.links .desc { color: rgb(102,102,100); }
div.links > div.inner > div.region > div.desc { font-style: italic; }
div.links ul { margin: 0; padding: 0; }
div.links ul ul {
  margin-left: 1em;
}
li.links {
  margin: 0.5em 0 0.5em 0;
  padding: 0;

  list-style-type: none;
}
li.links-head {
  margin-top: 1em;
  color: rgb(102,102,100);
  border-bottom: solid 1px #c0bfbc;
}
div.sectionlinks {
  display: inline-block;
  padding: 0 1em 0 1em;
  background-color: rgb(241,246,253);
  border: solid 1px rgb(43,107,185);
}
div.sectionlinks ul { margin: 0; }
div.sectionlinks li { padding: 0; }
div.sectionlinks div.title { margin: 0.5em 0 0.5em 0; }
div.sectionlinks div.sectionlinks {
  display: block;
  margin: 0.5em 0 0 0;
  padding: 0;
  border: none;
}
div.sectionlinks div.sectionlinks li {
  padding-left: 1.44em;
}
nav.prevnext { clear: both; }

div.region > nav.prevnext, div.region + nav.prevnext { margin-top: 1em; }
nav.prevnext > div.inner { float: right; }


nav.prevnext > div.inner > * {
  background-color: rgb(244,244,244);
  display: inline-block;
  position: relative;
  height: 1.44em;
  padding: 0.2em 0.83em 0 0.83em;
  margin-bottom: 1em;




  border: solid 1px #c0bfbc;






}
nav.prevnext > div.inner > span { visibility: hidden; }



nav.prevnext > div.inner > a + a {

  border-left: none;
}
nav.prevnext > div.inner > a:first-child {
  border-top-left-radius: 2px;



  border-bottom-left-radius: 2px;
}
nav.prevnext > div.inner > a:last-of-type {
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
}
div.serieslinks {
  display: inline-block;
  padding: 0 1em 0 1em;
  background-color: rgb(241,246,253);
  border: solid 1px rgb(43,107,185);
}
div.serieslinks ul { margin: 0; }
div.serieslinks li { padding: 0; }
div.serieslinks div.title { margin: 0.5em 0 0.5em 0; }
pre.numbered {
  margin: 0;
  padding: 0.5em;
  float: left;
  margin-right: 0.5em;
  text-align: right;
  color: rgb(102,102,100);
  background-color: rgb(253,251,233);
}
div.code {

  border: solid 1px #c0bfbc;
}
div.example {
  border-left: solid 4px #c0bfbc;
  padding-left: 1em;
}
div.example > div.inner > div.region > div.desc { font-style: italic; }
div.figure {
  display: inline-block;
  max-width: 100%;
  margin-left: 1.72em;
}
div.figure > div.inner {
  padding: 4px;
  color: rgb(75,75,73);
  border: solid 1px #c0bfbc;
  background-color: rgb(244,244,244);
}
@media (max-width: 960px) {
  div.figure {
    margin-left: 0;
  }
}
a.figure-zoom {
  float: right;
}
a.figure-zoom:hover { border-bottom: none; }
a.figure-zoom:hover .yelp-svg-fill { fill: #3584e4; }
a.figure-zoom:hover .yelp-svg-stroke { stroke: #3584e4; }
a.figure-zoom .figure-zoom-out { display: none; }
a.figure-zoom.figure-zoomed .figure-zoom-in { display: none; }
a.figure-zoom.figure-zoomed .figure-zoom-out { display: inline-block; }
div.figure > div.inner > div.region > div.contents {
  margin: 0;
  padding: 0.5em 1em 0.5em 1em;
  clear: both;
  text-align: center;
  color: #000000;
  border: solid 1px #c0bfbc;
  background-color: #ffffff;
}
div.list > div.inner > div.title { margin-bottom: 0.5em; }
div.listing > div.inner { margin: 0; padding: 0; }
div.listing > div.inner > div.region > div.desc { font-style: italic; }
div.note {
  padding: 6px;
  border: solid 1px rgb(234,234,233);
  background-color: rgb(244,244,244);
  display: flex;
  flex-flow: row;
}
div.note > * { margin: 0 6px; padding: 0; min-height: 24px; min-width: 24px; }
div.note-warning > svg .yelp-svg-fill {
  fill: #c01c28;
}
div.note-danger {

  border-color: #c01c28;
}
div.note-important > svg .yelp-svg-fill {




  fill: #3584e4;
}
div.note-danger > svg .yelp-svg-fill {
  fill: #c01c28;
  animation-name: yelp-note-danger;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
}
@keyframes yelp-note-danger {
  from { fill: #c01c28 }
  50%  { fill: #c0bfbc }
  to   { fill: #c01c28 }
}
div.note-sidebar {
  float: right;
  max-width: 206px;
  margin-left: 20px;
  padding: 6px;
}






div.quote {
  padding: 0;
  min-height: 48px;
}
div.quote > div.inner:before {
  float: left;
  content: '“';
  font-family: "Century Schoolbook L";
  font-size: 48px;
  font-weight: bold;
  line-height: 1em;
  margin: 0; padding: 0;
  height: 48px;
  width: 48px;
  text-align: center;
  color: rgb(234,234,233);
}
div.quote > div.inner > div.title {
  margin: 0;
  margin-left: 48px;
}
blockquote {
  margin: 0; padding: 0;
  margin-left: 48px;
}
blockquote > *:first-child { margin-top: 0; }
div.quote > div.inner > div.region > div.cite {
  margin-top: 0.5em;
  margin-left: 48px;
  color: rgb(102,102,100);
}
div.quote > div.inner > div.region > div.cite::before {
  
  content: '― ';
  color: rgb(102,102,100);
}
div.screen {
  background-color: rgb(244,244,244);
  border: solid 1px #c0bfbc;
}
ol.steps, ul.steps {

  padding: 0.5em 1em 0.5em 1em;
  border-left: solid 4px #f8e45c;


  box-shadow: 0 1px 2px #c0bfbc;
}
ol.steps .steps {
  padding: 0;
  border: none;
  background-color: unset;


  box-shadow: none;
}
li.steps { margin-left: 1.44em; }
li.steps li.steps { margin-left: 2.4em; }
div.synopsis > div.inner > div.region > div.contents,
div.synopsis > div.contents, div.synopsis > pre.contents {
  padding: 0.5em 1em 0.5em 1em;
  border-top: solid 1px;
  border-bottom: solid 1px;
  border-color: rgb(43,107,185);
  background-color: rgb(244,244,244);
}
div.synopsis > div.inner > div.region > div.desc { font-style: italic; }
div.synopsis div.code {
  background: unset;
  border: none;
  padding: 0;
}
div.synopsis div.code > pre.contents { margin: 0; padding: 0; }
div.unknown > div.inner > div.region > div.desc { font-style: italic; }
div.table > div.desc { font-style: italic; }
tr.shade {
  background-color: rgb(244,244,244);
}
td.shade {
  background-color: rgb(244,244,244);
}
tr.shade td.shade {
  background-color: rgb(234,234,233);
}

span.app { font-style: italic; }
span.cmd {
  font-family: monospace,monospace; font-size: 0.83em;
  background-color: rgb(244,244,244);
  padding: 0 0.2em 0 0.2em;
}
span.cmd span.cmd { background-color: unset; padding: 0; }
pre span.cmd { background-color: unset; padding: 0; }
span.code {
  font-family: monospace,monospace; font-size: 0.83em;
  border-bottom: solid 1px rgb(234,234,233);
}
span.code span.code { border: none; }
pre span.code { border: none; }
span.em { font-style: italic; }
span.em-bold {
  font-style: normal; font-weight: bold;
  color: rgb(75,75,73);
}
pre span.error {
  color: rgb(173,25,36);
}
span.file { font-family: monospace,monospace; font-size: 0.83em; }
span.gui, span.guiseq { color: rgb(75,75,73); }
span.input { font-family: monospace,monospace; font-size: 0.83em; }
pre span.input {
  font-weight: bold;
  color: rgb(75,75,73);
}
kbd {
  font-family: inherit;
  font-size: inherit;
  color: rgb(75,75,73);
  background-color: rgb(244,244,244);
  border: solid 1px #c0bfbc;


  border-radius: 2px;


  box-shadow: 1px 1px 2px #c0bfbc;
  margin: 0 0.2em 0 0.2em;
  padding: 0.2em 0.5em 0 0.5em;
  white-space: nowrap;
}
kbd.key-Fn {
  font-weight: bold;
  color: rgb(43,107,185);
}
span.key a {
  border-bottom: none;
}
a > kbd {
  color: rgb(43,107,185);
  border-color: rgb(43,107,185);
}
span.keyseq {
  color: rgb(75,75,73);
  white-space: nowrap
}
span.output { font-family: monospace,monospace; font-size: 0.83em; }
pre span.output {
  color: #000000;
}
pre span.prompt {
  color: rgb(75,75,73);
}
span.sys { font-family: monospace,monospace; font-size: 0.83em; }
span.var { font-style: italic; }

.ui-tile-img .media-controls { display: none; }
span.media-audio, span.media-video { display: inline-block; }
audio, video { display: block; margin: 0; }
div.media > div.inner { display: inline-block; text-align: center; }
.media-controls {
  min-width: 24em;
  height: 24px;
  margin: 0; padding: 0;
  border-left: solid 1px #000000;
  border-right: solid 1px #000000;
  border-bottom: solid 1px #000000;
  background-color: rgb(75,75,73);
  color: #ffffff;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  display: flex;
  align-items: center;
}
.media-audio .media-controls {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}
.media-controls > * {
  flex: 0 1 auto;
}
.media-controls > input.media-range {
  flex: 1 0 auto;
  background-color: rgb(75,75,73);
  margin: 0 10px;
  -webkit-appearance: none;
}
input.media-range::-webkit-slider-runnable-track {
  height: 4px;
  background: rgb(102,102,100);
  border-radius: 2px;
}
input.media-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  height: 16px;
  width: 16px;
  border-radius: 8px;
  background: rgb(234,234,233);
  border: solid 1px rgb(75,75,73);
  margin-top: -6px;
}
input.media-range::-webkit-slider-thumb:hover,
input.media-range::-webkit-slider-thumb:focus {
  background: rgb(244,244,244);
}
input.media-range::-moz-range-track {
  height: 4px;
  background: rgb(102,102,100);
  border-radius: 2px;
}
input.media-range::-moz-range-thumb {
  -webkit-appearance: none;
  height: 16px;
  width: 16px;
  border-radius: 8px;
  background: rgb(234,234,233);
  border: solid 1px rgb(75,75,73);
  margin-top: -6px;
}
.media-controls-audio {
  border-top: solid 1px #000000;
  border-radius: 4px;
}
button.media-play {
  height: 24px;
  padding: 0 2px 0 2px; line-height: 0;

  background-color: rgb(75,75,73);
  border: none;
  border-right: solid 1px #000000;
}
button.media-play:hover, button.media-play:focus {
  background-color: rgb(43,107,185);
}
button.media-play .yelp-svg-fill { fill: rgb(244,244,244); }
button.media-play .media-pause { display: none; }
button.media-play-playing .media-play { display: none; }
button.media-play-playing .media-pause { display: inline; }




.media-time {

  margin: 0;
  font-size: 16px;
  height: 24px;
  line-height: 24px;
}
.media-time > span {
  padding-right: 8px;
}
.media-duration {
  font-size: 12px;
  color: rgb(234,234,233);
  opacity: 0.8;
}
div.media-ttml { margin: 0; padding: 0; }
.media-ttml-pre { white-space: pre; }
.media-ttml-nopre { white-space: normal; }
div.media-ttml-div {
  text-align: left;
  display: none;
  margin: 0; padding: 0;
}
div.media-ttml-p {
  text-align: left;
  display: none;
  margin: 6px auto 0 auto;
  padding: 6px;
  max-width: 24em;
  border: solid 1px rgb(107,99,41);
  background-color: rgb(253,251,233);


  box-shadow: 2px 2px 4px #c0bfbc;
}
div.yelp-data { display: none; }
.ui-expander > div.inner > div.title span.title,
.ui-expander > div.inner > div.hgroup span.title {
  cursor: default;
}
.ui-expander > div.inner > div.title span.title:before,
.ui-expander > div.inner > div.hgroup span.title:before {

  font-weight: bold;
  content: "⌃";
  display: inline-block;
  margin: 0;

  color: rgb(43,107,185);
  transform: translateY(0.2em) rotate(0deg);
  -webkit-transform: translateY(0.2em) rotate(0deg);
  transition: transform 0.2s linear;
  transform-origin: 50% 30%;
  -webkit-transform-origin: 50% 30%;
  -webkit-transition: -webkit-transform 0.2s linear;
  margin: 0 0.2em;
}
.ui-expander-c > div.inner > div.hgroup { border-bottom: none; }
.ui-expander-e > div.inner > div.title span.title:before,
.ui-expander-e > div.inner > div.hgroup span.title:before {


  transform: translateY(0.2em) rotate(180deg);
  -webkit-transform: translateY(0.2em) rotate(180deg);
}
.ui-expander > div.inner > div.title:hover,
.ui-expander > div.inner > div.hgroup:hover * {
  color: rgb(43,107,185);
}
.ui-expander > div.inner > div.hgroup > .subtitle {
  margin-left: 2em;
}
.ui-expander-c > div.inner > div.region {
  display: none;
}
.ui-expander-e > div.inner > div.region {
  animation-name: yelp-ui-expander-e;
  animation-duration: 0.2s;
  animation-fill-mode: forwards;
  transform-origin: 0 0;
}
@keyframes yelp-ui-expander-e {
  from { transform: scaleY(0); }
  to   { transform: scaleY(1); }
}
div.ui-expander-preview > div.inner > div.region {
  transform-origin: 0 0;
  transition: transform 0.2s linear, background-color 0.2s linear;
  animation-name: none;
}
div.ui-expander-preview.ui-expander-c > div.inner {
  max-height: 100px;
  overflow: hidden;
}

div.ui-expander-preview.ui-expander-c > div.inner > div.region {
  display: block;
  transform: scaleY(0.4);
  background-color: rgb(244,244,244);
}
div.ui-expander-preview.ui-expander-c > div.inner > div.region:hover {
  background-color: rgb(241,246,253);
  cursor: zoom-in;
}
div.ui-expander-preview.ui-expander-c > div.inner > div.region:hover * {
  cursor: zoom-in;
}
div.ui-expander-preview > div.inner > div.region > * {
  transform-origin: 0 0;
  transition: transform 0.2s linear;
}
div.ui-expander-preview.ui-expander-c > div.inner > div.region > * {
  transform: scaleX(0.4);
}
section.ui-expander-preview > div.inner > div.region > div.contents{
  transform-origin: 0 0;

  transition: transform 0.2s linear, background-color 0.2s linear;
}
section.ui-expander-preview.ui-expander-c > div.inner {
  max-height: 140px;
  overflow: hidden;
}
section.ui-expander-preview.ui-expander-c > div.inner > div.region {
  display: block;
}
section.ui-expander-preview.ui-expander-c > div.inner > div.region > div.contents {
  transform: scaleY(0.6);
  background-color: rgb(244,244,244);
}
section.ui-expander-preview > div.inner > div.region > div.contents > * {
  transform-origin: 0 0;
  transition: transform 0.2s linear;
}
section.ui-expander-preview.ui-expander-c > div.inner > div.region > div.contents > * {
  transform: scaleX(0.6);
}
section.ui-expander-preview.ui-expander-c > div.inner > div.region > div.contents:hover {
  background-color: rgb(241,246,253);
  cursor: zoom-in;
}
@media only screen and (max-width: 480px) {
  article > div.region > div.contents > div.example,
  article > div.region > section > div.inner > div.region > div.contents > div.example {
    margin-left: -10px;
    margin-right: -10px;
  }

  div.example {
    padding-left: 6px;
    padding-right: 10px;
  }
  article > div.region > div.contents > div.note,
  article > div.region > section > div.inner > div.region > div.contents > div.note {
    margin-left: -10px;
    margin-right: -10px;
    padding-left: 10px;
    padding-right: 10px;
  }
  article > div.region > div.contents > div.note,
  article > div.region > section > div.inner > div.region > div.contents > div.note {
    border-left: none;
    border-right: none;
  }
  div.note-sidebar {
    float: none;
    max-width: none;
    margin-left: inherit;
    margin-right: inherit;
    padding-left: inherit;
    padding-right: inherit;
  }
  div.note-sidebar > div.inner > div.title,
  div.note-sidebar > div.inner > div.region > div.contents {
    margin-left: 10px;
    margin-right: 10px;
  }
  article > div.region > div.contents > div.steps,
  article > div.region > section > div.inner > div.region > div.contents > div.steps {
    margin-left: -10px;
    margin-right: -10px;
  }
  div.steps > div.inner > div.title {
    margin-left: 10px;
    margin-right: 10px;
  }
  ol.steps, ul.steps {
    box-shadow: none;
    padding: 0;
    padding-left: 6px;
    padding-right: 10px;
  }
}

.hljs a {
  color: inherit;
  border-bottom: dotted 1px rgb(43,107,185);
}
.hljs a:hover, .hljs a:hover * { color: rgb(43,107,185); }
.hljs-addition {
  color: rgb(46,121,73);
  background-color: rgb(227,250,236);
}
.hljs-deletion {
  color: rgb(173,25,36);
  background-color: rgb(251,243,244);
}
.hljs-emphasis  { font-style: italic; }
.hljs-strong    { font-weight: bold; }
.hljs-attr      { color: rgb(43,107,185); }
.hljs-attribute { color: rgb(107,99,41); }
.hljs-built_in  { color: rgb(150,96,43); }
.hljs-bullet    { color: rgb(46,121,73); }
.hljs-class     { }
.hljs-code      { }
.hljs-comment   { color: rgb(102,102,100); }
.hljs-doctag    { }
.hljs-formula   { color: rgb(75,75,73); }
.hljs-function  { }
.hljs-keyword   { color: rgb(147,64,167); }
.hljs-link      { color: rgb(150,96,43); }
.hljs-literal   { color: rgb(150,96,43); }
.hljs-meta      { color: rgb(150,96,43); }
.hljs-name      { color: rgb(173,25,36); }
.hljs-number    { color: rgb(150,96,43); }
.hljs-params    { color: rgb(150,96,43); }
.hljs-quote     { color: rgb(102,102,100); }
.hljs-regexp    { color: rgb(173,25,36); }
.hljs-rest_arg  { }
.hljs-section   { color: rgb(43,107,185); }
.hljs-string    { color: rgb(46,121,73); }
.hljs-subst     { }
.hljs-symbol    { color: rgb(46,121,73); }
.hljs-tag       { color: rgb(173,25,36); }
.hljs-title     { color: rgb(43,107,185); }
.hljs-type      { }
.hljs-variable  { }
.hljs-selector-attr  { }
.hljs-selector-class { color: rgb(173,25,36); }
.hljs-selector-id    { color: rgb(173,25,36); }
.hljs-selector-tag   { color: rgb(147,64,167); }
.hljs-template-tag      { }
.hljs-template-variable { }


div.links .desc a {
  color: inherit;
}
div.links .desc a:hover {
  color: rgb(43,107,185);
}
a.bold { font-weight: bold; }


div.link-button {
  font-size: 1.2em;
  font-weight: bold;
}
.link-button a {
  display: inline-block;
  background-color: #3584e4;
  color: #ffffff;
  text-shadow: rgb(43,107,185) 1px 1px 0px;
  border: solid 1px rgb(43,107,185);
  padding: 0.2em 0.5em 0.2em 0.5em;


  border-radius: 2px;
}
.link-button a:visited {
  color: #ffffff;
}
.link-button a:hover {
  text-decoration: none;
  color: #ffffff;
  box-shadow: 1px 1px 1px #3584e4;
}
div.link-button a .desc {
  display: block;
  font-weight: normal;
  font-size: 0.83em;
  color: rgb(244,244,244);
}


div.floatleft {
  float: left;
  margin-right: 1em;
}
div.floatright {
  float: right;
  margin-left: 1em;
}
div.floatstart {
  float: left;
  margin-right: 1em;
}
div.floatend {
  float: right;
  margin-left: 1em;
}


div.title-heading h1, div.title-heading h2, div.title-heading h3,
div.title-heading h4, div.title-heading h5, div.title-heading h6 {
  font-size: 1.72em;
  font-weight: bold;
}
ul.links-heading > li { margin: 2em 0 2em 0; padding: 0; }
div.links-heading > a { font-size: 1.72em; font-weight: bold; }
ul.links-heading > li > div.desc { margin-top: 0.5em; }

div.links-uix-hover {
  position: relative;
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  justify-content: flex-start;

}
ul.links-uix-hover { flex-grow: 1; }
ul.links-uix-hover li { margin: 0; padding: 0; }
ul.links-uix-hover a {
  display: block;
  padding: 8px 1.2em;
  border-bottom: none;
}
ul.links-uix-hover a:hover, ul.links-uix-hover a:focus {

  background: rgb(241,246,253);
}
ul.links-uix-hover img {
  display: block;
  position: absolute;
  top: 0; left: 0;
  visibility: hidden;
  opacity: 0.0;
  transition: opacity 0.6s, visibility 0.6s;
}
ul.links-uix-hover a:hover img, ul.links-uix-hover a:focus img {
  visibility: visible;
  opacity: 1.0;
  transition: opacity 0.2s, visibility 0.2s;
}
@media only screen and (max-width: 480px) {
  div.links-uix-hover-img { display: none; }
  ul.links-uix-hover img { display: none; }
  ul.links-uix-hover li {
    margin-left: -10px; margin-right: -10px;

  }
  ul.links-uix-hover li a {
    padding: 10px;
  }
}


div.ui-overlay-screen {
  position: fixed;
  margin: 0;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgb(75,75,73);
  animation-name: yelp-overlay-screen;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
}
@keyframes yelp-overlay-screen {
  from { opacity: 0.0; }
  to   { opacity: 0.6; }
}
div.ui-overlay {
  display: none;
  position: fixed;
  text-align: center;

  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
div.ui-overlay-show {
  animation-name: yelp-overlay-slide;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
}
@keyframes yelp-overlay-slide {
  from { transform: translateY(-400px) translateX(-50%); }
  to   { transform: translateY(0) translateX(-50%); }
}
div.ui-overlay > div.inner {
  display: inline-block;
  padding: 8px;
  background-color: rgb(244,244,244);
  border: solid 1px rgb(75,75,73);
  box-shadow: 0 2px 4px rgb(75,75,73);


  border-radius: 6px;
  text-align: left;
}
div.ui-overlay img, div.ui-overlay video {
  max-height: 80vh;
  max-width: 90vw;
}
div.ui-overlay > div.inner > div.title { margin-top: -4px; }
a.ui-overlay-close {
  display: block;
  float: right;
  width: 23px; height: 23px;
  font-size: 18px; line-height: 23px;
  font-weight: bold;
  margin-top: -28px;
  margin-right: -24px;
  padding: 1px 2px 3px 2px;
  text-align: center;
  border: none;


  border-radius: 50%;
  background-color: #000000;

  background-image: radial-gradient(circle farthest-corner at 50% 30%, rgb(75,75,73), #000000);

  border: 3px solid #ffffff; 
  color: #ffffff;
  box-shadow: 0 2px 2px #000000;
  text-shadow: 0 2px 2px #000000;
}



div.links-tiles {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  justify-content: stretch;
  vertical-align: top;
  clear: both;
  margin: 0 -10px;
}
div.links-tile {
  max-width: 300px;
  flex: 1 0 300px;
  vertical-align: top;
  margin: 0;
  padding: 10px;
}
div.links-tiles > div.links-tile { max-width: none; }
div.links-tile:empty { padding: 0 10px; height: 0; }
div.links-tile > a {
  display: block;
  vertical-align: top;


  padding: 9px;
  border-radius: 6px;
  border: solid 1px #ffffff;
}
div.links-tile > a:hover {
  border: solid 1px rgb(241,246,253);
  box-shadow: 0 1px 2px #3584e4;
}
div.links-tile > a > span.links-tile-img {
  display: block;
  text-align: center;
}
div.links-tile > a > span.links-tile-img > img {
  width: 100%;
  border-radius: 3px;
}
div.links-tile > a > span.links-tile-text > span.title {
  display: block;
  font-weight: bold;
}
div.links-tile > a > span.links-tile-text > * + span.title {

  margin-top: 0.5em;
}
div.links-tile > a > span.links-tile-text > span.desc {

  display: block;
  margin: 0.2em 0 0 0;
  color: rgb(75,75,73);
}



div.links-grid-container {
  margin-left: -10px;
  margin-right: -10px;
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  justify-content: flex-start;
  vertical-align: top;
  clear: both;
}

div.links-grid {
  flex: 1 0 300px;
  padding: 10px;
}
div.links-grid:empty { padding: 0 10px; height: 0; }
div.links-grid-link { font-weight: bold; }
div.links-grid > div.desc {
  margin: 0.2em 0 0 0;
  color: rgb(75,75,73);
}



div.links-norwich {
  width: 900px;
}
div.links-norwich-primary {


  float: left;
  vertical-align: top;
  margin: 0; padding: 0;

}
div.links-norwich-big {
  vertical-align: top;
  display: inline-block;
  background: rgb(241,246,253);
  background: radial-gradient(ellipse 800px 1200px at 100% 20px, rgb(241,246,253), #3584e4);
  margin: 0 20px 20px 0;

}
div.links-norwich-big + div.links-norwich-big {

  background: rgb(253,251,233);
  background: radial-gradient(ellipse 800px 1200px at 100% 20px, rgb(253,251,233), #f8e45c);
}
div.links-norwich-big a {
  display: block;
  width: 230px;
  height: 500px;
  height: 320px;

  padding: 9px;
  font-size: 1.2em;
  color:  #000000;
  border: solid 1px #3584e4;
  background-repeat: no-repeat;

  background-position: right -80px bottom -80px;
}

div.links-norwich-big a:hover {
  border: solid 1px #3584e4;
  box-shadow: 2px 2px 2px #3584e4;


}
div.links-norwich-big a span.title {
  font-size: 1.2em;
  font-weight: bold;
}
div.links-norwich-big a .desc {
  color:  #000000;
  font-weight: normal;
}
div.links-norwich-secondary {





  vertical-align: top;
  margin: 0; padding: 0;
}
div.links-norwich-small {
  display: inline-block;
  vertical-align: top;
  background: rgb(244,244,244);
  margin: 0 20px 20px 0;

}
div.links-norwich-small a {
  display: block;
  width: 140px;
  height: 140px;
  padding: 9px;
  font-weight: bold;
  color:  #000000;
  border: solid 1px #c0bfbc;
  background-repeat: no-repeat;
  background-position: right 4px bottom 4px;
}
div.links-norwich-small a:hover {
  border: solid 1px #c0bfbc;
  box-shadow: 2px 2px 2px #3584e4;
}
@media only screen and (max-width: 900px) {
  div.links-norwich {
    width: 720px;
  }
}
@media only screen and (max-width: 720px) {
  div.links-norwich {

    width: 540px;



  }
}
@media only screen and (max-width: 540px) {
  div.links-norwich {
    width: 100%;
  }
  div.links-norwich-big {
    width: 100%;
    margin-right: 0;
  }
  div.links-norwich-big a {
    width: auto;
  }
}



div.links-divs {
  margin-left: -10px;
  margin-right: -10px;
}


a.linkdiv {
  display: block;
  margin: 0;
  padding: 10px;
  border-bottom: none;
}
a.linkdiv:hover {
  text-decoration: none;
  background-color: rgb(241,246,253);
}
a.linkdiv > span.title {
  display: block;
  margin: 0;
  font-size: 1em;
  font-weight: bold;
  color: inherit;
}
a.linkdiv > span.desc {
  display: block;
  margin: 0.2em 0 0 0;
  color: rgb(75,75,73);
}
span.linkdiv-dash { display: none; }

div.links-twocolumn {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  justify-content: flex-start;
  vertical-align: top;
  margin-left: -10px;
  margin-right: -10px;
}
div.links-twocolumn > div.links-divs {
  flex: 1 0 320px;
  vertical-align: top;
  margin: 0;
}


div.comment {
  padding: 0.5em;
  border: solid 2px #c01c28;
  background-color: rgb(251,243,244);
}
div.comment div.comment {
  margin: 1em 1em 0 1em;
}
div.comment div.cite {
  margin: 0 0 0.5em 0;
  font-style: italic;
}


div.tree > div.inner > div.title { margin-bottom: 0.5em; }
ul.tree {
  margin: 0; padding: 0;
  list-style-type: none;
}
li.tree { margin: -2px 0 0 0; padding: 0; }
li.tree div { margin: 0; padding: 0; }
ul.tree ul.tree {
  margin-left: 1.44em;
}
div.tree-lines ul.tree { margin-left: 0; }


span.hi {
  background-color: rgb(253,251,233);
}
span.hi.hi-ins {



  background-color: rgb(227,250,236);

}


span.hi.hi-del {
  background-color: rgb(251,243,244);
  text-decoration: line-through;



}



span.hi.hi-ins ins { text-decoration: none; }
span.hi.hi-del del { text-decoration: none; }
span.hi.hi-red { background-color: rgb(251,243,244); }
span.hi.hi-orange { background-color: rgb(255,243,231); }
span.hi.hi-yellow { background-color: rgb(253,251,233); }
span.hi.hi-green { background-color: rgb(227,250,236); }
span.hi.hi-blue { background-color: rgb(241,246,253); }
span.hi.hi-purple { background-color: rgb(249,243,250); }
span.hi.hi-gray { background-color: rgb(244,244,244); }





dt.gloss-term {
  margin-top: 1.2em;
  font-weight: bold;
  color: rgb(75,75,73);
}
dt.gloss-term:first-child, dt.gloss-term + dt.gloss-term { margin-top: 0; }
dt.gloss-term + dd { margin-top: 0.2em; }
dd.gloss-link {
  margin: 0 0.2em 0 0.2em;
  border-left: solid 4px #3584e4;
  padding-left: 1em;
}
dd.gloss-def {
  margin: 0 0.2em 1em 0.2em;
  border-left: solid 4px #c0bfbc;
  padding-left: 1em;
}
a.gloss-term {
  position: relative;
  border-bottom: dashed 1px #3584e4;
}
a.gloss-term:hover {
  text-decoration: none;
  border-bottom-style: solid;
}
span.gloss-desc {
  display: none;
  position: absolute;
  z-index: 100;
  margin: 0;
  left: 0;
  top: 1.2em;
  padding: 0.2em 0.5em 0.2em 0.5em;
  min-width: 12em;
  max-width: 24em;
  overflow: hidden;
  color: rgb(75,75,73);
  background-color: rgb(253,251,233);
  border: solid 1px #f8e45c;


  box-shadow: 2px 2px 4px #c0bfbc;
}
a.gloss-term:hover span.gloss-desc, a.gloss-term:focus span.gloss-desc {
  display: inline-block;
  animation-name: yelp-gloss-fade;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}
@keyframes yelp-gloss-fade {
  from { opacity: 0.0; }
  to   { opacity: 1.0; }
}


.if-if { display: none; }
.if-choose, .if-when, .if-else { margin: 0; padding: 0; }
.if-choose > .if-when { display: none; }
.if-choose > .if-else { display: block; }
.if-if.if__not-target-mobile { display: block; }
.if-choose.if__not-target-mobile > .if-when { display: block; }
.if-choose.if__not-target-mobile > .if-else { display: none; }
@media only screen and (max-width: 480px) {
  .if-if.if__target-mobile { display: block; }
  .if-if.if__not-target-mobile { display: none; }
  .if-choose.if__target-mobile > .if-when { display: block; }
  .if-choose.if__target-mobile > .if-else { display: none; }
  .if-choose.if__not-target-mobile > .if-when { display: none; }
  .if-choose.if__not-target-mobile > .if-else { display: block; }
}

Modified help/html/bookmarks.html from [50bc096509] to [049dbe6bb7].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Bookmarks</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</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#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></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Bookmarks</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">Streamtuner2 allows to bookmark favourite streams/stations.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Use right click for a stations <span class="guiseq"><span class="gui">context menu</span> ▸ <span class="gui">bookmark</span></span></p></li>
<li class="list"><p class="p">Or just press <span class="key"><kbd>F8</kbd></span> on a selected radio.</p></li>
<li class="list"><p class="p">Else use the main menu <span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">bookmark</span></span></p></li>
</ul></div></div></div>
<p class="p">Once bookmarked the station is listed under <span class="guiseq"><span class="gui"><span class="key"><kbd>bookmarks</kbd></span></span> ▸ <span class="gui"><span class="key"><kbd>favourite</kbd></span></span></span>.</p>
<p class="p">Additionally every appearance of the station in other channel
        tabs gets a ★ star icon.</p>
</div>
<div id="editing" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Editing</span></h2></div>
<div class="region"><div class="contents">
<p class="p">Entries can be removed from the bookmark list again. Use
        <span class="guiseq"><span class="gui">Edit</span> ▸ <span class="gui">Delete</span></span> or the <span class="key"><kbd>DEL</kbd></span>
	key for that.</p>
<p class="p">You can also manually adapt an entry via <span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">Edit</span></span>
        or by pressing <span class="key"><kbd>F3</kbd></span>.
	</p>
</div></div>
</div></div>
<div id="other" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Subcategories</span></h2></div>
<div class="region"><div class="contents">
<p class="p">The bookmarks tab can display other categories besides "favourite". For example the
	search feature creates a "search", while the "timer" and "links" plugins also display
	lists here.</p>










<div class="note note-bug" title="Bug"><div class="inner"><div class="region"><div class="contents"><p class="p">However the favourite list itself can not yet be categorized
	further.</p></div></div></div></div>

<div class="links topiclinks"><div class="inner"><div class="region">
<div class="linkdiv "><a class="linkdiv" href="search.html" title="Searching"><span class="title">Searching</span><span class="linkdiv-dash"> — </span><span class="desc">Quicksearch field and Ctrl+F compound search window.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="timer.html" title="Timer"><span class="title">Timer</span><span class="linkdiv-dash"> — </span><span class="desc">Programming recurring play and recording events.</span></a></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="streams.html#actions" title="Actions">Actions</a></li>
<li class="links "><a href="channels.html#list" title="Available channels">Available channels</a></li>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|






<
<
|

|










|
|
|







|
<
|
|



>
>
>
>
>
>
>
>
>
>
|
|
>
|


|

<
|
|
|







|

|
<
<
|

1
2
3
4
5
6
7
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
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Bookmarks</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</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#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></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Bookmarks</span></h1></div>
<div class="region">
<div class="contents pagewide">
<p class="p">Streamtuner2 allows to bookmark favourite streams/stations.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Use right click for a stations <span class="guiseq"><span class="gui">context menu</span> ▸ <span class="gui">bookmark</span></span></p></li>
<li class="list"><p class="p">Or just press <span class="key"><kbd>F8</kbd></span> on a selected radio.</p></li>
<li class="list"><p class="p">Else use the main menu <span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">bookmark</span></span></p></li>
</ul></div></div></div>
<p class="p">Once bookmarked the station is listed under <span class="guiseq"><span class="gui"><span class="key"><kbd>bookmarks</kbd></span></span> ▸ <span class="gui"><span class="key"><kbd>favourite</kbd></span></span></span>.</p>
<p class="p">Additionally every appearance of the station in other channel
        tabs gets a ★ star icon.</p>
</div>
<section id="editing"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Editing</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">Entries can be removed from the bookmark list again. Use
        <span class="guiseq"><span class="gui">Edit</span> ▸ <span class="gui">Delete</span></span> or the <span class="key"><kbd>DEL</kbd></span>
	key for that.</p>
<p class="p">You can also manually adapt an entry via <span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">Edit</span></span>
        or by pressing <span class="key"><kbd>F3</kbd></span>.
	</p>
</div></div>
</div></section><section id="other"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Subcategories</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">The bookmarks tab can display other categories besides "favourite". For example the
	search feature creates a "search", while the "timer" and "links" plugins also display
	lists here.</p>
<div class="note note-bug" title="Bug">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m7 8v7h0.0078a5 6.3027 0 0 0 3.9922 5.867v-6.867h2v6.871a5 6.3027 0 0 0 3.988-5.871h0.012v-7h-10z"></path>
 <path class="yelp-svg-fill" d="m12 3a4 4 0 0 0-4 4h8a4 4 0 0 0-4-4z"></path>
 <path class="yelp-svg-fill" d="m16 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m9.2045 16.361h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m21.704 4.2894h6v1h-6z"></path>
 <path class="yelp-svg-fill" d="m2 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m5.5801 4.3612h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m-6.9199 16.289h6v1h-6z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">However the favourite list itself can not yet be categorized
	further.</p></div></div></div>
</div>
<div class="links topiclinks"><div class="inner"><div class="region"><div class="links-divs">
<div class="linkdiv "><a class="linkdiv" href="search.html" title="Searching"><span class="title">Searching</span><span class="linkdiv-dash"> — </span><span class="desc">Quicksearch field and Ctrl+F compound search window.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="timer.html" title="Timer"><span class="title">Timer</span><span class="linkdiv-dash"> — </span><span class="desc">Programming recurring play and recording events.</span></a></div>
</div></div></div></div>
</div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="streams.html#actions" title="Actions">Actions</a></li>
<li class="links "><a href="channels.html#list" title="Available channels">Available channels</a></li>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/channels.html from [294b7f5f57] to [73465d01f9].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Channels</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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> » </div></div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Channels</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">The tabs in the main window represent the music directory
        channels/services.  Each lists categories/genres and their associated radios/streams.</p>
<div class="media media-image"><div class="inner"><img src="img/channels-left.png" class="media media-block" alt=""></div></div>
<p class="p">The notebook tabs can also be repositioned with
        <span class="guiseq"><span class="gui">Edit</span> ▸ <span class="gui">Channel tab position</span> ▸ <span class="gui">Top</span></span>.
        And you can directly rearrange the channel tabs themselves,
        by dragging them within the list.</p>
<p class="p">If you first select a channel tab, the categories should appear or be loading.
        Otherwise:</p>
<div class="steps"><div class="inner"><div class="region"><ol class="steps">
<li class="steps"><p class="p">Select a channel tab</p></li>
<li class="steps"><p class="p">Choose <span class="guiseq"><span class="gui">Channel</span> ▸ <span class="gui">Reload categories...</span></span></p></li>
<li class="steps"><p class="p">Pick a category/genre from the overview, left.</p></li>
</ol></div></div></div>
<p class="p">Individual channels provide different music/radio information. The table
        views are however mostly identical for each tab. Some views may rename columns,
        or remove them alltogether.</p>
</div>
<div id="list" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Available channels</span></h2></div>
<div class="region"><div class="contents"><div class="links topiclinks"><div class="inner"><div class="region">
<div class="linkdiv "><a class="linkdiv" href="bookmarks.html" title="Bookmarks"><span class="title">Bookmarks</span><span class="linkdiv-dash"> — </span><span class="desc">Collect favourites via bookmark function, entry editing and deleting.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="dirble.html" title="Dirble"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_dirble.png" class="media media-inline" alt=""></span></span> Dirble</span><span class="linkdiv-dash"> — </span><span class="desc">Dirble.com</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="internet_radio_org_uk.html" title="Internet-Radio"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_internet_radio.png" class="media media-inline" alt=""></span></span> Internet-Radio</span><span class="linkdiv-dash"> — </span><span class="desc">Large radio directory from the UK.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="jamendo.html" title="Jamendo"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_jamendo.png" class="media media-inline" alt=""></span></span> Jamendo</span><span class="linkdiv-dash"> — </span><span class="desc">Creative Commons music and artist hub.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="myoggradio.html" title="MyOggRadio"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_myoggradio.png" class="media media-inline" alt=""></span></span> MyOggRadio</span><span class="linkdiv-dash"> — </span><span class="desc">Open source stream directory.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="radiobrowser.html" title="Radio-Browser"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_radiobrowser.png" class="media media-inline" alt=""></span></span> Radio-Browser</span><span class="linkdiv-dash"> — </span><span class="desc">Community-driven streaming directory</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="radionomy.html" title="Radionomy"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_radionomy.png" class="media media-inline" alt=""></span></span> Radionomy</span><span class="linkdiv-dash"> — </span><span class="desc">Large internet streaming provider</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="reddit.html" title="Reddit"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_reddit.png" class="media media-inline" alt=""></span></span> Reddit</span><span class="linkdiv-dash"> — </span><span class="desc">Music subreddit posts</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="shoutcast.html" title="Shoutcast"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_shoutcast.png" class="media media-inline" alt=""></span></span> Shoutcast</span><span class="linkdiv-dash"> — </span><span class="desc">Probably still the largest radio station list.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="somafm.html" title="SomaFM"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_somafm.png" class="media media-inline" alt=""></span></span> SomaFM</span><span class="linkdiv-dash"> — </span><span class="desc">Set of radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="surfmusik.html" title="SurfMusic"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_surfmusik.png" class="media media-inline" alt=""></span></span> SurfMusic</span><span class="linkdiv-dash"> — </span><span class="desc">International radio listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="modarchive.html" title="The MOD Archive"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_modarchive.png" class="media media-inline" alt=""></span></span> The MOD Archive</span><span class="linkdiv-dash"> — </span><span class="desc">Tracker audio file collection.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="tunein.html" title="TuneIn"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_tunein.png" class="media media-inline" alt=""></span></span> TuneIn</span><span class="linkdiv-dash"> — </span><span class="desc">Radio and Podcast directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="ubuntuusersm.html" title="UbuntuUsers"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_ubuntuusers.png" class="media media-inline" alt=""></span></span> UbuntuUsers</span><span class="linkdiv-dash"> — </span><span class="desc">Wiki list of radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="xiph.html" title="Xiph.org"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_xiph.png" class="media media-inline" alt=""></span></span> Xiph.org</span><span class="linkdiv-dash"> — </span><span class="desc">ICEcast radio directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="youtube.html" title="Youtube"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_youtube.png" class="media media-inline" alt=""></span></span> Youtube</span><span class="linkdiv-dash"> — </span><span class="desc">Youtube music/video listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="filtermusic.html" title="filtermusic"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_filtermusic.png" class="media media-inline" alt=""></span></span> filtermusic</span><span class="linkdiv-dash"> — </span><span class="desc">Selection of the best radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="contrib_channels.html" title="→ Contrib/Extra Channels"><span class="title">→ Contrib/Extra Channels</span><span class="linkdiv-dash"> — </span><span class="desc">Downloadable channel plugins</span></a></div>
</div></div></div></div></div>
</div></div>
<div id="homepage" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Channel service homepage</span></h2></div>
<div class="region"><div class="contents"><p class="p">You can double click the channel tab to visit the channel/directory homepage.
	Alternatively there is an entry in the <span class="gui">Channel</span> menu.</p></div></div>
</div></div>
<div id="actions" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Channel menu actions</span></h2></div>
<div class="region"><div class="contents">
<div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms">Homepage of directory service</dt>
<dd class="terms"><p class="p">Opens the website of the currently selected channel
			in your configured web browser.</p></dd>
<dt class="terms">Reload</dt>
<dd class="terms"><p class="p">Updates the current category and displays fresh station lists.</p></dd>
<dt class="terms">Update favicons...</dt>
<dd class="terms"><p class="p">Starts assembling favicons for the current list of stations in the background.
			To actually display the freshly loaded favicons, reselect the current category.</p></dd>
<dt class="terms">Reload category tree</dt>
<dd class="terms"><p class="p">Updates the genre list in the left category pane.
			For most channels the category list is already complete, but it might
			change over time. So this option is often only used for initializing streamtuner2
			channels when the list is empty.</p></dd>
</dl></div></div></div>
<p class="p">The channel menu also contains a list of available channels. Select an entry to switch
	into that tab.</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="index.html#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a></li></ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|
|
<
<

|


















|
|
|

<


>

>













|
|
<
|
|

|
<
|
|


















<
|
|
|



|

|
<
<
|

1
2
3
4
5
6
7
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
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Channels</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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> » </div></div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Channels</span></h1></div>


<div class="region">
<div class="contents pagewide">
<p class="p">The tabs in the main window represent the music directory
        channels/services.  Each lists categories/genres and their associated radios/streams.</p>
<div class="media media-image"><div class="inner"><img src="img/channels-left.png" class="media media-block" alt=""></div></div>
<p class="p">The notebook tabs can also be repositioned with
        <span class="guiseq"><span class="gui">Edit</span> ▸ <span class="gui">Channel tab position</span> ▸ <span class="gui">Top</span></span>.
        And you can directly rearrange the channel tabs themselves,
        by dragging them within the list.</p>
<p class="p">If you first select a channel tab, the categories should appear or be loading.
        Otherwise:</p>
<div class="steps"><div class="inner"><div class="region"><ol class="steps">
<li class="steps"><p class="p">Select a channel tab</p></li>
<li class="steps"><p class="p">Choose <span class="guiseq"><span class="gui">Channel</span> ▸ <span class="gui">Reload categories...</span></span></p></li>
<li class="steps"><p class="p">Pick a category/genre from the overview, left.</p></li>
</ol></div></div></div>
<p class="p">Individual channels provide different music/radio information. The table
        views are however mostly identical for each tab. Some views may rename columns,
        or remove them alltogether.</p>
</div>
<section id="list"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Available channels</span></h2></div>
<div class="region"><div class="contents pagewide"><div class="links topiclinks"><div class="inner"><div class="region"><div class="links-divs">
<div class="linkdiv "><a class="linkdiv" href="bookmarks.html" title="Bookmarks"><span class="title">Bookmarks</span><span class="linkdiv-dash"> — </span><span class="desc">Collect favourites via bookmark function, entry editing and deleting.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="internet_radio_org_uk.html" title="Internet-Radio"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_internet_radio.png" class="media media-inline" alt=""></span></span> Internet-Radio</span><span class="linkdiv-dash"> — </span><span class="desc">Large radio directory from the UK.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="jamendo.html" title="Jamendo"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_jamendo.png" class="media media-inline" alt=""></span></span> Jamendo</span><span class="linkdiv-dash"> — </span><span class="desc">Creative Commons music and artist hub.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="liveradio.html" title="LiveRadio.ie"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_liveradio.png" class="media media-inline" alt=""></span></span> LiveRadio.ie</span><span class="linkdiv-dash"> — </span><span class="desc">Ireland-based radio directory</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="myoggradio.html" title="MyOggRadio"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_myoggradio.png" class="media media-inline" alt=""></span></span> MyOggRadio</span><span class="linkdiv-dash"> — </span><span class="desc">Open source stream directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="peertube.html" title="Peertube"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_peertube.png" class="media media-inline" alt=""></span></span> Peertube</span><span class="linkdiv-dash"> — </span><span class="desc">Peertube music/video listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="radiobrowser.html" title="Radio-Browser"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_radiobrowser.png" class="media media-inline" alt=""></span></span> Radio-Browser</span><span class="linkdiv-dash"> — </span><span class="desc">Community-driven streaming directory</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="radionomy.html" title="Radionomy"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_radionomy.png" class="media media-inline" alt=""></span></span> Radionomy</span><span class="linkdiv-dash"> — </span><span class="desc">Large internet streaming provider</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="reddit.html" title="Reddit"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_reddit.png" class="media media-inline" alt=""></span></span> Reddit</span><span class="linkdiv-dash"> — </span><span class="desc">Music subreddit posts</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="shoutcast.html" title="Shoutcast"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_shoutcast.png" class="media media-inline" alt=""></span></span> Shoutcast</span><span class="linkdiv-dash"> — </span><span class="desc">Probably still the largest radio station list.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="somafm.html" title="SomaFM"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_somafm.png" class="media media-inline" alt=""></span></span> SomaFM</span><span class="linkdiv-dash"> — </span><span class="desc">Set of radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="surfmusik.html" title="SurfMusic"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_surfmusik.png" class="media media-inline" alt=""></span></span> SurfMusic</span><span class="linkdiv-dash"> — </span><span class="desc">International radio listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="modarchive.html" title="The MOD Archive"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_modarchive.png" class="media media-inline" alt=""></span></span> The MOD Archive</span><span class="linkdiv-dash"> — </span><span class="desc">Tracker audio file collection.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="tunein.html" title="TuneIn"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_tunein.png" class="media media-inline" alt=""></span></span> TuneIn</span><span class="linkdiv-dash"> — </span><span class="desc">Radio and Podcast directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="ubuntuusersm.html" title="UbuntuUsers"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_ubuntuusers.png" class="media media-inline" alt=""></span></span> UbuntuUsers</span><span class="linkdiv-dash"> — </span><span class="desc">Wiki list of radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="xiph.html" title="Xiph.org"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_xiph.png" class="media media-inline" alt=""></span></span> Xiph.org</span><span class="linkdiv-dash"> — </span><span class="desc">ICEcast radio directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="youtube.html" title="Youtube"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_youtube.png" class="media media-inline" alt=""></span></span> Youtube</span><span class="linkdiv-dash"> — </span><span class="desc">Youtube music/video listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="filtermusic.html" title="filtermusic"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_filtermusic.png" class="media media-inline" alt=""></span></span> filtermusic</span><span class="linkdiv-dash"> — </span><span class="desc">Selection of the best radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="contrib_channels.html" title="→ Contrib/Extra Channels"><span class="title">→ Contrib/Extra Channels</span><span class="linkdiv-dash"> — </span><span class="desc">Downloadable channel plugins</span></a></div>
</div></div></div></div></div></div>
</div></section><section id="homepage"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Channel service homepage</span></h2></div>
<div class="region"><div class="contents pagewide"><p class="p">You can double click the channel tab to visit the channel/directory homepage.
	Alternatively there is an entry in the <span class="gui">Channel</span> menu.</p></div></div>
</div></section><section id="actions"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Channel menu actions</span></h2></div>
<div class="region"><div class="contents pagewide">
<div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms">Homepage of directory service</dt>
<dd class="terms"><p class="p">Opens the website of the currently selected channel
			in your configured web browser.</p></dd>
<dt class="terms">Reload</dt>
<dd class="terms"><p class="p">Updates the current category and displays fresh station lists.</p></dd>
<dt class="terms">Update favicons...</dt>
<dd class="terms"><p class="p">Starts assembling favicons for the current list of stations in the background.
			To actually display the freshly loaded favicons, reselect the current category.</p></dd>
<dt class="terms">Reload category tree</dt>
<dd class="terms"><p class="p">Updates the genre list in the left category pane.
			For most channels the category list is already complete, but it might
			change over time. So this option is often only used for initializing streamtuner2
			channels when the list is empty.</p></dd>
</dl></div></div></div>
<p class="p">The channel menu also contains a list of available channels. Select an entry to switch
	into that tab.</p>
</div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a></li></ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/cli.html from [25386f6ff9] to [95be9def52].


1
2
3
4
5
6






7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>CLI (command line interface)</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » </div></div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">CLI (command line interface)</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">Streamtuner2 is a graphical tool. But it also has a limited commandline interface,
	which can be used to query station information. This is useful for interfacing with
	other applications.</p>
<p class="p">Open a terminal and call <span class="code">streamtuner2 help</span> to get an overview over
	available commands.</p>
<div class="terms"><div class="inner">
<div class="title title-terms"><h2><span class="title">Examples</span></h2></div>
>






>
>
>
>
>
>
|

|
|
|
<
<

|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18


19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>CLI (command line interface)</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » </div></div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">CLI (command line interface)</span></h1></div>


<div class="region">
<div class="contents pagewide">
<p class="p">Streamtuner2 is a graphical tool. But it also has a limited commandline interface,
	which can be used to query station information. This is useful for interfacing with
	other applications.</p>
<p class="p">Open a terminal and call <span class="code">streamtuner2 help</span> to get an overview over
	available commands.</p>
<div class="terms"><div class="inner">
<div class="title title-terms"><h2><span class="title">Examples</span></h2></div>
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<dt class="terms"><span class="code">streamtuner2 categories channel</span></dt>
<dd class="terms"><p class="p">Fetches the current list of available categories/genres for a channel service.</p></dd>
</dl></div>
</div></div>
<p class="p">Specifying a channel name is often optional. If you add one, it should be all-lowercase.
	You can also give a list, like "shoutcast,xiph" which would be searched then.</p>
</div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">GUI options</span></h2></div>
<div class="region"><div class="contents">
<p class="p">There are also a few command line flags, which influence the
        graphical runtime.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list">
<div class="title title-item"><h3><span class="title">--gtk3</span></h3></div>
<p class="p">Picks the Gtk3 toolkit. Which is default for Python3 runs.
            But could also be used for Python2 instead of pygtk.</p>







|
|
|







41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<dt class="terms"><span class="code">streamtuner2 categories channel</span></dt>
<dd class="terms"><p class="p">Fetches the current list of available categories/genres for a channel service.</p></dd>
</dl></div>
</div></div>
<p class="p">Specifying a channel name is often optional. If you add one, it should be all-lowercase.
	You can also give a list, like "shoutcast,xiph" which would be searched then.</p>
</div>
<section id=""><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">GUI options</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">There are also a few command line flags, which influence the
        graphical runtime.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list">
<div class="title title-item"><h3><span class="title">--gtk3</span></h3></div>
<p class="p">Picks the Gtk3 toolkit. Which is default for Python3 runs.
            But could also be used for Python2 instead of pygtk.</p>
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
</li>
<li class="list">
<div class="title title-item"><h3><span class="title">-x</span></h3></div>
<p class="p">Exit right away. A flag only used for testing.</p>
</li>
</ul></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="index.html#extra" title="Additional features">Additional features</a></li></ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>







<
|
|
|



|

|
<
<
|

84
85
86
87
88
89
90

91
92
93
94
95
96
97
98
99


100
101
</li>
<li class="list">
<div class="title title-item"><h3><span class="title">-x</span></h3></div>
<p class="p">Exit right away. A flag only used for testing.</p>
</li>
</ul></div></div></div>
</div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#extra" title="Additional features">Additional features</a></li></ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/config_apps.html from [bb6cc34403] to [0be493100d].


1
2
3
4
5
6






7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Audio players</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#functions" title="Functions">Functions</a> » <a class="trail" href="configuration.html" title="Configuration / Settings dialog">Configuration / Settings dialog</a> › <a class="trail" href="configuration.html#apps" title="Player application settings">Player application settings</a> » </div></div></div>
<div class="body">
<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">
>






>
>
>
>
>
>
|

|
|
|
<
<

|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18


19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Audio players</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#functions" title="Functions">Functions</a> » <a class="trail" href="configuration.html" title="Configuration / Settings dialog">Configuration / Settings dialog</a> › <a class="trail" href="configuration.html#apps" title="Player application settings">Player application settings</a> » </div></div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Audio players</span></h1></div>


<div class="region">
<div class="contents pagewide">
<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">
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
	which ends the previous player process and starts it anew.
        For VLC there's however also the <span class="code">--one-instance</span> option, which sometimes
        works better. (And sometimes not.)</p>
<p class="p">Some applications, like Rhythmbox or Banshee, are primarily playlist managers, not players,
        and cannot be invoked with a station URL. This makes them less suitable for use with streamtuner2.
        (Same goes for streamtuner2 itself. It's not a player, but just a playlist browser.)</p>
</div>
<div id="placeholders" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">URL placeholders</span></h2></div>
<div class="region"><div class="contents">
<p class="p">Listed audio players get run with a streaming server address (URL).
	These can either be direct MP3/Ogg servers (<span class="var">http://example.org:7843/</span>)
	and sometimes playlist files (<span class="var">http://example.org/listen.pls</span>)
	- depending on the channel directory.</p>
<p class="p">Most audio players automatically handle any station URLs. Some however
	support just a few formats, or can't handle modern XSPF playlists for
	instance. Which is why you can control this by adding a placeholder







|
|
|







59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
	which ends the previous player process and starts it anew.
        For VLC there's however also the <span class="code">--one-instance</span> option, which sometimes
        works better. (And sometimes not.)</p>
<p class="p">Some applications, like Rhythmbox or Banshee, are primarily playlist managers, not players,
        and cannot be invoked with a station URL. This makes them less suitable for use with streamtuner2.
        (Same goes for streamtuner2 itself. It's not a player, but just a playlist browser.)</p>
</div>
<section id="placeholders"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">URL placeholders</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">Listed audio players get run with a streaming server address (URL).
	These can either be direct MP3/Ogg servers (<span class="var">http://example.org:7843/</span>)
	and sometimes playlist files (<span class="var">http://example.org/listen.pls</span>)
	- depending on the channel directory.</p>
<p class="p">Most audio players automatically handle any station URLs. Some however
	support just a few formats, or can't handle modern XSPF playlists for
	instance. Which is why you can control this by adding a placeholder
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
<p class="p">Preferrably use the long %abbr names for configuration. The
        default is <span class="var">%pls</span> if you leave it out. (Most directories
        already provide PLS files, which avoids any extra conversion by ST2
        which sometimes delay playback.)</p>
<p class="p">A few channels (like Jamendo) send custom JSON playlist snippets,
        which no audio player would understand. Which is why they're always
        pre-converted.</p>




<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents">
<p class="p">Most audio players like %pls, yet sometimes the
	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 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>







>
>
>
>
|






|
|

|
|
|







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
<p class="p">Preferrably use the long %abbr names for configuration. The
        default is <span class="var">%pls</span> if you leave it out. (Most directories
        already provide PLS files, which avoids any extra conversion by ST2
        which sometimes delay playback.)</p>
<p class="p">A few channels (like Jamendo) send custom JSON playlist snippets,
        which no audio player would understand. Which is why they're always
        pre-converted.</p>
<div class="note" title="Note">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><div class="inner"><div class="region"><div class="contents">
<p class="p">Most audio players like %pls, yet sometimes the
	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></section><section id="row_placeholders"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Other placeholders</span></h2></div>
<div class="region"><div class="contents pagewide">
<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>
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
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
<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. 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"><span class="em">Player config</span></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"><span class="em">Recording apps</span></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">
<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>
</div></div>
<div class="links seealsolinks"><div class="inner">
<div class="title"><h2><span class="title">See Also</span></h2></div>
<div class="region"><ul><li class="links "><a href="index.html#functions" title="Functions">Functions</a></li></ul></div>
</div></div>
</div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>







>
>
>
>
|


|
|

|
|
|









|



|








|
<
|
|







|
>
>
>
>
>
>
>
>
>
>
>




|
>
>
>
>
>




|
>
>
>
>
>




|
>
>
>
>
>





|
>
>
>
>
>
>
>
>
>
>
>




>
>
>
>
|
|
|

|
|
|









|

|
<
<
|

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
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326


327
328
<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">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><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></section><section id=""><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Other players</span></h2></div>
<div class="region"><div class="contents pagewide">
<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"><code>MPD_HOST='10.0.0.222' # or your MPD host
export MPD_HOST
mpc clear
mpc load $1
mpc play</code></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. You can find an extended
	version in the <span class="file">contrib/cmdline/</span> directory.
    </p>
</dd>
</dl></div></div></div>
</div></div>
</div></section><section id="windows"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Windows config</span></h2></div>
<div class="region"><div class="contents pagewide">
<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"><span class="em">Player config</span></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">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m7 8v7h0.0078a5 6.3027 0 0 0 3.9922 5.867v-6.867h2v6.871a5 6.3027 0 0 0 3.988-5.871h0.012v-7h-10z"></path>
 <path class="yelp-svg-fill" d="m12 3a4 4 0 0 0-4 4h8a4 4 0 0 0-4-4z"></path>
 <path class="yelp-svg-fill" d="m16 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m9.2045 16.361h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m21.704 4.2894h6v1h-6z"></path>
 <path class="yelp-svg-fill" d="m2 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m5.5801 4.3612h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m-6.9199 16.289h6v1h-6z"></path>
</svg><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">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><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">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><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">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><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"><span class="em">Recording apps</span></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">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m7 8v7h0.0078a5 6.3027 0 0 0 3.9922 5.867v-6.867h2v6.871a5 6.3027 0 0 0 3.988-5.871h0.012v-7h-10z"></path>
 <path class="yelp-svg-fill" d="m12 3a4 4 0 0 0-4 4h8a4 4 0 0 0-4-4z"></path>
 <path class="yelp-svg-fill" d="m16 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m9.2045 16.361h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m21.704 4.2894h6v1h-6z"></path>
 <path class="yelp-svg-fill" d="m2 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m5.5801 4.3612h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m-6.9199 16.289h6v1h-6z"></path>
</svg><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">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><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></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide">
<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>
</div></div>
<div class="links seealsolinks"><div class="inner">
<div class="title"><h2><span class="title">See Also</span></h2></div>
<div class="region"><ul><li class="links "><a href="index.html#functions" title="Functions">Functions</a></li></ul></div>
</div></div>
</div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/configuration.html from [a2922cc168] to [ce7ea5b02c].


1
2
3
4
5
6






7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Configuration / Settings dialog</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#functions" title="Functions">Functions</a> » </div></div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Configuration / Settings dialog</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">
There are various options for streamtuner2, available under <span class="guiseq"><span class="gui">Edit</span> ▸ <span class="gui">Preferences</span></span> or via <span class="key"><kbd>F12</kbd></span>.
</p>
<p class="p"><span class="media"><span class="media media-image"><img src="img/configtabs.png" class="media media-inline" alt=""></span></span></p>
<div class="terms"><div class="inner">
<div class="title title-terms"><h2><span class="title">It's grouped into:</span></h2></div>
<div class="region"><dl class="terms">
>






>
>
>
>
>
>
|

|
|
|
<
<

|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18


19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Configuration / Settings dialog</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#functions" title="Functions">Functions</a> » </div></div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Configuration / Settings dialog</span></h1></div>


<div class="region">
<div class="contents pagewide">
<p class="p">
There are various options for streamtuner2, available under <span class="guiseq"><span class="gui">Edit</span> ▸ <span class="gui">Preferences</span></span> or via <span class="key"><kbd>F12</kbd></span>.
</p>
<p class="p"><span class="media"><span class="media media-image"><img src="img/configtabs.png" class="media media-inline" alt=""></span></span></p>
<div class="terms"><div class="inner">
<div class="title title-terms"><h2><span class="title">It's grouped into:</span></h2></div>
<div class="region"><dl class="terms">
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<dt class="terms">📦 <span class="link"><a href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Add</a></span>
</dt>
<dd class="terms"><p class="p">The <span class="link"><a href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2</a></span> adds another
    tab for updating or installing new plugins.</p></dd>
</dl></div>
</div></div>
</div>
<div id="apps" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Player application settings</span></h2></div>
<div class="region"><div class="contents">
<p class="p">MIME types are abstract identifiers for media types. <span class="var">Audio/mpeg</span> for
    example represents MP3 files, and <span class="var">audio/ogg</span> means OGG Vorbis.  And the player
    setting dialog simply associates an audio type with a playback application:</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>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p"><span class="link"><a href="config_apps.html" title="Audio players">Application names</a></span> are most
      always lowercase binary names.</p></li>







|
|
|







43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<dt class="terms">📦 <span class="link"><a href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Add</a></span>
</dt>
<dd class="terms"><p class="p">The <span class="link"><a href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2</a></span> adds another
    tab for updating or installing new plugins.</p></dd>
</dl></div>
</div></div>
</div>
<section id="apps"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Player application settings</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">MIME types are abstract identifiers for media types. <span class="var">Audio/mpeg</span> for
    example represents MP3 files, and <span class="var">audio/ogg</span> means OGG Vorbis.  And the player
    setting dialog simply associates an audio type with a playback application:</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>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p"><span class="link"><a href="config_apps.html" title="Audio players">Application names</a></span> are most
      always lowercase binary names.</p></li>
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<li class="list"><p class="p">In practice you only needed one entry for <span class="var">audio/*</span>
      and one for <span class="var">video/*</span>, both can use the same player even. 
      </p></li>
<li class="list"><p class="p"> You can remove existing entries by clearing both the Format
      field and its associated Application.  Add completely new associations
      through the emtpy line.  </p></li>
</ul></div></div></div>
<div class="links topiclinks"><div class="inner"><div class="region"><div class="linkdiv "><a class="linkdiv" href="config_apps.html" title="Audio players"><span class="title">Audio players</span><span class="linkdiv-dash"> — </span><span class="desc">Common applications to use as players.</span></a></div></div></div></div>
</div></div>
</div></div>
<div id="recording" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Recording Apps</span></h2></div>
<div class="region"><div class="contents">
<p class="p">The second block of entries in the 'Apps' section specifies recording applications.
    Here streamripper is preconfigured for audio streams, and youtube-dl for Youtube videos for instance.</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
<tr>
<td><p class="p"><span class="var">audio/*</span></p></td>
<td style="border-left-style: solid;"><p class="p"><span class="cmd">xterm -e streamripper %srv</span></p></td>
</tr>
<tr class="shade">
<td style="border-top-style: solid;"><p class="p"><span class="var">video/youtube</span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p"><span class="cmd">xterm -e "youtube-dl %srv"</span></p></td>
</tr>
</table></div></div></div>
<p class="p">To define a target directory, you can often add commandline arguments to each. Also it's typically
    helpful to leave the xterm prefix on, so you can follow the processing state.</p>
<div class="links topiclinks"><div class="inner"><div class="region"><div class="linkdiv "><a class="linkdiv" href="recording.html" title="Recording"><span class="title">Recording</span><span class="linkdiv-dash"> — </span><span class="desc">Save radio songs as MP3 files via streamripper.</span></a></div></div></div></div>
</div></div>
</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>







|

|
<
|
|














|

|
<
|
|







86
87
88
89
90
91
92
93
94
95

96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114

115
116
117
118
119
120
121
122
123
<li class="list"><p class="p">In practice you only needed one entry for <span class="var">audio/*</span>
      and one for <span class="var">video/*</span>, both can use the same player even. 
      </p></li>
<li class="list"><p class="p"> You can remove existing entries by clearing both the Format
      field and its associated Application.  Add completely new associations
      through the emtpy line.  </p></li>
</ul></div></div></div>
<div class="links topiclinks"><div class="inner"><div class="region"><div class="links-divs"><div class="linkdiv "><a class="linkdiv" href="config_apps.html" title="Audio players"><span class="title">Audio players</span><span class="linkdiv-dash"> — </span><span class="desc">Common applications to use as players.</span></a></div></div></div></div></div>
</div></div>
</div></section><section id="recording"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Recording Apps</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">The second block of entries in the 'Apps' section specifies recording applications.
    Here streamripper is preconfigured for audio streams, and youtube-dl for Youtube videos for instance.</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
<tr>
<td><p class="p"><span class="var">audio/*</span></p></td>
<td style="border-left-style: solid;"><p class="p"><span class="cmd">xterm -e streamripper %srv</span></p></td>
</tr>
<tr class="shade">
<td style="border-top-style: solid;"><p class="p"><span class="var">video/youtube</span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p"><span class="cmd">xterm -e "youtube-dl %srv"</span></p></td>
</tr>
</table></div></div></div>
<p class="p">To define a target directory, you can often add commandline arguments to each. Also it's typically
    helpful to leave the xterm prefix on, so you can follow the processing state.</p>
<div class="links topiclinks"><div class="inner"><div class="region"><div class="links-divs"><div class="linkdiv "><a class="linkdiv" href="recording.html" title="Recording"><span class="title">Recording</span><span class="linkdiv-dash"> — </span><span class="desc">Save radio songs as MP3 files via streamripper.</span></a></div></div></div></div></div>
</div></div>
</div></section><section id="gui"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Display/GUI options</span></h2></div>
<div class="region"><div class="contents pagewide">
<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>
173
174
175
176
177
178
179




180
181
182
183
184
185
186

187
188
189
190
191
192
193
<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">
<dt class="terms">🔠 Temporary files</dt>







>
>
>
>
|





|
>







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
<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">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><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">
<dt class="terms">🔠 Temporary files</dt>
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
259
260
261
262
263
264
265
266
267
268




269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
      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 <span class="cmd">--nt</span> to enable this workaround.</p></dd>
</dl></div>
</div></div>
</div></div>
</div></div>
<div id="plugins" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Channel and feature plugins and settings</span></h2></div>
<div class="region">
<div class="contents">
<div class="table"><div class="inner"><div class="region"><table class="table"><tr>
<td><p class="p">The <span class="key"><kbd>📻 Channels</kbd></span> tab shows all available directory
    services.</p></td>
<td><p class="p">While the <span class="key"><kbd>🔌 Features</kbd></span> group provides internal or menu
    enhancements.</p></td>
</tr></table></div></div></div>
<p class="p">Disabling or enabling a plugin however requires a restart of Streamtuner2
    to take effect. (Unless the <span class="link"><a href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2</a></span>
    is enabled, with its <span class="key"><kbd>📦 Add</kbd></span> tab visible.)</p>
<p class="p"><span class="media"><span class="media media-image"><img src="img/configplugins.png" class="media media-inline" alt=""></span></span></p>
<p class="p">Each plugin can have its own little list of extra options. They'll be
    applied right away for already active channel/feature plugins.</p>
<div class="links topiclinks"><div class="inner"><div class="region">
<div class="linkdiv "><a class="linkdiv" href="internet_radio_org_uk.html" title="Internet-Radio"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_internet_radio.png" class="media media-inline" alt=""></span></span> Internet-Radio</span><span class="linkdiv-dash"> — </span><span class="desc">Large radio directory from the UK.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="jamendo.html" title="Jamendo"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_jamendo.png" class="media media-inline" alt=""></span></span> Jamendo</span><span class="linkdiv-dash"> — </span><span class="desc">Creative Commons music and artist hub.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="myoggradio.html" title="MyOggRadio"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_myoggradio.png" class="media media-inline" alt=""></span></span> MyOggRadio</span><span class="linkdiv-dash"> — </span><span class="desc">Open source stream directory.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="radiobrowser.html" title="Radio-Browser"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_radiobrowser.png" class="media media-inline" alt=""></span></span> Radio-Browser</span><span class="linkdiv-dash"> — </span><span class="desc">Community-driven streaming directory</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="radionomy.html" title="Radionomy"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_radionomy.png" class="media media-inline" alt=""></span></span> Radionomy</span><span class="linkdiv-dash"> — </span><span class="desc">Large internet streaming provider</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="reddit.html" title="Reddit"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_reddit.png" class="media media-inline" alt=""></span></span> Reddit</span><span class="linkdiv-dash"> — </span><span class="desc">Music subreddit posts</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="somafm.html" title="SomaFM"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_somafm.png" class="media media-inline" alt=""></span></span> SomaFM</span><span class="linkdiv-dash"> — </span><span class="desc">Set of radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="surfmusik.html" title="SurfMusic"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_surfmusik.png" class="media media-inline" alt=""></span></span> SurfMusic</span><span class="linkdiv-dash"> — </span><span class="desc">International radio listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="tunein.html" title="TuneIn"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_tunein.png" class="media media-inline" alt=""></span></span> TuneIn</span><span class="linkdiv-dash"> — </span><span class="desc">Radio and Podcast directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="xiph.html" title="Xiph.org"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_xiph.png" class="media media-inline" alt=""></span></span> Xiph.org</span><span class="linkdiv-dash"> — </span><span class="desc">ICEcast radio directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="youtube.html" title="Youtube"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_youtube.png" class="media media-inline" alt=""></span></span> Youtube</span><span class="linkdiv-dash"> — </span><span class="desc">Youtube music/video listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="filtermusic.html" title="filtermusic"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_filtermusic.png" class="media media-inline" alt=""></span></span> filtermusic</span><span class="linkdiv-dash"> — </span><span class="desc">Selection of the best radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="contrib_channels.html" title="→ Contrib/Extra Channels"><span class="title">→ Contrib/Extra Channels</span><span class="linkdiv-dash"> — </span><span class="desc">Downloadable channel plugins</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="contrib_features.html" title="→ Feature plugins"><span class="title">→ Feature plugins</span><span class="linkdiv-dash"> — </span><span class="desc">Additional feature plugins</span></a></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"><h3><span class="title">More Information</span></h3></div>
<div class="region"><ul><li class="links ">
<a href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </a><span class="desc"> — User plugin installation</span>
</li></ul></div>
</div></div></div>
</div>
</div>
</div></div>
<div id="note" 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">If you want to find out more about the short option descriptions (most settings are checkboxes),
    please have a look into the channels directory /usr/share/streamtuner2/channels/ and corresponding
    *.py files. These are somewhat readable even to non-programmers, and sometimes contain more information.</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="index.html#functions" title="Functions">Functions</a></li></ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>







|
<
|

|












|


>

>











|

|
|
|





|

|
<
|
>
>
>
>
|

|
|
|
|
|



|

|
<
<
|

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
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275

276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293


294
295
      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 <span class="cmd">--nt</span> to enable this workaround.</p></dd>
</dl></div>
</div></div>
</div></div>
</div></section><section id="plugins"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Channel and feature plugins and settings</span></h2></div>
<div class="region">
<div class="contents pagewide">
<div class="table"><div class="inner"><div class="region"><table class="table"><tr>
<td><p class="p">The <span class="key"><kbd>📻 Channels</kbd></span> tab shows all available directory
    services.</p></td>
<td><p class="p">While the <span class="key"><kbd>🔌 Features</kbd></span> group provides internal or menu
    enhancements.</p></td>
</tr></table></div></div></div>
<p class="p">Disabling or enabling a plugin however requires a restart of Streamtuner2
    to take effect. (Unless the <span class="link"><a href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2</a></span>
    is enabled, with its <span class="key"><kbd>📦 Add</kbd></span> tab visible.)</p>
<p class="p"><span class="media"><span class="media media-image"><img src="img/configplugins.png" class="media media-inline" alt=""></span></span></p>
<p class="p">Each plugin can have its own little list of extra options. They'll be
    applied right away for already active channel/feature plugins.</p>
<div class="links topiclinks"><div class="inner"><div class="region"><div class="links-divs">
<div class="linkdiv "><a class="linkdiv" href="internet_radio_org_uk.html" title="Internet-Radio"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_internet_radio.png" class="media media-inline" alt=""></span></span> Internet-Radio</span><span class="linkdiv-dash"> — </span><span class="desc">Large radio directory from the UK.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="jamendo.html" title="Jamendo"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_jamendo.png" class="media media-inline" alt=""></span></span> Jamendo</span><span class="linkdiv-dash"> — </span><span class="desc">Creative Commons music and artist hub.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="liveradio.html" title="LiveRadio.ie"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_liveradio.png" class="media media-inline" alt=""></span></span> LiveRadio.ie</span><span class="linkdiv-dash"> — </span><span class="desc">Ireland-based radio directory</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="myoggradio.html" title="MyOggRadio"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_myoggradio.png" class="media media-inline" alt=""></span></span> MyOggRadio</span><span class="linkdiv-dash"> — </span><span class="desc">Open source stream directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="peertube.html" title="Peertube"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_peertube.png" class="media media-inline" alt=""></span></span> Peertube</span><span class="linkdiv-dash"> — </span><span class="desc">Peertube music/video listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="radiobrowser.html" title="Radio-Browser"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_radiobrowser.png" class="media media-inline" alt=""></span></span> Radio-Browser</span><span class="linkdiv-dash"> — </span><span class="desc">Community-driven streaming directory</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="radionomy.html" title="Radionomy"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_radionomy.png" class="media media-inline" alt=""></span></span> Radionomy</span><span class="linkdiv-dash"> — </span><span class="desc">Large internet streaming provider</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="reddit.html" title="Reddit"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_reddit.png" class="media media-inline" alt=""></span></span> Reddit</span><span class="linkdiv-dash"> — </span><span class="desc">Music subreddit posts</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="somafm.html" title="SomaFM"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_somafm.png" class="media media-inline" alt=""></span></span> SomaFM</span><span class="linkdiv-dash"> — </span><span class="desc">Set of radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="surfmusik.html" title="SurfMusic"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_surfmusik.png" class="media media-inline" alt=""></span></span> SurfMusic</span><span class="linkdiv-dash"> — </span><span class="desc">International radio listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="tunein.html" title="TuneIn"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_tunein.png" class="media media-inline" alt=""></span></span> TuneIn</span><span class="linkdiv-dash"> — </span><span class="desc">Radio and Podcast directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="xiph.html" title="Xiph.org"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_xiph.png" class="media media-inline" alt=""></span></span> Xiph.org</span><span class="linkdiv-dash"> — </span><span class="desc">ICEcast radio directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="youtube.html" title="Youtube"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_youtube.png" class="media media-inline" alt=""></span></span> Youtube</span><span class="linkdiv-dash"> — </span><span class="desc">Youtube music/video listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="filtermusic.html" title="filtermusic"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_filtermusic.png" class="media media-inline" alt=""></span></span> filtermusic</span><span class="linkdiv-dash"> — </span><span class="desc">Selection of the best radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="contrib_channels.html" title="→ Contrib/Extra Channels"><span class="title">→ Contrib/Extra Channels</span><span class="linkdiv-dash"> — </span><span class="desc">Downloadable channel plugins</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="contrib_features.html" title="→ Feature plugins"><span class="title">→ Feature plugins</span><span class="linkdiv-dash"> — </span><span class="desc">Additional feature plugins</span></a></div>
</div></div></div></div>
</div>
<section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><div class="links guidelinks"><div class="inner">
<div class="title"><h3><span class="title">More Information</span></h3></div>
<div class="region"><ul><li class="links ">
<a href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </a><span class="desc"> — User plugin installation</span>
</li></ul></div>
</div></div></div>
</div></section>
</div>
</div></section><section id="note"><div class="inner">

<div class="hgroup pagewide"></div>
<div class="region"><div class="contents pagewide"><div class="note" title="Note">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">If you want to find out more about the short option descriptions (most settings are checkboxes),
    please have a look into the channels directory /usr/share/streamtuner2/channels/ and corresponding
    *.py files. These are somewhat readable even to non-programmers, and sometimes contain more information.</p></div></div></div>
</div></div></div>
</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#functions" title="Functions">Functions</a></li></ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/contrib_channels.html from [c7266d6408] to [3d4dfd673a].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>→ Contrib/Extra Channels</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">→ Contrib/Extra Channels</span></h1></div>
<div class="region">
<div class="contents"></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">More channels to install</span></h2></div>
<div class="region">
<div class="contents"><p class="p">Besides the standard channels, there are a few more plugins available
for download. See the <span class="link"><a href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager</a></span>
and its <span class="key"><kbd>📦 Add</kbd></span> tab, where you can easily install them.</p></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://radio.net/" title="http://radio.net/">Radio.net</a></span></span></h4></div>
<div class="region"><div class="contents"><p class="p">Radio.net is a European radio directory. It nicely catalogues
    stations into genres as usual. The primary list is ordered by
    popularity even. </p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://magnatune.com/" title="http://magnatune.com/">Magnatune</a></span></span></h4></div>
<div class="region"><div class="contents"><p class="p">Magnatune is an independent label for artists. It makes most
    albums available for free listening with only a few intermittent
    adverts. Otherwise it's a flatrate payable music discovery and
    download service. </p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://publicradiofan.com/" title="http://publicradiofan.com/">PublicRadioFan</a></span></span></h4></div>
<div class="region"><div class="contents"><p class="p">PublicRadioFan.com hosts a huge lists of worldwide radio stations.
    This plugin displays just the genre list though.</p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://delicast.com/" title="http://delicast.com/">Delicast</a></span></span></h4></div>
<div class="region"><div class="contents"><p class="p">Delicast.com is another web directory of radio stations. It's
    somewhat slower because playback addresses are hidden away with extra
    page requests. Works reliably still.</p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://listenlive.eu/" title="http://listenlive.eu/">ListenLive.eu</a></span></span></h4></div>
<div class="region"><div class="contents"><p class="p">ListenLive is also an Europe-centric radio directory.</p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://liveradio.ie/" title="http://liveradio.ie/">Liveradio.ie</a></span></span></h4></div>
<div class="region"><div class="contents"><p class="p">Is an Ireland-based radio station directory.</p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://radiosure.com/" title="http://radiosure.com/">RadioSure</a></span></span></h4></div>
<div class="region"><div class="contents"><p class="p">Station database that's readily available as CSV list. You'll
    currently need the tmp_clean_multiurl plugin as well, as most entries
    supply multiple URLs, but action.py doesn't support those currently.</p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://vtuner.com/" title="http://vtuner.com/">vTuner</a></span></span></h4></div>
<div class="region"><div class="contents"><p class="p">Categorized station list by a cross-platform streaming service provider. </p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://reciva.com/" title="http://reciva.com/">Reciva</a></span></span></h4></div>
<div class="region"><div class="contents"><p class="p">Reciva is an iPhone app, with a browsable station list. </p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://house-mixes.com/" title="http://house-mixes.com/">house-mixes</a></span></span></h4></div>
<div class="region"><div class="contents"><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></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://punkcast.com/" title="http://punkcast.com/">PunkCast</a></span></span></h4></div>
<div class="region"><div class="contents"><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></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 GrLittleRadioPlayer</span></h4></div>
<div class="region"><div class="contents"><p class="p">Great Little Radio Player is another Linux desktop radio browser.
    It comes with a default set of categorized stations. This plugin merely
    imports that list as static directory. </p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 File browser</span></h4></div>
<div class="region"><div class="contents"><p class="p">You can also browse local files with streamtuner2 using the file
    browser plugin. It must be configured with your music collection path.
    It's not a default plugin, because this isn't really what Streamtuner2
    is made for. There are way better local music collection managers for
    Linux. It's just here for convenience, and displays files just as any
    other channel list. It has no specific file management features. (ID3
    editing or file renaming were planned, but never implemented.) </p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://tuner2.com/" title="http://tuner2.com/">Tuner2</a></span></span></h4></div>
<div class="region"><div class="contents"><p class="p">Map-oriented radio station directory. </p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://radiolist.net/" title="http://radiolist.net/">radiolist.net</a></span></span></h4></div>
<div class="region"><div class="contents"><p class="p">Is a continent/country-oriented radio directory. The stream formats
    vary wildly however.</p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://streamlicensing.com/" title="http://streamlicensing.com/">streamlicensing</a></span></span></h4></div>
<div class="region"><div class="contents"><p class="p">Is a streaming server provider and handles licensing for stations.
    Provides a small genre-oriented directory. </p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">📻 Compound</span></h4></div>
<div class="region"><div class="contents"><p class="p">The compound channel is a meta plugin. It can aggregate categories
    from other channel plugins on a per-category basis. You for example
    can mash Top40 or Classic genres from Shoutcast, Xiph, InternetRadio,
    Tunein, etc. Which avoids switching between channel tabs somewhat. </p></div></div>
</div></div>
</div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h3 class="subtitle"><span class="subtitle">Repository</span></h3></div>
<div class="region"><div class="contents"><p class="p">See also the list of
<span class="link"><a href="http://fossil.include-once.org/streamtuner2/wiki/plugins" title="http://fossil.include-once.org/streamtuner2/wiki/plugins">available
plugins</a></span> in the project wiki.</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>
<li class="links "><a href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a></li>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
<li class="links ">
<a href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </a><span class="desc"> — User plugin installation</span>
</li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|








<
<
|

|
|
|

|


|
|
|


|
<
|
|



|
<
|
|

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


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



|
<
|
|



|
<
|
|


|
<
|
|






|
<
<
<
<
<
|
|

|
<
<
<
<
<
<
|
|



|

|
<
|
|


<
|
|
|










|

|
<
<
|

1
2
3
4
5
6
7
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
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
102

103
104
105
106

107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122


123
124
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>→ Contrib/Extra Channels</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">→ Contrib/Extra Channels</span></h1></div>
<div class="region">
<div class="contents pagewide"></div>
<section id=""><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">More channels to install</span></h2></div>
<div class="region">
<div class="contents pagewide"><p class="p">Besides the standard channels, there are a few more plugins available
for download. See the <span class="link"><a href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager</a></span>
and its <span class="key"><kbd>📦 Add</kbd></span> tab, where you can easily install them.</p></div>
<section id=""><div class="inner">
<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://radio.net/" title="http://radio.net/">Radio.net</a></span></span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">Radio.net is a European radio directory. It nicely catalogues
    stations into genres as usual. The primary list is ordered by
    popularity even. </p></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://magnatune.com/" title="http://magnatune.com/">Magnatune</a></span></span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">Magnatune is an independent label for artists. It makes most
    albums available for free listening with only a few intermittent
    adverts. Otherwise it's a flatrate payable music discovery and
    download service. </p></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://publicradiofan.com/" title="http://publicradiofan.com/">PublicRadioFan</a></span></span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">PublicRadioFan.com hosts a huge lists of worldwide radio stations.
    This plugin displays just the genre list though.</p></div></div>
</div></section><section id=""><div class="inner">











<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://liveradio.ie/" title="http://liveradio.ie/">Liveradio.ie</a></span></span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">Is an Ireland-based radio station directory.</p></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://radiosure.com/" title="http://radiosure.com/">RadioSure</a></span></span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">Station database that's readily available as CSV list. You'll
    currently need the tmp_clean_multiurl plugin as well, as most entries
    supply multiple URLs, but action.py doesn't support those currently.</p></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://vtuner.com/" title="http://vtuner.com/">vTuner</a></span></span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">Categorized station list by a cross-platform streaming service provider. </p></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://reciva.com/" title="http://reciva.com/">Reciva</a></span></span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">Reciva is an iPhone app, with a browsable station list. </p></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://house-mixes.com/" title="http://house-mixes.com/">house-mixes</a></span></span></h4></div>
<div class="region"><div class="contents pagewide"><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></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://punkcast.com/" title="http://punkcast.com/">PunkCast</a></span></span></h4></div>
<div class="region"><div class="contents pagewide"><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></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">📻 GrLittleRadioPlayer</span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">Great Little Radio Player is another Linux desktop radio browser.
    It comes with a default set of categorized stations. This plugin merely
    imports that list as static directory. </p></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">📻 File browser</span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">You can also browse local files with streamtuner2 using the file
    browser plugin. It must be configured with your music collection path.
    It's not a default plugin, because this isn't really what Streamtuner2
    is made for. There are way better local music collection managers for
    Linux. It's just here for convenience, and displays files just as any
    other channel list. It has no specific file management features. (ID3
    editing or file renaming were planned, but never implemented.) </p></div></div>
</div></section><section id=""><div class="inner">





<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">📻 <span class="link"><a href="http://radiolist.net/" title="http://radiolist.net/">radiolist.net</a></span></span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">Is a continent/country-oriented radio directory. The stream formats
    vary wildly however.</p></div></div>
</div></section><section id=""><div class="inner">






<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">📻 Compound</span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">The compound channel is a meta plugin. It can aggregate categories
    from other channel plugins on a per-category basis. You for example
    can mash Top40 or Classic genres from Shoutcast, Xiph, InternetRadio,
    Tunein, etc. Which avoids switching between channel tabs somewhat. </p></div></div>
</div></section>
</div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h3 class="subtitle"><span class="subtitle">Repository</span></h3></div>
<div class="region"><div class="contents pagewide"><p class="p">See also the list of
<span class="link"><a href="http://fossil.include-once.org/streamtuner2/wiki/plugins" title="http://fossil.include-once.org/streamtuner2/wiki/plugins">available
plugins</a></span> in the project wiki.</p></div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
<li class="links ">
<a href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </a><span class="desc"> — User plugin installation</span>
</li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/contrib_features.html from [49acb3febc] to [f9342377b0].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>→ Feature plugins</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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">→ Feature plugins</span></h1></div>
<div class="region">
<div class="contents"></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title"><span class="key"><kbd>🔌 Feature</kbd></span> plugins and settings</span></h2></div>
<div class="region">
<div class="contents"><p class="p">Extra functionality and behaviour changes are available in
the <span class="key"><kbd>🔌 Feature</kbd></span> <span class="link"><a href="configuration.html" title="Configuration / Settings dialog">configuration</a></span>
section.</p></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h3 class="title"><span class="title">🔌 Filter Bitrate</span></h3></div>
<div class="region"><div class="contents">
<p class="p">Some channels provide lower-quality audio streams. In particular
  Xiph lists some awful radio stations. And this plugin helps filtering
  those out of station lists.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">MP3 streams often start to sound okay at 96kbit/s.</p></li>
<li class="list"><p class="p">Whereas OGG Vorbis or AAC are sometimes acceptable at 64kbit/s already.</p></li>
</ul></div></div></div>
<p class="p">Note that you may end up with empty channel lists
  altogether if you set these options too high. Some channels provide all
  their streams with 64kbit/s only.</p>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h3 class="title"><span class="title">🔌 Channel toolbar link</span></h3></div>
<div class="region"><div class="contents">
<p class="p">Adds a toolbar entry which shows the current channel/directory
  service title and its homepage link. Such as:</p>
<div class="code"><pre class="contents "><span class="span">    ▶    ●    🏠     Shoutcast</span>
  play rcrd  hmpg   <span class="link"><a href="http://shoutcast.com/" title="http://shoutcast.com/">//shoutcast.com/</a></span>
  </pre></div>
<p class="p">It depends on the "update window title" option being enabled.</p>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h3 class="title"><span class="title">🔌 Export all stations</span></h3></div>
<div class="region"><div class="contents">
<p class="p">There's an "Export All" plugin available. It adds an entry under
  <span class="guiseq"><span class="gui">Main menu</span> ▸ <span class="gui">Extensions</span> ▸ <span class="gui">Export all stations</span></span>.
  Which allows to export all stations from the currently visible channel category.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">This is of course intended primarily for saving your bookmarks.</p></li>
<li class="list"><p class="p">And it allows to import radio lists into any other music player  or playlist collection/management app (such as Rhythmbox).</p></li>
<li class="list"><p class="p">You can set the desired playlist format in the file saving dialog that pops up.</p></li>
</ul></div></div></div>
</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>
<div class="region"><div class="contents">
<p class="p">This plugin merely masks Streamtuner2 as an ordinary web browser when retrieving station lists.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p"> It's technically unneeded, as ST2 isn't stressful to directory websites and not blocked anywhere. </p></li>
<li class="list"><p class="p">It's only useful as additional privacy feature really, but shouldn't be used habitually. </p></li>
</ul></div></div></div>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h3 class="title"><span class="title">🔌 History</span></h3></div>
<div class="region"><div class="contents"><p class="p">Provides the small "history" category in the bookmarks tab. The length of
  which is configurable (defaults to 20).</p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h3 class="title"><span class="title">🔌 Links to directory services</span></h3></div>
<div class="region"><div class="contents"><p class="p">Adds a list of weblinks to other online music services in the "links" category
  within the bookmarks tab.</p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h3 class="title"><span class="title">🔌 Recording options</span></h3></div>
<div class="region"><div class="contents">
<p class="p">Overrides the <span class="gui"><span class="key"><kbd>●</kbd></span> record</span> button to
  not start streamripper right away. Instead it prompts for additional
  settings before proceeding.</p>
<p class="p">Common options are conveniently listed and saveable on a per-station
  basis. Which allows to suppress stream editing (record just one long
  MP3 file), or file naming schemes.</p>
<p class="p">Additionally it supports options of following recording backends:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p"><span class="app">streamrippper</span> - for radio stations</p></li>
<li class="list"><p class="p"><span class="app">fPls/fIcy</span> - for radio stations</p></li>
<li class="list"><p class="p"><span class="app">youtube-dl</span> - video downloads</p></li>
<li class="list"><p class="p"><span class="app">wget</span> - plain MOD/ZIP files</p></li>
</ul></div></div></div>
<p class="p">The plugin provides config options of its own, such as a default
  output directory, or how many / how detailed options to show.</p>
</div></div>
</div></div>
</div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Core feature plugins</span></h2></div>
<div class="region"><div class="contents">
<p class="p">Following plugins are covered more in-depth in the according manual
 sections:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p"><span class="link"><a href="dragndrop.html" title="Drag'n'drop">🔌 Drag and Drop</a></span></p></li>
<li class="list"><p class="p"><span class="link"><a href="favicon.html" title="Station favicons">🔌 Favicons</a></span></p></li>
<li class="list"><p class="p"><span class="link"><a href="global_key.html" title="Global_key">🔌 Global key shortcut</a></span></p></li>
<li class="list"><p class="p"><span class="link"><a href="timer.html" title="Timer">🔌 Timer</a></span></p></li>
<li class="list"><p class="p"><span class="link"><a href="specbuttons.html" title="Special extra/mini buttons">🔌 Specbuttons</a></span></p></li>
</ul></div></div></div>
<p class="p">The "<span class="link"><a href="search.html" title="Searching">search</a></span>",
 "<span class="link"><a href="configuration.html" title="Configuration / Settings dialog">configwin</a></span>" and
 "<span class="link"><a href="edit.html" title="Edit">streamedit</a></span>" plugins are considered
 built-ins and cannot be disabled.</p>
</div></div>
</div></div>
<div id="contrib" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Downloadable contrib/ feature plugins</span></h2></div>
<div class="region">
<div class="contents"><p class="p">The <span class="link"><a href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager</a></span> lists more
downloadable feature plugins in the <span class="key"><kbd>📦 Add</kbd></span> tab.</p></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">🔌 Soundcloud streaming</span></h4></div>
<div class="region"><div class="contents">
<p class="p">Enables playback of soundcloud.com links, which are only used
    in the <span class="link"><a href="channel_reddit.html" title="channel_reddit">📻 Reddit</a></span> plugin currently.
    Homepage links are transformed into direct MP3 streaming addresses
    on playback.</p>




<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">Depends on python-soundcloud, which you can install per
    <span class="cmd">pip install soundcloud</span>.</p></div></div></div></div>

<p class="p"> Alternatively you could configure an external player like <span class="link"><a href="http://github.com/rekado/soundCLI" title="http://github.com/rekado/soundCLI">soundcli</a></span> of course.
    Use the pseudo type "audio/soundcloud" for the player settings table.</p>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">🔌 dev_faulthandler</span></h4></div>
<div class="region"><div class="contents"><p class="p">This is a pure development plugin, meant to debug ST2 crashes.</p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">🔌 bookmarks_show_extra</span></h4></div>
<div class="region"><div class="contents"><p class="p">Is a slim UI adaption to show the `extra` field in the bookmarks
    channel. This field can contain user comments, but is used per default
    to store the originating channel in.</p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">🔌 new_station</span></h4></div>
<div class="region"><div class="contents"><p class="p">(Still unfinished). Small plugin to provide an "Add station..."
    menu entry. Note that ST2 is not meant as playlist manager, which is
    why this isn't a built-in feature. However, it's oft-requested anyway.</p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">🔌 tmp_clean_multiurl</span></h4></div>
<div class="region"><div class="contents"><p class="p">Strips extra space-separate URLs from station list. (Currently only
    required for 📻 RadioSure channel. Later ST2 versions will likely support
    such entries per default again).</p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">🔌 Gtk theme setting</span></h4></div>
<div class="region"><div class="contents">
<p class="p">You can set a custom theme for Streamtuner2 using the gtk_theme
    plugin. It ought to list all available themes for Gtk2 or Gtk3 in
    the according dropdown box. The "apply instantly" option may help
    with enabling them right away.</p>










<div class="note note-bug" title="Bug"><div class="inner"><div class="region"><div class="contents"><p class="p">Take note that not all Gtk themes will work,
    and some might crash streamtuner2.</p></div></div></div></div>

<p class="p">If you see ST2 hang at startup, then either edit
    <span class="file">settings.json</span> to remove the <span class="cmd">"theme": "..."</span>
    name, or use the <span class="code"><span class="app">streamtuner2 -d gtk_theme</span></span>
    start command.</p>
<p class="p">To install/enable themes just for ST2, you could create a
    <span class="file">~/.config/streamtuner2/themes/</span> folder, or one below
    <span class="file">/usr/share/streamtuner2/themes/</span> even.</p>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">🔌 stop_button</span></h4></div>
<div class="region"><div class="contents"><p class="p">Adds the toolbar button to stop streamripper/fpls - same as in
    streamtuner1. Has become kind of redundant due to the newer
    <span class="link"><a href="specbuttons.html" title="Special extra/mini buttons">🔌 specbuttons</a></span> plugin.</p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">🔌 Config prefs</span></h4></div>
<div class="region"><div class="contents">
<p class="p">Introduces three main menu entries:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list">
<div class="title title-item"><h4><span class="title"><span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">Extensions</span> ▸ <span class="gui">Config save</span></span></span></h4></div>
<p class="p">Saves the streamtuner2.json file verbatim.</p>
</li>
<li class="list">
<div class="title title-item"><h4><span class="title"><span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">Extensions</span> ▸ <span class="gui">Config restore</span></span></span></h4></div>
<p class="p">While the file dialog incorrectly says and behaves like a file
       save dialog, it does in fact open and load the JSON file.</p>
</li>
<li class="list">
<div class="title title-item"><h4><span class="title"><span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">Extensions</span> ▸ <span class="gui">Config delete</span></span></span></h4></div>
<p class="p">The config reset additionally opens the settings window and
       requires you to hit <span class="key"><kbd>Save</kbd></span> for confirmation. In any case
       ST2 should also be restarted afterwards to unload disabled plugins.</p>
</li>
</ul></div></div></div>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">🔌 Cache reset</span></h4></div>
<div class="region"><div class="contents"><p class="p">Adds a <span class="key"><kbd>Cache reset</kbd></span> button in the Options tab of
    the settings window. It shows how much space all cache files of
    ST2 occupy. Usually the icons take up most, while the channel/station
    archive is often just 2-3 MB. Temporary m3u/pls files can also
    be deleted. → Tick the parts you want to have removed before hitting
    the reset button.</p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h4 class="subtitle"><span class="subtitle">🔌 OGG Icon</span></h4></div>
<div class="region"><div class="contents"><p class="p">Introduces small state icons to make higher-quality Vorbis and
    Opus stations stand out. (Not all channels provide exact format
    information, so you'll mostly notice for Jamendo and Xiph.) </p></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="index.html#extra" title="Additional features">Additional features</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>
<li class="links ">
<a href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </a><span class="desc"> — User plugin installation</span>
</li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|






<
<
|

|
|
|

|


|
|
|











|
<
|
|


|

|


|
<
|
|









|
<
|
|





>
>
>
>
|
|

|
|
|






|
<
|
|

|
<
|
|

|
<
|
|




|











|

|
<
|
|














|
<
|

|

|
|
|




>
>
>
>
|
|
>



|
<
|
|
|
<
|
|


|
<
|
|


|
<
|
|


|
<
|
|




>
>
>
>
>
>
>
>
>
>
|
|
>








|
<
|
|


|
<
|
|



















|
<
|
|





|
<
|
|


>
>
>
>
>
>
|
|
|
|
|
|









|

|
<
<
|

1
2
3
4
5
6
7
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
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

102
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
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>→ Feature plugins</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">→ Feature plugins</span></h1></div>
<div class="region">
<div class="contents pagewide"></div>
<section id=""><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title"><span class="key"><kbd>🔌 Feature</kbd></span> plugins and settings</span></h2></div>
<div class="region">
<div class="contents pagewide"><p class="p">Extra functionality and behaviour changes are available in
the <span class="key"><kbd>🔌 Feature</kbd></span> <span class="link"><a href="configuration.html" title="Configuration / Settings dialog">configuration</a></span>
section.</p></div>
<section id=""><div class="inner">
<div class="hgroup pagewide"><h3 class="title"><span class="title">🔌 Filter Bitrate</span></h3></div>
<div class="region"><div class="contents pagewide">
<p class="p">Some channels provide lower-quality audio streams. In particular
  Xiph lists some awful radio stations. And this plugin helps filtering
  those out of station lists.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">MP3 streams often start to sound okay at 96kbit/s.</p></li>
<li class="list"><p class="p">Whereas OGG Vorbis or AAC are sometimes acceptable at 64kbit/s already.</p></li>
</ul></div></div></div>
<p class="p">Note that you may end up with empty channel lists
  altogether if you set these options too high. Some channels provide all
  their streams with 64kbit/s only.</p>
</div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h3 class="title"><span class="title">🔌 Channel toolbar link</span></h3></div>
<div class="region"><div class="contents pagewide">
<p class="p">Adds a toolbar entry which shows the current channel/directory
  service title and its homepage link. Such as:</p>
<div class="code"><pre class="contents"><code><span class="span">    ▶    ●    🏠     Shoutcast</span>
  play rcrd  hmpg   <span class="link"><a href="http://shoutcast.com/" title="http://shoutcast.com/">//shoutcast.com/</a></span>
  </code></pre></div>
<p class="p">It depends on the "update window title" option being enabled.</p>
</div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h3 class="title"><span class="title">🔌 Export all stations</span></h3></div>
<div class="region"><div class="contents pagewide">
<p class="p">There's an "Export All" plugin available. It adds an entry under
  <span class="guiseq"><span class="gui">Main menu</span> ▸ <span class="gui">Extensions</span> ▸ <span class="gui">Export all stations</span></span>.
  Which allows to export all stations from the currently visible channel category.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">This is of course intended primarily for saving your bookmarks.</p></li>
<li class="list"><p class="p">And it allows to import radio lists into any other music player  or playlist collection/management app (such as Rhythmbox).</p></li>
<li class="list"><p class="p">You can set the desired playlist format in the file saving dialog that pops up.</p></li>
</ul></div></div></div>
</div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h3 class="title"><span class="title">🔌 RadioTray hook</span></h3></div>
<div class="region"><div class="contents pagewide">
<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">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><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></section><section id=""><div class="inner">
<div class="hgroup pagewide"><h3 class="title"><span class="title">🔌 User Agent Switcher</span></h3></div>
<div class="region"><div class="contents pagewide">
<p class="p">This plugin merely masks Streamtuner2 as an ordinary web browser when retrieving station lists.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p"> It's technically unneeded, as ST2 isn't stressful to directory websites and not blocked anywhere. </p></li>
<li class="list"><p class="p">It's only useful as additional privacy feature really, but shouldn't be used habitually. </p></li>
</ul></div></div></div>
</div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h3 class="title"><span class="title">🔌 History</span></h3></div>
<div class="region"><div class="contents pagewide"><p class="p">Provides the small "history" category in the bookmarks tab. The length of
  which is configurable (defaults to 20).</p></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h3 class="title"><span class="title">🔌 Links to directory services</span></h3></div>
<div class="region"><div class="contents pagewide"><p class="p">Adds a list of weblinks to other online music services in the "links" category
  within the bookmarks tab.</p></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h3 class="title"><span class="title">🔌 Recording options</span></h3></div>
<div class="region"><div class="contents pagewide">
<p class="p">Overrides the <span class="gui"><span class="key"><kbd>●</kbd></span> record</span> button to
  not start streamripper right away. Instead it prompts for additional
  settings before proceeding.</p>
<p class="p">Common options are conveniently listed and saveable on a per-station
  basis. Which allows to suppress stream splitting (record just one long
  MP3 file), or file naming schemes.</p>
<p class="p">Additionally it supports options of following recording backends:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p"><span class="app">streamrippper</span> - for radio stations</p></li>
<li class="list"><p class="p"><span class="app">fPls/fIcy</span> - for radio stations</p></li>
<li class="list"><p class="p"><span class="app">youtube-dl</span> - video downloads</p></li>
<li class="list"><p class="p"><span class="app">wget</span> - plain MOD/ZIP files</p></li>
</ul></div></div></div>
<p class="p">The plugin provides config options of its own, such as a default
  output directory, or how many / how detailed options to show.</p>
</div></div>
</div></section>
</div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Core feature plugins</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">Following plugins are covered more in-depth in the according manual
 sections:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p"><span class="link"><a href="dragndrop.html" title="Drag'n'drop">🔌 Drag and Drop</a></span></p></li>
<li class="list"><p class="p"><span class="link"><a href="favicon.html" title="Station favicons">🔌 Favicons</a></span></p></li>
<li class="list"><p class="p"><span class="link"><a href="global_key.html" title="Global_key">🔌 Global key shortcut</a></span></p></li>
<li class="list"><p class="p"><span class="link"><a href="timer.html" title="Timer">🔌 Timer</a></span></p></li>
<li class="list"><p class="p"><span class="link"><a href="specbuttons.html" title="Special extra/mini buttons">🔌 Specbuttons</a></span></p></li>
</ul></div></div></div>
<p class="p">The "<span class="link"><a href="search.html" title="Searching">search</a></span>",
 "<span class="link"><a href="configuration.html" title="Configuration / Settings dialog">configwin</a></span>" and
 "<span class="link"><a href="edit.html" title="Edit">streamedit</a></span>" plugins are considered
 built-ins and cannot be disabled.</p>
</div></div>
</div></section><section id="contrib"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Downloadable contrib/ feature plugins</span></h2></div>
<div class="region">
<div class="contents pagewide"><p class="p">The <span class="link"><a href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager</a></span> lists more
downloadable feature plugins in the <span class="key"><kbd>📦 Add</kbd></span> tab.</p></div>
<section id=""><div class="inner">
<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">🔌 Soundcloud streaming</span></h4></div>
<div class="region"><div class="contents pagewide">
<p class="p">Enables playback of soundcloud.com links, which are only used
    in the <span class="link"><a href="channel_reddit.html" title="channel_reddit">📻 Reddit</a></span> plugin currently.
    Homepage links are transformed into direct MP3 streaming addresses
    on playback.</p>
<div class="note" title="Note">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">Depends on python-soundcloud, which you can install per
    <span class="cmd">pip install soundcloud</span>.</p></div></div></div>
</div>
<p class="p"> Alternatively you could configure an external player like <span class="link"><a href="http://github.com/rekado/soundCLI" title="http://github.com/rekado/soundCLI">soundcli</a></span> of course.
    Use the pseudo type "audio/soundcloud" for the player settings table.</p>
</div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">🔌 dev_faulthandler</span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">This is a pure development plugin, meant to debug ST2 crashes.</p></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">🔌 bookmarks_show_extra</span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">Is a slim UI adaption to show the `extra` field in the bookmarks
    channel. This field can contain user comments, but is used per default
    to store the originating channel in.</p></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">🔌 new_station</span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">(Still unfinished). Small plugin to provide an "Add station..."
    menu entry. Note that ST2 is not meant as playlist manager, which is
    why this isn't a built-in feature. However, it's oft-requested anyway.</p></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">🔌 tmp_clean_multiurl</span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">Strips extra space-separate URLs from station list. (Currently only
    required for 📻 RadioSure channel. Later ST2 versions will likely support
    such entries per default again).</p></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">🔌 Gtk theme setting</span></h4></div>
<div class="region"><div class="contents pagewide">
<p class="p">You can set a custom theme for Streamtuner2 using the gtk_theme
    plugin. It ought to list all available themes for Gtk2 or Gtk3 in
    the according dropdown box. The "apply instantly" option may help
    with enabling them right away.</p>
<div class="note note-bug" title="Bug">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m7 8v7h0.0078a5 6.3027 0 0 0 3.9922 5.867v-6.867h2v6.871a5 6.3027 0 0 0 3.988-5.871h0.012v-7h-10z"></path>
 <path class="yelp-svg-fill" d="m12 3a4 4 0 0 0-4 4h8a4 4 0 0 0-4-4z"></path>
 <path class="yelp-svg-fill" d="m16 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m9.2045 16.361h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m21.704 4.2894h6v1h-6z"></path>
 <path class="yelp-svg-fill" d="m2 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m5.5801 4.3612h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m-6.9199 16.289h6v1h-6z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">Take note that not all Gtk themes will work,
    and some might crash streamtuner2.</p></div></div></div>
</div>
<p class="p">If you see ST2 hang at startup, then either edit
    <span class="file">settings.json</span> to remove the <span class="cmd">"theme": "..."</span>
    name, or use the <span class="code"><span class="app">streamtuner2 -d gtk_theme</span></span>
    start command.</p>
<p class="p">To install/enable themes just for ST2, you could create a
    <span class="file">~/.config/streamtuner2/themes/</span> folder, or one below
    <span class="file">/usr/share/streamtuner2/themes/</span> even.</p>
</div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">🔌 stop_button</span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">Adds the toolbar button to stop streamripper/fpls - same as in
    streamtuner1. Has become kind of redundant due to the newer
    <span class="link"><a href="specbuttons.html" title="Special extra/mini buttons">🔌 specbuttons</a></span> plugin.</p></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">🔌 Config prefs</span></h4></div>
<div class="region"><div class="contents pagewide">
<p class="p">Introduces three main menu entries:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list">
<div class="title title-item"><h4><span class="title"><span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">Extensions</span> ▸ <span class="gui">Config save</span></span></span></h4></div>
<p class="p">Saves the streamtuner2.json file verbatim.</p>
</li>
<li class="list">
<div class="title title-item"><h4><span class="title"><span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">Extensions</span> ▸ <span class="gui">Config restore</span></span></span></h4></div>
<p class="p">While the file dialog incorrectly says and behaves like a file
       save dialog, it does in fact open and load the JSON file.</p>
</li>
<li class="list">
<div class="title title-item"><h4><span class="title"><span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">Extensions</span> ▸ <span class="gui">Config delete</span></span></span></h4></div>
<p class="p">The config reset additionally opens the settings window and
       requires you to hit <span class="key"><kbd>Save</kbd></span> for confirmation. In any case
       ST2 should also be restarted afterwards to unload disabled plugins.</p>
</li>
</ul></div></div></div>
</div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">🔌 Cache reset</span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">Adds a <span class="key"><kbd>Cache reset</kbd></span> button in the Options tab of
    the settings window. It shows how much space all cache files of
    ST2 occupy. Usually the icons take up most, while the channel/station
    archive is often just 2-3 MB. Temporary m3u/pls files can also
    be deleted. → Tick the parts you want to have removed before hitting
    the reset button.</p></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">🔌 OGG Icon</span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">Introduces small state icons to make higher-quality Vorbis and
    Opus stations stand out. (Not all channels provide exact format
    information, so you'll mostly notice for Jamendo and Xiph.) </p></div></div>
</div></section><section id=""><div class="inner">
<div class="hgroup pagewide"><h4 class="subtitle"><span class="subtitle">🔌  Win32/subprocess</span></h4></div>
<div class="region"><div class="contents pagewide"><p class="p">Wraps the player/application exec() method. Instead of simple
    shell execution, uses the Python subprocess module or win32 API
    functions. This is mostly unneeded on Linux (kills a few features
    even), but avoids the cmd.exe popup and delay on Windows. Highly
    experimental at the moment.</p></div></div>
</div></section>
</div>
</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#extra" title="Additional features">Additional features</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>
<li class="links ">
<a href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </a><span class="desc"> — User plugin installation</span>
</li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Deleted help/html/dirble.html version [7d6534e40b].

1
2
3
4
5
6
7
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
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
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Dirble</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_dirble.png" class="media media-inline" alt=""></span></span> Dirble</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://dirble.com/" title="http://dirble.com/">//dirble.com/</a></span></span></h2>
</div>
<div class="region">
<div class="contents">
<p class="p">Dirble.com is another radio station directory, based on
	user-contributed entries and automatic streaming server polling.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Provides a JSON API, which in v2 is easy to extract from.</p></li>
<li class="list"><p class="p">Station lists contain even station homepages mostly.</p></li>
<li class="list"><p class="p">And the channel plugin selects among the available
         streaming URLs based on format (Ogg, AAC, preferred over MP3) and
         maximum bitrate.</p></li>
</ul></div></div></div>
</div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h3 class="subtitle"><span class="subtitle">Station status indicators</span></h3></div>
<div class="region"><div class="contents">
<p class="p">For the dirble plugin each station entry may contain a stream
        status icon. They often just represent a heuristic check or general
        reachability statistic. You can usually start playback without
        paying attention to the status icons: </p>
<div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms">▮▮</dt>
<dd class="terms"><p class="p">Maybe currently inactive.</p></dd>
<dt class="terms">▶▶▮</dt>
<dd class="terms"><p class="p">Available stream, no recent outage.</p></dd>
<dt class="terms">◀◀</dt>
<dd class="terms"><p class="p">Unclear Status 2</p></dd>
</dl></div></div></div>
</div></div>
</div></div>
<div id="" 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">There's a hidden config option for a custom API key.
        It's perhaps redundant. Should streamtuner2 -D however reveal an error,
        you can configure your own account in <span class="file">settings.json</span>.
        </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="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
















































































































































Modified help/html/dragndrop.html from [53d8691182] to [99d9f80421].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Drag'n'drop</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » </div></div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Drag'n'drop</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">With the DND feature plugin enabled, there's an even simpler
	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
	takes care to unpack PLS, XPSF or M3U files and a few other
	formats. If you drag in streams/playlists from other applications,
	it'll usually be expanded.</p>



<div class="note note-warning" title="Warning"><div class="inner"><div class="region"><div class="contents"><p class="p">Take note that Streamtuner2 is not intended as playlist manager
	though. It will only accept radio streaming lists and discard
	local MP3/Ogg files.</p></div></div></div></div>

<p class="p">The import capabilities also allow to move a station entry
	from one of the channel tabs into your bookmarks list. Simply drag
	an entry over the "bookmarks" notebook tab then further along into
	the favourite list. - While this also works the other way round,
	it doesn't make sense to add bookmarks to Shoutcast/Xiph/etc.
	Because when their lists get refreshed (<span class="key"><kbd>F5</kbd></span>) all custom
	entries are usually dropped.</p>
</div></div>
</div></div>
<div id="configuration" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Export format configuration</span></h2></div>
<div class="region"><div class="contents">
<p class="p">Use <span class="key"><kbd>F12</kbd></span> and change the DND export format. Again
	PLS is most universal, XSPF most complete, but other formats
	still available. Use the "desktop" format only if you want to
	bookmark direct playback links on your desktop.</p>




<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">This is a workaround, because XDND is commonly just implemented
	as dumb file transfer scheme. Hardly any application specifies the
	actually desired formats, thus there's no auto-negotiation. ST2
	therefore has to create temporary export files and hope for the
	best.</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="index.html#extra" title="Additional features">Additional features</a></li></ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|
|
<
<

|












|
|
|




>
>
>
|

|
>








|
<
|
|




>
>
>
>
|



|
|

|
|
|



|

|
<
<
|

1
2
3
4
5
6
7
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
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Drag'n'drop</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » </div></div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Drag'n'drop</span></h1></div>


<div class="region">
<div class="contents pagewide">
<p class="p">With the DND feature plugin enabled, there's an even simpler
	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>
<section id="import"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Importing</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">Playlist importing also works mostly. Here the action module
	takes care to unpack PLS, XPSF or M3U files and a few other
	formats. If you drag in streams/playlists from other applications,
	it'll usually be expanded.</p>
<div class="note note-warning" title="Warning">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m11.92 3.3047a1.3872 1.3872 0 0 0-1.129 0.6933l-8.6055 14.922a1.3872 1.3872 0 0 0 1.2012 2.08l17.226-8e-3a1.3872 1.3872 0 0 0 1.201-2.08l-8.619-14.916a1.3872 1.3872 0 0 0-1.136-0.6913 1.3872 1.3872 0 0 0-0.139 0zm0.08 4.6953a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1 1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1zm0 9a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">Take note that Streamtuner2 is not intended as playlist manager
	though. It will only accept radio streaming lists and discard
	local MP3/Ogg files.</p></div></div></div>
</div>
<p class="p">The import capabilities also allow to move a station entry
	from one of the channel tabs into your bookmarks list. Simply drag
	an entry over the "bookmarks" notebook tab then further along into
	the favourite list. - While this also works the other way round,
	it doesn't make sense to add bookmarks to Shoutcast/Xiph/etc.
	Because when their lists get refreshed (<span class="key"><kbd>F5</kbd></span>) all custom
	entries are usually dropped.</p>
</div></div>
</div></section><section id="configuration"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Export format configuration</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">Use <span class="key"><kbd>F12</kbd></span> and change the DND export format. Again
	PLS is most universal, XSPF most complete, but other formats
	still available. Use the "desktop" format only if you want to
	bookmark direct playback links on your desktop.</p>
<div class="note" title="Note">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">This is a workaround, because XDND is commonly just implemented
	as dumb file transfer scheme. Hardly any application specifies the
	actually desired formats, thus there's no auto-negotiation. ST2
	therefore has to create temporary export files and hope for the
	best.</p></div></div></div>
</div>
</div></div>
</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#extra" title="Additional features">Additional features</a></li></ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/edit.html from [915d7fa2e4] to [67b9537e07].


1
2
3
4
5
6






7
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
40
41
42
43
44
45
46
47
48
49
50
51

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Edit</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</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#functions" title="Functions">Functions</a> » </div>
</div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Edit</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">You probably won't need this often. But there's an
	<span class="guiseq"><span class="gui"></span> ▸ <span class="gui">Edit/Details</span></span> context menu
	which brings up a station editor:
	</p>
<div class="media media-image"><div class="inner"><img src="img/streamedit.png" class="media media-block" alt=""></div></div>
<p class="p">You can see the standard title and genre fields here. But also a
	few internally kept infos. For example the "url" field contains the
	actual pls/m3u/server address. While the "format" can list a
	non-standard audio compression type.</p>




<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">This dialog is primarily useful for your personal bookmarks.
	It allows to shorten or rename things. You can even use
	<span class="gui">new</span> to add new entries this way.
	(Which doesn't make sense in regular channel categories, because
	changes will be lost once you hit Reload). A proper "Add station..."
	dialog is planned though.</p></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="streams.html#actions" title="Actions">Actions</a></li>
<li class="links "><a href="index.html#functions" title="Functions">Functions</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|




<
<
|

|









>
>
>
>
|




|

>
|
|
|






|

|
<
<
|

1
2
3
4
5
6
7
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57


58
59
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Edit</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</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#functions" title="Functions">Functions</a> » </div>


</div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Edit</span></h1></div>
<div class="region">
<div class="contents pagewide">
<p class="p">You probably won't need this often. But there's an
	<span class="guiseq"><span class="gui"></span> ▸ <span class="gui">Edit/Details</span></span> context menu
	which brings up a station editor:
	</p>
<div class="media media-image"><div class="inner"><img src="img/streamedit.png" class="media media-block" alt=""></div></div>
<p class="p">You can see the standard title and genre fields here. But also a
	few internally kept infos. For example the "url" field contains the
	actual pls/m3u/server address. While the "format" can list a
	non-standard audio compression type.</p>
<div class="note" title="Note">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">This dialog is primarily useful for your personal bookmarks.
	It allows to shorten or rename things. You can even use
	<span class="gui">new</span> to add new entries this way.
	(Which doesn't make sense in regular channel categories, because
	changes will be lost once you hit Reload). A proper "Add station..."
	dialog is planned though.</p></div></div></div>
</div>
</div>
<section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="streams.html#actions" title="Actions">Actions</a></li>
<li class="links "><a href="index.html#functions" title="Functions">Functions</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Added help/html/exportcat.html version [b528a7d076].

































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
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
40
41
42
43
44
45
46
47
48
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Export all stations</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><div class="page" role="main">
<div class="header"><div class="trails" role="navigation">
<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> » </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> » </div>
</div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Export all stations</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">There's an "Export All" plugin available. It adds an entry under
	<span class="guiseq"><span class="gui">Main menu</span> ▸ <span class="gui">Extensions</span> ▸ <span class="gui">Export all stations</span></span>.
	Which allows to export all stations from the currently visible channel category.</p>
<p class="p">This is of course intended primarily for saving your bookmarks.
	And it allows to import radio lists into any other music player
	or playlist collection/management app (such as Rhythmbox).</p>
</div>
<div id="configuration" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Configuration option</span></h2></div>
<div class="region"><div class="contents">
<p class="p">You can set the default export format in the settings dialog
	<span class="key"><kbd>F12</kbd></span>.</p>
<p class="p">It supports all common export formats now, with .PLS being the
	default.</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="index.html#extra" title="Additional features">Additional features</a></li></ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>

Added help/html/extending.html version [bbaab3fc5e].









































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
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
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
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Extension Howto</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#advanced" title="Advanced topics">Advanced topics</a> » </div></div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Extension Howto</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">Streamtuner2 is written in Python, a rather easy programming language. And it's also rather simple
	to write a new channel plugin.</p>
<p class="p">The basic layout of every channel plugin is as follows:</p>
<div class="code"><pre class="contents ">
from channels import *

class myplugin (ChannelPlugin):

    title = "MyNewChannel"
    module = "myplugin"
    homepage = "http://www.mymusicstation.com/"
    categories = []



    def update_categories(self):
    
        self.categories = []



    def update_streams(self, cat, force=0):

        entries = []

        # ...
        # get it from somewhere
        # ...        

        return entries
        
	</pre></div>
<p class="p">There are some self-explanatory description fields, and two important methods. Sometimes you
        don't need categories even. The update_streams() function often downloads a website, parses it
	with regular expressions or PyQuery / DOM methods, and packs into into a result list.</p>
<p class="p">Here entries is a list of dictionaries, with standardized entry names like "title" and "playing"
	for the description, and "homepage" for a browsable link, and most importantly "url" for the
	actual streaming link. Often you want to add a "genre" and "format" and "bitrate" info. But this depends
	on your plugins data source, really.</p>
</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="index.html#advanced" title="Advanced topics">Advanced topics</a></li></ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>

Modified help/html/favicon.html from [f10dc67d38] to [0b3ba853b9].


1
2
3
4
5
6






7
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
40
41
42
43

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Station favicons</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » </div></div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Station favicons</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">Per default you'll get a small logo / icon for any station
with a homepage link. They're automatically fetched and displayed
as soon as you play a radio entry.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">This functionality meanwhile resides in a plugin.</p></li>
<li class="list"><p class="p">It's available in the <span class="key"><kbd>🔌 Features</kbd></span> <span class="link"><a href="configuration.html" title="Configuration / Settings dialog">configuration</a></span> tab.</p></li>
<li class="list"><p class="p">Most configuration options are now collected there.</p></li>
</ul></div></div></div>
<p class="p">Some channels (Jamendo or Radionomy) provide small album previews
or banners even. Whereas normal favicons are just 16x16 pixel images.</p>




<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">Downloaded image files are meanwhile all sanitized (internally
converted to ensure they're really image files).
Albeit that's not strictly necessary for modern Gtk versions. (But
better safe than sorry).
Images are kept in the <span class="file">~/.config/streamtuner2/icons</span> directory
(or below <span class="file">%APPDATA%\</span> on Windows).
</p></div></div></div></div>
</div>

<div id="configuration" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Configuration 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">☑ Load favicons on playing</dt>
<dd class="terms"><p class="p">When starting to play a station, its homepage favicon is automatically downloaded
    in the background. It's even displayed right away as soon as it's there. You can
    also have a whole category/genre list updated right away per menu command
    <span class="guiseq"><span class="gui">Channel</span> ▸ <span class="gui">Update favicons...</span></span>.</p></dd>
<dt class="terms">☑ Homepage googling</dt>
<dd class="terms"><p class="p">When playing a station that doesn't have a homepage entry, streamtuner2 tries
>






>
>
>
>
>
>
|

|
|
|
<
<

|










>
>
>
>
|



|

|

>
|
|
|







1
2
3
4
5
6
7
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Station favicons</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » </div></div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Station favicons</span></h1></div>


<div class="region">
<div class="contents pagewide">
<p class="p">Per default you'll get a small logo / icon for any station
with a homepage link. They're automatically fetched and displayed
as soon as you play a radio entry.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">This functionality meanwhile resides in a plugin.</p></li>
<li class="list"><p class="p">It's available in the <span class="key"><kbd>🔌 Features</kbd></span> <span class="link"><a href="configuration.html" title="Configuration / Settings dialog">configuration</a></span> tab.</p></li>
<li class="list"><p class="p">Most configuration options are now collected there.</p></li>
</ul></div></div></div>
<p class="p">Some channels (Jamendo or Radionomy) provide small album previews
or banners even. Whereas normal favicons are just 16x16 pixel images.</p>
<div class="note" title="Note">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">Downloaded image files are meanwhile all sanitized (internally
converted to ensure they're really image files).
Albeit that's not strictly necessary for modern Gtk versions. (But
better safe than sorry).
Images are kept in the <span class="file">~/.cache/streamtuner2/icons</span> directory
(or below <span class="file">%APPDATA%\</span> on Windows).
</p></div></div></div>
</div>
</div>
<section id="configuration"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Configuration options</span></h2></div>
<div class="region"><div class="contents pagewide"><div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms">☑ Load favicons on playing</dt>
<dd class="terms"><p class="p">When starting to play a station, its homepage favicon is automatically downloaded
    in the background. It's even displayed right away as soon as it's there. You can
    also have a whole category/genre list updated right away per menu command
    <span class="guiseq"><span class="gui">Channel</span> ▸ <span class="gui">Update favicons...</span></span>.</p></dd>
<dt class="terms">☑ Homepage googling</dt>
<dd class="terms"><p class="p">When playing a station that doesn't have a homepage entry, streamtuner2 tries
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
    disable this for privacy reasons though.</p></dd>
<dt class="terms">☑ Omit placeholders</dt>
<dd class="terms"><p class="p">Oftentimes the Google favicon service sends back a placeholder icon
    (a blue mini globe), which doesn't look very interesting. So you might
    want to disable those. (They're still downloaded, but just not saved in
    the cache directory.)</p></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="index.html#extra" title="Additional features">Additional features</a></li></ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>







<
|
|
|



|

|
<
<
|

65
66
67
68
69
70
71

72
73
74
75
76
77
78
79
80


81
82
    disable this for privacy reasons though.</p></dd>
<dt class="terms">☑ Omit placeholders</dt>
<dd class="terms"><p class="p">Oftentimes the Google favicon service sends back a placeholder icon
    (a blue mini globe), which doesn't look very interesting. So you might
    want to disable those. (They're still downloaded, but just not saved in
    the cache directory.)</p></dd>
</dl></div></div></div></div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#extra" title="Additional features">Additional features</a></li></ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/filetypes.html from [d4f4b5e921] to [567ad64c68].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>File types</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#footer" title="index#footer"></a> » <a class="trail" href="glossary.html" title="Glossary">Glossary</a> › <a class="trail" href="glossary.html#filetypes" title="Filetypes">Filetypes</a> » </div></div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">File types</span></h1></div>
<div class="region">
<div class="contents"><p class="p">Streamtuner2 understands different playlist formats as used by various
directory services and audio players.</p></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">.M3U files</span></h2></div>
<div class="region"><div class="contents">
<p class="p">M3U files are one of the simplest playlist types. They're often used by desktop audio players.</p>
<p class="p">The MIME type of these files is <span class="sys">audio/x-mpegurl</span> and often contain just a list of URLs:</p>
<div class="code"><pre class="contents ">#M3U
http://123.45.67.189:8222/
http://123.45.67.222:7555/</pre></div>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">.PLS files</span></h2></div>
<div class="region"><div class="contents">
<p class="p">Playlist files often have the extension <span class="file">.pls</span>. It's the primary station
stream link format of SHOUTcast, and was popularized by WinAmp.</p>
<p class="p">The MIME type of these files is <span class="sys">audio/x-scpls</span> and they often look like: </p>
<div class="code"><pre class="contents ">[playlist]
numberofentries=1
File1=http://123.45.67.189:8222
Title1=(#1 - 555/2000) radio station Xyz - top 100 - all the hitzez
Length1=-1</pre></div>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">.JSON files</span></h2></div>
<div class="region"><div class="contents">
<p class="p">JSON is a data representation format derived from Javascript (the browser embedded
programming language for websites). It's commonly used because it provides a
nice balance between terse and exact data representation, while still being
readable.</p>
<p class="p">Streamtuner2 uses it to store all of its configuration and radio station data files.
The MIME type of these files is <span class="sys">application/json</span> and they often look like: </p>
<div class="code"><pre class="contents ">[
  {
    "title": "Station title..",
    "url": "http://1.2.3.4:8000/",
    "homepage": "http://radio.org/",
  },
  { "title": "second" }
]</pre></div>
<p class="p">It's also the basis for JSPF, the JSON variant of XSPF.</p>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">.XSPF files</span></h2></div>
<div class="region"><div class="contents">
<p class="p">The Xiph foundation manages the Ogg streaming format, Vorbis and other
codecs, and introduced the "XML shareable playlist format" or "XSPF" for short.
They're hard to look at and not very widespread. On the upside they
contain more meta information than any other playlist store.</p>
<p class="p">As MIME type <span class="sys">application/xspf+xml</span> and they often look like: </p>
<div class="code"><pre class="contents syntax brush-html">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;playlist version="1" xmlns="http://xspf.org/ns/0/"&gt;
  &lt;trackList&gt;
    &lt;track&gt;
      &lt;title&gt;Top 500 hitz station XY&lt;/title&gt;
      &lt;annotation&gt;Paris&lt;/annotation&gt;
      &lt;location&gt;http://123.24.67.189:8222&lt;/location&gt;
      &lt;info&gt;Pop, Rock, Future-Jazz&lt;/info&gt;
      &lt;homepage&gt;http://example.com/&lt;/homepage&gt;
    &lt;/track&gt;
  &lt;/trackList&gt;
&lt;/playlist&gt;</pre></div>
<p class="p">A variation of this format exists as JSPF, using JSON (yay!) instead of XML.</p>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Uncommon formats</span></h2></div>
<div class="region"><div class="contents">
<p class="p">Various other file formats are in existence, but not widely used:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list">
<div class="title title-item"><h3><span class="title">SMIL</span></h3></div>
<p class="p">Synchronized Multimedia Integration Language is an HTML-style
  audio/video/stream-link format.</p>
</li>
>






>
>
>
>
>
>
|

|
|
|
<
<

|

|
|
|


|

|

|
<
|
|



|



|

|
<
|
|






|






|


|
<
|
|





|










|


|
<
|
|







1
2
3
4
5
6
7
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
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>File types</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#footer" title="index#footer"></a> » <a class="trail" href="glossary.html" title="Glossary">Glossary</a> › <a class="trail" href="glossary.html#filetypes" title="Filetypes">Filetypes</a> » </div></div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">File types</span></h1></div>


<div class="region">
<div class="contents pagewide"><p class="p">Streamtuner2 understands different playlist formats as used by various
directory services and audio players.</p></div>
<section id=""><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">.M3U files</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">M3U files are one of the simplest playlist types. They're often used by desktop audio players.</p>
<p class="p">The MIME type of these files is <span class="sys">audio/x-mpegurl</span> and often contain just a list of URLs:</p>
<div class="code"><pre class="contents"><code class="">#M3U
http://123.45.67.189:8222/
http://123.45.67.222:7555/</code></pre></div>
</div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">.PLS files</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">Playlist files often have the extension <span class="file">.pls</span>. It's the primary station
stream link format of SHOUTcast, and was popularized by WinAmp.</p>
<p class="p">The MIME type of these files is <span class="sys">audio/x-scpls</span> and they often look like: </p>
<div class="code"><pre class="contents"><code class="">[playlist]
numberofentries=1
File1=http://123.45.67.189:8222
Title1=(#1 - 555/2000) radio station Xyz - top 100 - all the hitzez
Length1=-1</code></pre></div>
</div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">.JSON files</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">JSON is a data representation format derived from Javascript (the browser embedded
programming language for websites). It's commonly used because it provides a
nice balance between terse and exact data representation, while still being
readable.</p>
<p class="p">Streamtuner2 uses it to store all of its configuration and radio station data files.
The MIME type of these files is <span class="sys">application/json</span> and they often look like: </p>
<div class="code"><pre class="contents"><code class="syntax language-json">[
  {
    "title": "Station title..",
    "url": "http://1.2.3.4:8000/",
    "homepage": "http://radio.org/",
  },
  { "title": "second" }
]</code></pre></div>
<p class="p">It's also the basis for JSPF, the JSON variant of XSPF.</p>
</div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">.XSPF files</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">The Xiph foundation manages the Ogg streaming format, Vorbis and other
codecs, and introduced the "XML shareable playlist format" or "XSPF" for short.
They're hard to look at and not very widespread. On the upside they
contain more meta information than any other playlist store.</p>
<p class="p">As MIME type <span class="sys">application/xspf+xml</span> and they often look like: </p>
<div class="code"><pre class="contents"><code class="syntax language-xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;playlist version="1" xmlns="http://xspf.org/ns/0/"&gt;
  &lt;trackList&gt;
    &lt;track&gt;
      &lt;title&gt;Top 500 hitz station XY&lt;/title&gt;
      &lt;annotation&gt;Paris&lt;/annotation&gt;
      &lt;location&gt;http://123.24.67.189:8222&lt;/location&gt;
      &lt;info&gt;Pop, Rock, Future-Jazz&lt;/info&gt;
      &lt;homepage&gt;http://example.com/&lt;/homepage&gt;
    &lt;/track&gt;
  &lt;/trackList&gt;
&lt;/playlist&gt;</code></pre></div>
<p class="p">A variation of this format exists as JSPF, using JSON (yay!) instead of XML.</p>
</div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Uncommon formats</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">Various other file formats are in existence, but not widely used:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list">
<div class="title title-item"><h3><span class="title">SMIL</span></h3></div>
<p class="p">Synchronized Multimedia Integration Language is an HTML-style
  audio/video/stream-link format.</p>
</li>
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<p class="p">*.url (Internet Shortcut) files also are single-link containers.</p>
</li>
</ul></div></div></div>
<p class="p">For a comparison of what various audio players support, see also
<span class="link"><a href="http://fossil.include-once.org/streamtuner2/wiki/Playlist+format+support" title="http://fossil.include-once.org/streamtuner2/wiki/Playlist+format+support">Playlist format support</a></span>
in the ST2 fossil wiki.</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="glossary.html#filetypes" title="Filetypes">Filetypes</a></li></ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>







<
|
|
|



|

|
<
<
|

114
115
116
117
118
119
120

121
122
123
124
125
126
127
128
129


130
131
<p class="p">*.url (Internet Shortcut) files also are single-link containers.</p>
</li>
</ul></div></div></div>
<p class="p">For a comparison of what various audio players support, see also
<span class="link"><a href="http://fossil.include-once.org/streamtuner2/wiki/Playlist+format+support" title="http://fossil.include-once.org/streamtuner2/wiki/Playlist+format+support">Playlist format support</a></span>
in the ST2 fossil wiki.</p>
</div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="glossary.html#filetypes" title="Filetypes">Filetypes</a></li></ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/filtermusic.html from [ff0f366b5e] to [90cbdd2e4c].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> filtermusic</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_filtermusic.png" class="media media-inline" alt=""></span></span> filtermusic</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://filtermusic.net/" title="http://filtermusic.net/">//filtermusic.net/</a></span></span></h2>
</div>
<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">
<p class="p">Like the <span class="link"><a href="xiph.html" title="Xiph.org">📻 Xiph plugin</a></span> this channel provides
	three fetch modes:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list">
<div class="title title-item"><h3><span class="title">Website</span></h3></div>
<p class="p">Extract all streams from the web page
         directly.</p>
</li>
<li class="list">
<div class="title title-item"><h3><span class="title">XML Data</span></h3></div>
<p class="p">Use <span class="file">💾 list.2.0.xml</span> which
         the channel service provides directly.</p>
</li>
<li class="list">
<div class="title title-item"><h3><span class="title">Buffered</span></h3></div>
<p class="p">Keeps the XML file in memory. (It
         rarely changes.)</p>
</li>
</ul></div></div></div>




<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">
	There's no speed or feature differences this time. You might prefer
	the buffered mode, as it reduces update requests, but still allows
	refreshing lists.</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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|






|
<
<




|










|
|
|



















>
>
>
>
|


|
|

|
|
|







|

|
<
<
|

1
2
3
4
5
6
7
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
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> filtermusic</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div></header><article><div class="hgroup pagewide">


<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_filtermusic.png" class="media media-inline" alt=""></span></span> filtermusic</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://filtermusic.net/" title="http://filtermusic.net/">//filtermusic.net/</a></span></span></h2>
</div>
<div class="region">
<div class="contents pagewide">
<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>
<section id="options"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Configuration</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">Like the <span class="link"><a href="xiph.html" title="Xiph.org">📻 Xiph plugin</a></span> this channel provides
	three fetch modes:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list">
<div class="title title-item"><h3><span class="title">Website</span></h3></div>
<p class="p">Extract all streams from the web page
         directly.</p>
</li>
<li class="list">
<div class="title title-item"><h3><span class="title">XML Data</span></h3></div>
<p class="p">Use <span class="file">💾 list.2.0.xml</span> which
         the channel service provides directly.</p>
</li>
<li class="list">
<div class="title title-item"><h3><span class="title">Buffered</span></h3></div>
<p class="p">Keeps the XML file in memory. (It
         rarely changes.)</p>
</li>
</ul></div></div></div>
<div class="note" title="Note">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">
	There's no speed or feature differences this time. You might prefer
	the buffered mode, as it reduces update requests, but still allows
	refreshing lists.</p></div></div></div>
</div>
</div></div>
</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/global_key.html from [b904a63bcc] to [1c18ee9a9e].


1
2
3
4
5
6






7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Global_key</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » </div></div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Global_key</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">Using the global_key extension you can define a keyboard shortcut for switching within
	a list of favourited radio stations. Per default it uses your bookmarks list, but it can be
	configured to alternate in any other channel.</p>
<p class="p">This is useful if you don't want to keep streamtuner2 atop your
	desktop all the time, but still want to switch radios easily.</p>
<p class="p">Go into settings <span class="key"><kbd>F12</kbd></span> for plugins to define a keyboard shortcut:</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
>






>
>
>
>
>
>
|

|
|
|
<
<

|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18


19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Global_key</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » </div></div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Global_key</span></h1></div>


<div class="region">
<div class="contents pagewide">
<p class="p">Using the global_key extension you can define a keyboard shortcut for switching within
	a list of favourited radio stations. Per default it uses your bookmarks list, but it can be
	configured to alternate in any other channel.</p>
<p class="p">This is useful if you don't want to keep streamtuner2 atop your
	desktop all the time, but still want to switch radios easily.</p>
<p class="p">Go into settings <span class="key"><kbd>F12</kbd></span> for plugins to define a keyboard shortcut:</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
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
<tr class="shade">
<td style="border-top-style: solid;"><p class="p"><span class="input">XF86Forward</span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">Uses a "forward" function key. (default)</p></td>
</tr>
</table></div></div></div>
<p class="p">To define another channel as source, enter its module name in the according field. Also
	add a category separated by : colon here.</p>










<div class="note note-bug" title="Bug"><div class="inner"><div class="region"><div class="contents"><p class="p">If the configured keyboard shortcut conflicts
	with another application, it won't work.  And if you choose it too
	generic, you won't be able to type longer documents.  Also found
	out: key names are case sensitive.</p></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="index.html#extra" title="Additional features">Additional features</a></li></ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>







>
>
>
>
>
>
>
>
>
>
|


|

>
|
|
|



|

|
<
<
|

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
<tr class="shade">
<td style="border-top-style: solid;"><p class="p"><span class="input">XF86Forward</span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">Uses a "forward" function key. (default)</p></td>
</tr>
</table></div></div></div>
<p class="p">To define another channel as source, enter its module name in the according field. Also
	add a category separated by : colon here.</p>
<div class="note note-bug" title="Bug">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m7 8v7h0.0078a5 6.3027 0 0 0 3.9922 5.867v-6.867h2v6.871a5 6.3027 0 0 0 3.988-5.871h0.012v-7h-10z"></path>
 <path class="yelp-svg-fill" d="m12 3a4 4 0 0 0-4 4h8a4 4 0 0 0-4-4z"></path>
 <path class="yelp-svg-fill" d="m16 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m9.2045 16.361h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m21.704 4.2894h6v1h-6z"></path>
 <path class="yelp-svg-fill" d="m2 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m5.5801 4.3612h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m-6.9199 16.289h6v1h-6z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">If the configured keyboard shortcut conflicts
	with another application, it won't work.  And if you choose it too
	generic, you won't be able to type longer documents.  Also found
	out: key names are case sensitive.</p></div></div></div>
</div>
</div>
<section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#extra" title="Additional features">Additional features</a></li></ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/glossary.html from [752b6c338c] to [8c7860ff9a].


1
2
3
4
5
6






7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Glossary</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#footer" title="index#footer"></a> » </div></div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Glossary</span></h1></div>
<div class="region">
<div class="contents"><div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms">Channel</dt>
<dd class="terms"><p class="p">Each tab in the main window is a "channel". It represents one
   	    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
>






>
>
>
>
>
>
|

|
|
|
<
<

|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18


19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Glossary</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#footer" title="index#footer"></a> » </div></div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Glossary</span></h1></div>


<div class="region">
<div class="contents pagewide"><div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms">Channel</dt>
<dd class="terms"><p class="p">Each tab in the main window is a "channel". It represents one
   	    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
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
<dt class="terms">Bitrate</dt>
<dd class="terms"><p class="p">Audio streams are compressed with exactness loss. This can be heard
	    at lower "bitrates". For MP3 files any music with less than 100 kbit/s
	    starts to hiss, while OGG Vorbis still sounds okay at a datarate of
	    e.g. 64 kbit per second. So while bitrate basically means file size per duration,
	    it's commonly used as quality indicator.</p></dd>
</dl></div></div></div></div>
<div id="filetypes" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Filetypes</span></h2></div>
<div class="region"><div class="contents">
<p class="p">Besides audio formats MP3 and OGG, there are also station/streaming link files.
            These are often downloaded from the directory servers, before your music player gets activated.</p>
<div class="links topiclinks"><div class="inner"><div class="region"><div class="linkdiv "><a class="linkdiv" href="filetypes.html" title="File types"><span class="title">File types</span><span class="linkdiv-dash"> — </span><span class="desc">PLS, M3U, JSON files types.</span></a></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="index.html#footer" title="index#footer"></a></li></ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>







|
|
|


|

<
|
|
|



|

|
<
<
|

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
<dt class="terms">Bitrate</dt>
<dd class="terms"><p class="p">Audio streams are compressed with exactness loss. This can be heard
	    at lower "bitrates". For MP3 files any music with less than 100 kbit/s
	    starts to hiss, while OGG Vorbis still sounds okay at a datarate of
	    e.g. 64 kbit per second. So while bitrate basically means file size per duration,
	    it's commonly used as quality indicator.</p></dd>
</dl></div></div></div></div>
<section id="filetypes"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Filetypes</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">Besides audio formats MP3 and OGG, there are also station/streaming link files.
            These are often downloaded from the directory servers, before your music player gets activated.</p>
<div class="links topiclinks"><div class="inner"><div class="region"><div class="links-divs"><div class="linkdiv "><a class="linkdiv" href="filetypes.html" title="File types"><span class="title">File types</span><span class="linkdiv-dash"> — </span><span class="desc">PLS, M3U, JSON files types.</span></a></div></div></div></div></div>
</div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#footer" title="index#footer"></a></li></ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Added help/html/highlight.pack.js version [a0f3b3e811].

cannot compute difference between binary files

Modified help/html/homepage.html from [9017356090] to [269f8d2247].


1
2
3
4
5
6






7
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
40
41
42
43
44
45
46
47
48
49

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Radio homepages</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</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#functions" title="Functions">Functions</a> » </div>
</div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Radio homepages</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">Most radio stations are listed with a homepage URL. Use the <span class="gui"><span class="key"><kbd>🏠</kbd></span> house</span> symbol in the toolbar or
	<span class="guiseq"><span class="gui">right click</span> ▸ <span class="gui">homepage</span></span> to open
	it in a web browser.</p>
<p class="p">Some homepage links are guessed, because some channels (e.g.
	Shoutcast) don't provide them (anymore).  If you play a station
	without homepage URL, it automatically gets googled.  (The link will
	be visible once you reselect the genre/category.) </p>
</div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Channel homepages</span></h2></div>
<div class="region"><div class="contents"><p class="p">You can also visit channel homepages (Shoutcast.com, Xiph.org,
	etc).  Either from the <span class="gui">Channel</span> menu, or via double
	clicking the channel tab.</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="streams.html#actions" title="Actions">Actions</a></li>
<li class="links "><a href="index.html#functions" title="Functions">Functions</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|




<
<
|

|








|
|
|


<
|
|
|






|

|
<
<
|

1
2
3
4
5
6
7
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
40
41
42
43
44
45
46
47
48
49


50
51
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Radio homepages</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</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#functions" title="Functions">Functions</a> » </div>


</div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Radio homepages</span></h1></div>
<div class="region">
<div class="contents pagewide">
<p class="p">Most radio stations are listed with a homepage URL. Use the <span class="gui"><span class="key"><kbd>🏠</kbd></span> house</span> symbol in the toolbar or
	<span class="guiseq"><span class="gui">right click</span> ▸ <span class="gui">homepage</span></span> to open
	it in a web browser.</p>
<p class="p">Some homepage links are guessed, because some channels (e.g.
	Shoutcast) don't provide them (anymore).  If you play a station
	without homepage URL, it automatically gets googled.  (The link will
	be visible once you reselect the genre/category.) </p>
</div>
<section id=""><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Channel homepages</span></h2></div>
<div class="region"><div class="contents pagewide"><p class="p">You can also visit channel homepages (Shoutcast.com, Xiph.org,
	etc).  Either from the <span class="gui">Channel</span> menu, or via double
	clicking the channel tab.</p></div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="streams.html#actions" title="Actions">Actions</a></li>
<li class="links "><a href="index.html#functions" title="Functions">Functions</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Added help/html/img/channel_liveradio.png version [79d114b1a2].

cannot compute difference between binary files

Added help/html/img/channel_peertube.png version [52f49dcbe9].

cannot compute difference between binary files

Modified help/html/img/channel_radiobrowser.png from [3fbe2b73c1] to [acacd21a16].

cannot compute difference between binary files

Modified help/html/index.html from [e7a2cca727] to [b492a34e7b].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>♪ Streamtuner2 </title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><div class="page" role="main">
<div class="header"></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </span></h1></div>
<div class="region">
<div class="contents"><p class="p">Streamtuner2 shows internet radio stations for easy browsing, playing, recording.</p></div>
<div id="browsing" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Browsing channels and radio stations</span></h2></div>
<div class="region"><div class="contents"><div class="links topiclinks"><div class="inner"><div class="region">
<div class="links-twocolumn">
<div class="linkdiv "><a class="linkdiv" href="channels.html" title="Channels"><span class="title">Channels</span><span class="linkdiv-dash"> — </span><span class="desc">Switching through the channel tabs, different radio directory services.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="introduction.html" title="Introduction"><span class="title">Introduction</span><span class="linkdiv-dash"> — </span><span class="desc">Basic usage instructions. Selecting a channel, category, and playing a radio.</span></a></div>
</div>
<div class="links-twocolumn">
<div class="linkdiv "><a class="linkdiv" href="playing.html" title="Playing"><span class="title">Playing</span><span class="linkdiv-dash"> — </span><span class="desc">Double click a station to start it in your audio player.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="streams.html" title="Streams / Stations"><span class="title">Streams / Stations</span><span class="linkdiv-dash"> — </span><span class="desc">Radio streams lists, station information columns, entry actions.</span></a></div>
</div>
</div></div></div></div></div>
</div></div>
<div id="channels" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Channel tabs</span></h2></div>
<div class="region"><div class="contents"><div class="links topiclinks"><div class="inner"><div class="region">
<div class="links-twocolumn">
<div class="linkdiv "><a class="linkdiv" href="bookmarks.html" title="Bookmarks"><span class="title">Bookmarks</span><span class="linkdiv-dash"> — </span><span class="desc">Collect favourites via bookmark function, entry editing and deleting.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="dirble.html" title="Dirble"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_dirble.png" class="media media-inline" alt=""></span></span> Dirble</span><span class="linkdiv-dash"> — </span><span class="desc">Dirble.com</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="internet_radio_org_uk.html" title="Internet-Radio"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_internet_radio.png" class="media media-inline" alt=""></span></span> Internet-Radio</span><span class="linkdiv-dash"> — </span><span class="desc">Large radio directory from the UK.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="jamendo.html" title="Jamendo"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_jamendo.png" class="media media-inline" alt=""></span></span> Jamendo</span><span class="linkdiv-dash"> — </span><span class="desc">Creative Commons music and artist hub.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="myoggradio.html" title="MyOggRadio"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_myoggradio.png" class="media media-inline" alt=""></span></span> MyOggRadio</span><span class="linkdiv-dash"> — </span><span class="desc">Open source stream directory.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="radiobrowser.html" title="Radio-Browser"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_radiobrowser.png" class="media media-inline" alt=""></span></span> Radio-Browser</span><span class="linkdiv-dash"> — </span><span class="desc">Community-driven streaming directory</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="radionomy.html" title="Radionomy"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_radionomy.png" class="media media-inline" alt=""></span></span> Radionomy</span><span class="linkdiv-dash"> — </span><span class="desc">Large internet streaming provider</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="reddit.html" title="Reddit"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_reddit.png" class="media media-inline" alt=""></span></span> Reddit</span><span class="linkdiv-dash"> — </span><span class="desc">Music subreddit posts</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="shoutcast.html" title="Shoutcast"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_shoutcast.png" class="media media-inline" alt=""></span></span> Shoutcast</span><span class="linkdiv-dash"> — </span><span class="desc">Probably still the largest radio station list.</span></a></div>
</div>
<div class="links-twocolumn">
<div class="linkdiv "><a class="linkdiv" href="somafm.html" title="SomaFM"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_somafm.png" class="media media-inline" alt=""></span></span> SomaFM</span><span class="linkdiv-dash"> — </span><span class="desc">Set of radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="surfmusik.html" title="SurfMusic"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_surfmusik.png" class="media media-inline" alt=""></span></span> SurfMusic</span><span class="linkdiv-dash"> — </span><span class="desc">International radio listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="modarchive.html" title="The MOD Archive"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_modarchive.png" class="media media-inline" alt=""></span></span> The MOD Archive</span><span class="linkdiv-dash"> — </span><span class="desc">Tracker audio file collection.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="tunein.html" title="TuneIn"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_tunein.png" class="media media-inline" alt=""></span></span> TuneIn</span><span class="linkdiv-dash"> — </span><span class="desc">Radio and Podcast directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="ubuntuusersm.html" title="UbuntuUsers"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_ubuntuusers.png" class="media media-inline" alt=""></span></span> UbuntuUsers</span><span class="linkdiv-dash"> — </span><span class="desc">Wiki list of radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="xiph.html" title="Xiph.org"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_xiph.png" class="media media-inline" alt=""></span></span> Xiph.org</span><span class="linkdiv-dash"> — </span><span class="desc">ICEcast radio directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="youtube.html" title="Youtube"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_youtube.png" class="media media-inline" alt=""></span></span> Youtube</span><span class="linkdiv-dash"> — </span><span class="desc">Youtube music/video listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="filtermusic.html" title="filtermusic"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_filtermusic.png" class="media media-inline" alt=""></span></span> filtermusic</span><span class="linkdiv-dash"> — </span><span class="desc">Selection of the best radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="contrib_channels.html" title="→ Contrib/Extra Channels"><span class="title">→ Contrib/Extra Channels</span><span class="linkdiv-dash"> — </span><span class="desc">Downloadable channel plugins</span></a></div>
</div>
</div></div></div></div></div>
</div></div>
<div id="functions" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Functions</span></h2></div>
<div class="region">
<div class="contents"><div class="links topiclinks"><div class="inner"><div class="region">
<div class="links-twocolumn">
<div class="linkdiv "><a class="linkdiv" href="configuration.html" title="Configuration / Settings dialog"><span class="title">Configuration / Settings dialog</span><span class="linkdiv-dash"> — </span><span class="desc"><span class="key"><kbd>F12</kbd></span> brings up the options window with the Player, Display, System and Plugin sections.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="edit.html" title="Edit"><span class="title">Edit</span><span class="linkdiv-dash"> — </span><span class="desc">Edit or inspect a station entry.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="playing.html" title="Playing"><span class="title">Playing</span><span class="linkdiv-dash"> — </span><span class="desc">Double click a station to start it in your audio player.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="homepage.html" title="Radio homepages"><span class="title">Radio homepages</span><span class="linkdiv-dash"> — </span><span class="desc">Start a web browser for a station.</span></a></div>
</div>
<div class="links-twocolumn">
<div class="linkdiv "><a class="linkdiv" href="recording.html" title="Recording"><span class="title">Recording</span><span class="linkdiv-dash"> — </span><span class="desc">Save radio songs as MP3 files via streamripper.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="saving.html" title="Saving"><span class="title">Saving</span><span class="linkdiv-dash"> — </span><span class="desc">Export a station entry as .m3u/.pls file.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="search.html" title="Searching"><span class="title">Searching</span><span class="linkdiv-dash"> — </span><span class="desc">Quicksearch field and Ctrl+F compound search window.</span></a></div>
</div>
</div></div></div></div>
<div class="sect sect-links" role="navigation">
<div class="hgroup"></div>
<div class="contents"><div class="links seealsolinks"><div class="inner">
<div class="title"><h3><span class="title">See Also</span></h3></div>
<div class="region"><ul>
<li class="links ">
<a href="config_apps.html" title="Audio players">Audio players</a><span class="desc"> — Common applications to use as players.</span>
</li>
<li class="links ">
<a href="streams.html" title="Streams / Stations">Streams / Stations</a><span class="desc"> — Radio streams lists, station information columns, entry actions.</span>
</li>
</ul></div>
</div></div></div>
</div>
</div>
</div></div>
<div id="extra" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Additional features</span></h2></div>
<div class="region"><div class="contents"><div class="links topiclinks"><div class="inner"><div class="region">
<div class="links-twocolumn">
<div class="linkdiv "><a class="linkdiv" href="cli.html" title="CLI (command line interface)"><span class="title">CLI (command line interface)</span><span class="linkdiv-dash"> — </span><span class="desc">Console interface, exporting data.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="dragndrop.html" title="Drag'n'drop"><span class="title">Drag'n'drop</span><span class="linkdiv-dash"> — </span><span class="desc">Drag and drop support.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="global_key.html" title="Global_key"><span class="title">Global_key</span><span class="linkdiv-dash"> — </span><span class="desc">Global keyboard shortcut for radio switching.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add"><span class="title">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </span><span class="linkdiv-dash"> — </span><span class="desc">User plugin installation</span></a></div>
</div>
<div class="links-twocolumn">
<div class="linkdiv "><a class="linkdiv" href="specbuttons.html" title="Special extra/mini buttons"><span class="title">Special extra/mini buttons</span><span class="linkdiv-dash"> — </span><span class="desc">Toolbar application short cuts.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="favicon.html" title="Station favicons"><span class="title">Station favicons</span><span class="linkdiv-dash"> — </span><span class="desc">Favicons</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="timer.html" title="Timer"><span class="title">Timer</span><span class="linkdiv-dash"> — </span><span class="desc">Programming recurring play and recording events.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="contrib_features.html" title="→ Feature plugins"><span class="title">→ Feature plugins</span><span class="linkdiv-dash"> — </span><span class="desc">Additional feature plugins</span></a></div>
</div>
</div></div></div></div></div>
</div></div>
<div id="footer" class="sect"><div class="inner">
<div class="hgroup"><h3 class="subtitle"><span class="subtitle">Project resources and additional help</span></h3></div>
<div class="region"><div class="contents">
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">You can get additional help from the
   	  <span class="link"><a href="http://sourceforge.net/p/streamtuner2/discussion/1173108/" title="http://sourceforge.net/p/streamtuner2/discussion/1173108/">online forum</a></span>.
   	  Or via <span class="guiseq"><span class="gui">Help</span> ▸ <span class="gui">Forum</span></span>.</p></li>
<li class="list"><p class="p">Feedback on issues you ran into is also very welcome.
	  <span class="link"><a href="http://fossil.include-once.org/streamtuner2/rptview?rn=1" title="http://fossil.include-once.org/streamtuner2/rptview?rn=1">Bug reports</a></span>
	  don't require any account registration. But please include -D debug output.
	  Also accessible via <span class="guiseq"><span class="gui">Help</span> ▸ <span class="gui">Wiki/Fossil/Bugs</span></span>.</p></li>
<li class="list"><p class="p">Watch for new project releases on
	  <span class="link"><a href="http://freshcode.club/projects/streamtuner2" title="http://freshcode.club/projects/streamtuner2">freshcode.club</a></span></p></li>
</ul></div></div></div>
<p class="p">This manual was last updated for available functions in streamtuner2
	version 2.2.0, as of Nov 2016.</p>
<div class="links topiclinks"><div class="inner"><div class="region">
<div class="linkdiv "><a class="linkdiv" href="glossary.html" title="Glossary"><span class="title">Glossary</span><span class="linkdiv-dash"> — </span><span class="desc">Technical and streamtuner2 specific terminology and jargon.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="technical.html" title="Technical information"><span class="title">Technical information</span><span class="linkdiv-dash"> — </span><span class="desc">Filenames, Directories, Dependencies</span></a></div>
</div></div></div>
</div></div>
</div></div>
</div>
<div class="clear"></div>
</div>
<div class="footer"><div class="sect about ui-expander" role="contentinfo">
<div class="yelp-data yelp-data-ui-expander" data-yelp-expanded="false"></div>
<div class="inner">
<div class="hgroup"><h2><span class="title">About</span></h2></div>
<div class="region"><div class="contents"><div class="aboutblurb authors">

<div class="title"><span class="title">Written By</span></div>
<ul class="credits"><li>Mario Salzer</li></ul>
</div></div></div>


</div>
</div></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

<
<
|
|

|
|
|
|
|



|



|
|
<
|
|
|

<


>

>





|










|
|
<
|

|
|





|




|
|
|
|










|

|
<
|
|
|





|





|
|
<
|
|













|


|

|

<
<
<
|


|
>


|
>
>
|
|
|

1
2
3
4
5
6
7
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
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
102
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>♪ Streamtuner2 </title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>


<body><main><div class="page">
<header><div class="inner pagewide"></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/logo.png" class="media media-inline" alt="♪"></span></span> Streamtuner2 </span></h1></div>
<div class="region">
<div class="contents pagewide"><p class="p">Streamtuner2 shows internet radio stations for easy browsing, playing, recording.</p></div>
<section id="browsing"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Browsing channels and radio stations</span></h2></div>
<div class="region"><div class="contents pagewide"><div class="links topiclinks"><div class="inner"><div class="region"><div class="links-twocolumn">
<div class="links-divs">
<div class="linkdiv "><a class="linkdiv" href="channels.html" title="Channels"><span class="title">Channels</span><span class="linkdiv-dash"> — </span><span class="desc">Switching through the channel tabs, different radio directory services.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="introduction.html" title="Introduction"><span class="title">Introduction</span><span class="linkdiv-dash"> — </span><span class="desc">Basic usage instructions. Selecting a channel, category, and playing a radio.</span></a></div>
</div>
<div class="links-divs">
<div class="linkdiv "><a class="linkdiv" href="playing.html" title="Playing"><span class="title">Playing</span><span class="linkdiv-dash"> — </span><span class="desc">Double click a station to start it in your audio player.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="streams.html" title="Streams / Stations"><span class="title">Streams / Stations</span><span class="linkdiv-dash"> — </span><span class="desc">Radio streams lists, station information columns, entry actions.</span></a></div>
</div>
</div></div></div></div></div></div>
</div></section><section id="channels"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Channel tabs</span></h2></div>
<div class="region"><div class="contents pagewide"><div class="links topiclinks"><div class="inner"><div class="region"><div class="links-twocolumn">
<div class="links-divs">
<div class="linkdiv "><a class="linkdiv" href="bookmarks.html" title="Bookmarks"><span class="title">Bookmarks</span><span class="linkdiv-dash"> — </span><span class="desc">Collect favourites via bookmark function, entry editing and deleting.</span></a></div>

<div class="linkdiv "><a class="linkdiv" href="internet_radio_org_uk.html" title="Internet-Radio"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_internet_radio.png" class="media media-inline" alt=""></span></span> Internet-Radio</span><span class="linkdiv-dash"> — </span><span class="desc">Large radio directory from the UK.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="jamendo.html" title="Jamendo"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_jamendo.png" class="media media-inline" alt=""></span></span> Jamendo</span><span class="linkdiv-dash"> — </span><span class="desc">Creative Commons music and artist hub.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="liveradio.html" title="LiveRadio.ie"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_liveradio.png" class="media media-inline" alt=""></span></span> LiveRadio.ie</span><span class="linkdiv-dash"> — </span><span class="desc">Ireland-based radio directory</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="myoggradio.html" title="MyOggRadio"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_myoggradio.png" class="media media-inline" alt=""></span></span> MyOggRadio</span><span class="linkdiv-dash"> — </span><span class="desc">Open source stream directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="peertube.html" title="Peertube"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_peertube.png" class="media media-inline" alt=""></span></span> Peertube</span><span class="linkdiv-dash"> — </span><span class="desc">Peertube music/video listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="radiobrowser.html" title="Radio-Browser"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_radiobrowser.png" class="media media-inline" alt=""></span></span> Radio-Browser</span><span class="linkdiv-dash"> — </span><span class="desc">Community-driven streaming directory</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="radionomy.html" title="Radionomy"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_radionomy.png" class="media media-inline" alt=""></span></span> Radionomy</span><span class="linkdiv-dash"> — </span><span class="desc">Large internet streaming provider</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="reddit.html" title="Reddit"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_reddit.png" class="media media-inline" alt=""></span></span> Reddit</span><span class="linkdiv-dash"> — </span><span class="desc">Music subreddit posts</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="shoutcast.html" title="Shoutcast"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_shoutcast.png" class="media media-inline" alt=""></span></span> Shoutcast</span><span class="linkdiv-dash"> — </span><span class="desc">Probably still the largest radio station list.</span></a></div>
</div>
<div class="links-divs">
<div class="linkdiv "><a class="linkdiv" href="somafm.html" title="SomaFM"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_somafm.png" class="media media-inline" alt=""></span></span> SomaFM</span><span class="linkdiv-dash"> — </span><span class="desc">Set of radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="surfmusik.html" title="SurfMusic"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_surfmusik.png" class="media media-inline" alt=""></span></span> SurfMusic</span><span class="linkdiv-dash"> — </span><span class="desc">International radio listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="modarchive.html" title="The MOD Archive"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_modarchive.png" class="media media-inline" alt=""></span></span> The MOD Archive</span><span class="linkdiv-dash"> — </span><span class="desc">Tracker audio file collection.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="tunein.html" title="TuneIn"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_tunein.png" class="media media-inline" alt=""></span></span> TuneIn</span><span class="linkdiv-dash"> — </span><span class="desc">Radio and Podcast directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="ubuntuusersm.html" title="UbuntuUsers"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_ubuntuusers.png" class="media media-inline" alt=""></span></span> UbuntuUsers</span><span class="linkdiv-dash"> — </span><span class="desc">Wiki list of radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="xiph.html" title="Xiph.org"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_xiph.png" class="media media-inline" alt=""></span></span> Xiph.org</span><span class="linkdiv-dash"> — </span><span class="desc">ICEcast radio directory.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="youtube.html" title="Youtube"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_youtube.png" class="media media-inline" alt=""></span></span> Youtube</span><span class="linkdiv-dash"> — </span><span class="desc">Youtube music/video listings.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="filtermusic.html" title="filtermusic"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_filtermusic.png" class="media media-inline" alt=""></span></span> filtermusic</span><span class="linkdiv-dash"> — </span><span class="desc">Selection of the best radio stations</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="contrib_channels.html" title="→ Contrib/Extra Channels"><span class="title">→ Contrib/Extra Channels</span><span class="linkdiv-dash"> — </span><span class="desc">Downloadable channel plugins</span></a></div>
</div>
</div></div></div></div></div></div>
</div></section><section id="functions"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Functions</span></h2></div>
<div class="region">
<div class="contents pagewide"><div class="links topiclinks"><div class="inner"><div class="region"><div class="links-twocolumn">
<div class="links-divs">
<div class="linkdiv "><a class="linkdiv" href="configuration.html" title="Configuration / Settings dialog"><span class="title">Configuration / Settings dialog</span><span class="linkdiv-dash"> — </span><span class="desc"><span class="key"><kbd>F12</kbd></span> brings up the options window with the Player, Display, System and Plugin sections.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="edit.html" title="Edit"><span class="title">Edit</span><span class="linkdiv-dash"> — </span><span class="desc">Edit or inspect a station entry.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="playing.html" title="Playing"><span class="title">Playing</span><span class="linkdiv-dash"> — </span><span class="desc">Double click a station to start it in your audio player.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="homepage.html" title="Radio homepages"><span class="title">Radio homepages</span><span class="linkdiv-dash"> — </span><span class="desc">Start a web browser for a station.</span></a></div>
</div>
<div class="links-divs">
<div class="linkdiv "><a class="linkdiv" href="recording.html" title="Recording"><span class="title">Recording</span><span class="linkdiv-dash"> — </span><span class="desc">Save radio songs as MP3 files via streamripper.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="saving.html" title="Saving"><span class="title">Saving</span><span class="linkdiv-dash"> — </span><span class="desc">Export a station entry as .m3u/.pls file.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="search.html" title="Searching"><span class="title">Searching</span><span class="linkdiv-dash"> — </span><span class="desc">Quicksearch field and Ctrl+F compound search window.</span></a></div>
</div>
</div></div></div></div></div>
<section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><div class="links seealsolinks"><div class="inner">
<div class="title"><h3><span class="title">See Also</span></h3></div>
<div class="region"><ul>
<li class="links ">
<a href="config_apps.html" title="Audio players">Audio players</a><span class="desc"> — Common applications to use as players.</span>
</li>
<li class="links ">
<a href="streams.html" title="Streams / Stations">Streams / Stations</a><span class="desc"> — Radio streams lists, station information columns, entry actions.</span>
</li>
</ul></div>
</div></div></div>
</div></section>
</div>
</div></section><section id="extra"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Additional features</span></h2></div>
<div class="region"><div class="contents pagewide"><div class="links topiclinks"><div class="inner"><div class="region"><div class="links-twocolumn">
<div class="links-divs">
<div class="linkdiv "><a class="linkdiv" href="cli.html" title="CLI (command line interface)"><span class="title">CLI (command line interface)</span><span class="linkdiv-dash"> — </span><span class="desc">Console interface, exporting data.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="dragndrop.html" title="Drag'n'drop"><span class="title">Drag'n'drop</span><span class="linkdiv-dash"> — </span><span class="desc">Drag and drop support.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="global_key.html" title="Global_key"><span class="title">Global_key</span><span class="linkdiv-dash"> — </span><span class="desc">Global keyboard shortcut for radio switching.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add"><span class="title">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </span><span class="linkdiv-dash"> — </span><span class="desc">User plugin installation</span></a></div>
</div>
<div class="links-divs">
<div class="linkdiv "><a class="linkdiv" href="specbuttons.html" title="Special extra/mini buttons"><span class="title">Special extra/mini buttons</span><span class="linkdiv-dash"> — </span><span class="desc">Toolbar application short cuts.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="favicon.html" title="Station favicons"><span class="title">Station favicons</span><span class="linkdiv-dash"> — </span><span class="desc">Favicons</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="timer.html" title="Timer"><span class="title">Timer</span><span class="linkdiv-dash"> — </span><span class="desc">Programming recurring play and recording events.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="contrib_features.html" title="→ Feature plugins"><span class="title">→ Feature plugins</span><span class="linkdiv-dash"> — </span><span class="desc">Additional feature plugins</span></a></div>
</div>
</div></div></div></div></div></div>
</div></section><section id="footer"><div class="inner">

<div class="hgroup pagewide"><h3 class="subtitle"><span class="subtitle">Project resources and additional help</span></h3></div>
<div class="region"><div class="contents pagewide">
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">You can get additional help from the
   	  <span class="link"><a href="http://sourceforge.net/p/streamtuner2/discussion/1173108/" title="http://sourceforge.net/p/streamtuner2/discussion/1173108/">online forum</a></span>.
   	  Or via <span class="guiseq"><span class="gui">Help</span> ▸ <span class="gui">Forum</span></span>.</p></li>
<li class="list"><p class="p">Feedback on issues you ran into is also very welcome.
	  <span class="link"><a href="http://fossil.include-once.org/streamtuner2/rptview?rn=1" title="http://fossil.include-once.org/streamtuner2/rptview?rn=1">Bug reports</a></span>
	  don't require any account registration. But please include -D debug output.
	  Also accessible via <span class="guiseq"><span class="gui">Help</span> ▸ <span class="gui">Wiki/Fossil/Bugs</span></span>.</p></li>
<li class="list"><p class="p">Watch for new project releases on
	  <span class="link"><a href="http://freshcode.club/projects/streamtuner2" title="http://freshcode.club/projects/streamtuner2">freshcode.club</a></span></p></li>
</ul></div></div></div>
<p class="p">This manual was last updated for available functions in streamtuner2
	version 2.2.0, as of Nov 2016.</p>
<div class="links topiclinks"><div class="inner"><div class="region"><div class="links-divs">
<div class="linkdiv "><a class="linkdiv" href="glossary.html" title="Glossary"><span class="title">Glossary</span><span class="linkdiv-dash"> — </span><span class="desc">Technical and streamtuner2 specific terminology and jargon.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="technical.html" title="Technical information"><span class="title">Technical information</span><span class="linkdiv-dash"> — </span><span class="desc">Filenames, Directories, Dependencies</span></a></div>
</div></div></div></div>
</div></div>
</div></section>
</div>



<div class="clear"></div></article><footer><div class="inner pagewide"><footer class="about ui-expander" role="contentinfo"><div class="yelp-data yelp-data-ui-expander" data-yelp-expanded="false"></div>
<div class="inner">
<div class="hgroup"><h2><span class="title">About</span></h2></div>
<div class="region"><div class="contents"><div class="credits">
<div class="credits-authors">
<div class="title"><span class="title">Written By</span></div>
<ul class="credits"><li>Mario Salzer</li></ul>
</div>
<div class="credits-blank"></div>
<div class="credits-blank"></div>
</div></div></div>
</div></footer></div></footer>
</div></main></body>
</html>

Modified help/html/internet_radio_org_uk.html from [233516ae57] to [7f57be2384].


1
2
3
4
5
6






7
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Internet-Radio</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_internet_radio.png" class="media media-inline" alt=""></span></span> Internet-Radio</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://internet-radio.com/" title="http://internet-radio.com/">//internet-radio.com/</a></span></span></h2>
</div>
<div class="region">
<div class="contents">
<p class="p">Internet-Radio.com is a broad alternative to Shoutcast.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">It has regained station homepages for most entries again.</p></li>
<li class="list"><p class="p">Genres are similiar to Shoutcast.</p></li>
<li class="list"><p class="p">Updating station lists is comparatively fast.</p></li>
<li class="list"><p class="p">Uses HTML extraction (regex or pyquery) internally.</p></li>
</ul></div></div></div>
</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"><div class="list"><div class="inner"><div class="region"><ul class="list"><li class="list">
<div class="title title-item"><h3><span class="title">🔟 pages to fetch</span></h3></div>
<p class="p">Note that this plugin has its own setting on how many
         links to retrieve.  Instead of stream numbers, it only counts pages.
         Which is because this directly influences the stream loading time.</p>
</li></ul></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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|






|
<
<




|








|
|
|





<
|
|
|







|

|
<
<
|

1
2
3
4
5
6
7
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
40
41
42
43
44
45

46
47
48
49
50
51
52
53
54
55
56
57
58


59
60
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Internet-Radio</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div></header><article><div class="hgroup pagewide">


<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_internet_radio.png" class="media media-inline" alt=""></span></span> Internet-Radio</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://internet-radio.com/" title="http://internet-radio.com/">//internet-radio.com/</a></span></span></h2>
</div>
<div class="region">
<div class="contents pagewide">
<p class="p">Internet-Radio.com is a broad alternative to Shoutcast.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">It has regained station homepages for most entries again.</p></li>
<li class="list"><p class="p">Genres are similiar to Shoutcast.</p></li>
<li class="list"><p class="p">Updating station lists is comparatively fast.</p></li>
<li class="list"><p class="p">Uses HTML extraction (regex or pyquery) internally.</p></li>
</ul></div></div></div>
</div>
<section id="options"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Configuration</span></h2></div>
<div class="region"><div class="contents pagewide"><div class="list"><div class="inner"><div class="region"><ul class="list"><li class="list">
<div class="title title-item"><h3><span class="title">🔟 pages to fetch</span></h3></div>
<p class="p">Note that this plugin has its own setting on how many
         links to retrieve.  Instead of stream numbers, it only counts pages.
         Which is because this directly influences the stream loading time.</p>
</li></ul></div></div></div></div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/introduction.html from [4e023c8740] to [f739ddcf5c].


1
2
3
4
5
6






7
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
40
41
42
43
44
45

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Introduction</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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> » </div></div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Introduction</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">Streamtuner2 is a simple browser for internet radios. It acquires its radio lists
	from various directory services. These are represented as "channel" tabs in the main
	window. The category/genre lists are in the left pane, and associated stations right
	to them.</p>
<div class="media media-image"><div class="inner"><img src="img/mainwindow.png" class="media media-block" alt=""></div></div>
</div>
<div id="play" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">How to select and play a radio.</span></h2></div>
<div class="region"><div class="contents">
<div class="steps"><div class="inner"><div class="region"><ol class="steps">
<li class="steps"><p class="p">Select a channel tab, like <span class="code">Shoutcast</span>.</p></li>
<li class="steps"><p class="p">Click one of the genres in the left pane. For example <span class="code">Classic</span>.</p></li>
<li class="steps"><p class="p">Now the right pane loads a radio list.</p></li>
<li class="steps"><p class="p">Double click one of the radio streams or use the <span class="key"><kbd>▶ play</kbd></span> toolbar button.</p></li>
</ol></div></div></div>
<p class="p">Note that some categories are expandable. In a few plugins (modarchive),
	the grouping genre/categories are empty, while in other channels they're
	filled genre lists themselves.</p>
</div></div>
</div></div>
<div id="actions" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">What else can you do?</span></h2></div>
<div class="region"><div class="contents">
<p class="p">Double clicking an entry row in the radio list starts your audio player. But there are
	other functions available. Either go to the <span class="guiseq"><span class="gui"></span> ▸ <span class="gui">Station</span></span> menu,
	or access the context menu with a right click.</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
<tr>
<td><p class="p"><span class="link"><a href="playing.html" title="Playing">Play</a></span></p></td>
<td style="border-left-style: solid;"><p class="p">Starts the radio in a configured audio player</p></td>
>






>
>
>
>
>
>
|

|
|
|
<
<

|






|
|
|










|
<
|
|







1
2
3
4
5
6
7
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
40

41
42
43
44
45
46
47
48
49
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Introduction</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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> » </div></div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Introduction</span></h1></div>


<div class="region">
<div class="contents pagewide">
<p class="p">Streamtuner2 is a simple browser for internet radios. It acquires its radio lists
	from various directory services. These are represented as "channel" tabs in the main
	window. The category/genre lists are in the left pane, and associated stations right
	to them.</p>
<div class="media media-image"><div class="inner"><img src="img/mainwindow.png" class="media media-block" alt=""></div></div>
</div>
<section id="play"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">How to select and play a radio.</span></h2></div>
<div class="region"><div class="contents pagewide">
<div class="steps"><div class="inner"><div class="region"><ol class="steps">
<li class="steps"><p class="p">Select a channel tab, like <span class="code">Shoutcast</span>.</p></li>
<li class="steps"><p class="p">Click one of the genres in the left pane. For example <span class="code">Classic</span>.</p></li>
<li class="steps"><p class="p">Now the right pane loads a radio list.</p></li>
<li class="steps"><p class="p">Double click one of the radio streams or use the <span class="key"><kbd>▶ play</kbd></span> toolbar button.</p></li>
</ol></div></div></div>
<p class="p">Note that some categories are expandable. In a few plugins (modarchive),
	the grouping genre/categories are empty, while in other channels they're
	filled genre lists themselves.</p>
</div></div>
</div></section><section id="actions"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">What else can you do?</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">Double clicking an entry row in the radio list starts your audio player. But there are
	other functions available. Either go to the <span class="guiseq"><span class="gui"></span> ▸ <span class="gui">Station</span></span> menu,
	or access the context menu with a right click.</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
<tr>
<td><p class="p"><span class="link"><a href="playing.html" title="Playing">Play</a></span></p></td>
<td style="border-left-style: solid;"><p class="p">Starts the radio in a configured audio player</p></td>
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
102
103
104
105
<tr class="shade">
<td style="border-top-style: solid;"><p class="p"><span class="link"><a href="search.html" title="Searching">Searching</a></span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">You can get a radio list according to search criteria.</p></td>
</tr>
</table></div></div></div>
<p class="p"> Play, Record and Homepage also have buttons in the toolbar.</p>
</div></div>
</div></div>
<div id="none" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Refresh radio lists</span></h2></div>
<div class="region"><div class="contents">
<p class="p">After some time, stream informations become obsolete. Therefore you should regularily
	<span class="link"><a href="reloading.html" title="Reloading">refresh</a></span> the lists. The <span class="gui">Reload</span> button in the toolbar
	(or <span class="key"><kbd>F5</kbd></span>) is your friend.</p>
<p class="p">You can also update the category lists with <span class="guiseq"><span class="gui">Channel</span> ▸ <span class="gui">Reload Category Tree</span></span>
	and load <span class="link"><a href="favicon.html" title="Station favicons">favicons</a></span> using <span class="guiseq"><span class="gui">Channel</span> ▸ <span class="gui">Update favicons..</span></span>.</p>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"></div>




<div class="region"><div class="contents"><div class="note note-tip" title="Tip"><div class="inner"><div class="region"><div class="contents"><p class="p">You should only select radio stations and genres that you like.</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="index.html#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a></li></ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>







|
<
|
|






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



|

|
<
<
|

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
102
103
104
105
106
107


108
109
<tr class="shade">
<td style="border-top-style: solid;"><p class="p"><span class="link"><a href="search.html" title="Searching">Searching</a></span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p">You can get a radio list according to search criteria.</p></td>
</tr>
</table></div></div></div>
<p class="p"> Play, Record and Homepage also have buttons in the toolbar.</p>
</div></div>
</div></section><section id="none"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Refresh radio lists</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">After some time, stream informations become obsolete. Therefore you should regularily
	<span class="link"><a href="reloading.html" title="Reloading">refresh</a></span> the lists. The <span class="gui">Reload</span> button in the toolbar
	(or <span class="key"><kbd>F5</kbd></span>) is your friend.</p>
<p class="p">You can also update the category lists with <span class="guiseq"><span class="gui">Channel</span> ▸ <span class="gui">Reload Category Tree</span></span>
	and load <span class="link"><a href="favicon.html" title="Station favicons">favicons</a></span> using <span class="guiseq"><span class="gui">Channel</span> ▸ <span class="gui">Update favicons..</span></span>.</p>
</div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"></div>
<div class="region"><div class="contents pagewide"><div class="note note-tip" title="Tip">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m12 2c-3.8541 0-7 3.1459-7 7 0 1.823 0.4945 3.139 1.1641 4.133 0.6695 0.994 1.4328 1.671 2.039 2.471 0.0882 0.116 0.1749 0.656 0.2071 1.32 0.016 0.332 0.0133 0.68 0.1894 1.119 0.0881 0.22 0.2439 0.478 0.5059 0.672 0.2619 0.194 0.6028 0.285 0.8945 0.285h4c0.583 0 1.204-0.478 1.402-0.908 0.199-0.43 0.217-0.793 0.244-1.137 0.056-0.688 0.138-1.319 0.211-1.441 0.549-0.916 1.304-2.009 1.94-3.114 0.636-1.104 1.203-2.199 1.203-3.4 0-3.8541-3.146-7-7-7zm0 2c2.773 0 5 2.2267 5 5 0 0.456-0.359 1.401-0.936 2.402-0.111 0.195-0.246 0.399-0.369 0.598h-7.8825c-0.4871-0.728-0.8125-1.519-0.8125-3 0-2.7733 2.2267-5 5-5z" style="block-progression:tb;color-rendering:auto;color:#000000;image-rendering:auto;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"></path>
 <path class="yelp-svg-fill" d="m9 20a0.5 0.5 0 0 0-0.5 0.5 0.5 0.5 0 0 0 0.5 0.5h6a0.5 0.5 0 0 0 0.5-0.5 0.5 0.5 0 0 0-0.5-0.5h-6zm0 2a0.5 0.5 0 0 0-0.5 0.5 0.5 0.5 0 0 0 0.5 0.5h6a0.5 0.5 0 0 0 0.5-0.5 0.5 0.5 0 0 0-0.5-0.5h-6z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">You should only select radio stations and genres that you like.</p></div></div></div>
</div></div></div>
</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a></li></ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/jamendo.html from [7a62d2169e] to [122f64e043].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Jamendo</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_jamendo.png" class="media media-inline" alt=""></span></span> Jamendo</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://jamendo.com/" title="http://jamendo.com/">//jamendo.com/</a></span></span></h2>
</div>
<div class="region">
<div class="contents">
<p class="p">Jamendo is a Creative Commons licensing oriented music distributor. It
hosts audio files for individual musicians and artists.  It allows to list
albums, playlists, and individual tracks by genre.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">The new Jamendo v3.0 is now utilized, which is JSON based and easy to extract.</p></li>
<li class="list"><p class="p">Its radio list is static. It loops over randomized songs from each genre.</p></li>
<li class="list"><p class="p">There's a custom JSON playlist extractor (JAMJSON), to avoid preloading stream URLs for feeds/albums. While tracks/genre lists contain direct streaming addresses already.</p></li>
<li class="list"><p class="p">Instead of favicons, streamtuner2 can fetch slightly larger album or track covers.</p></li>
</ul></div></div></div>
<p class="p">Tracks and albums can be downloaded free of charge (Creative Commons). Yeah, imagine that.</p>
</div>
<div id="options" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title"><span class="link"><a href="configuration.html" title="Configuration / Settings dialog">Config</a></span> 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">System</span></h3></div>
<div class="region"><dl class="terms">
<dt class="terms">🔠 Streaming format</dt>
<dd class="terms"><p class="p">You can switch between MP3 and Ogg Vorbis audio streams for Jamendo.
     It's not honored by the radio section, but albums and tracks should be
     received as Ogg when configured so.</p></dd>
<dt class="terms">🔠 Preview image sizes</dt>
<dd class="terms"><p class="p">Album covers are downloaded in lieu of favicons. They're available
     in different sizes. Use 25px if you want just favicon-sized icons.</p></dd>
<dt class="terms">🔟 Result length</dt>
<dd class="terms">
<p class="p">Currently only 1 page (of 200 entries each) of album/track lists are
     fetched.</p>










<div class="note note-bug" title="Bug"><div class="inner"><div class="region"><div class="contents"><p class="p">Setting a higher value may not work.</p></div></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>
<li class="links "><a href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a></li>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|






|
<
<




|











|
|
|













>
>
>
>
>
>
>
>
>
>
|
>



<
|
|
|







|

|
<
<
|

1
2
3
4
5
6
7
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
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Jamendo</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div></header><article><div class="hgroup pagewide">


<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_jamendo.png" class="media media-inline" alt=""></span></span> Jamendo</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://jamendo.com/" title="http://jamendo.com/">//jamendo.com/</a></span></span></h2>
</div>
<div class="region">
<div class="contents pagewide">
<p class="p">Jamendo is a Creative Commons licensing oriented music distributor. It
hosts audio files for individual musicians and artists.  It allows to list
albums, playlists, and individual tracks by genre.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">The new Jamendo v3.0 is now utilized, which is JSON based and easy to extract.</p></li>
<li class="list"><p class="p">Its radio list is static. It loops over randomized songs from each genre.</p></li>
<li class="list"><p class="p">There's a custom JSON playlist extractor (JAMJSON), to avoid preloading stream URLs for feeds/albums. While tracks/genre lists contain direct streaming addresses already.</p></li>
<li class="list"><p class="p">Instead of favicons, streamtuner2 can fetch slightly larger album or track covers.</p></li>
</ul></div></div></div>
<p class="p">Tracks and albums can be downloaded free of charge (Creative Commons). Yeah, imagine that.</p>
</div>
<section id="options"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title"><span class="link"><a href="configuration.html" title="Configuration / Settings dialog">Config</a></span> options</span></h2></div>
<div class="region"><div class="contents pagewide"><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">🔠 Streaming format</dt>
<dd class="terms"><p class="p">You can switch between MP3 and Ogg Vorbis audio streams for Jamendo.
     It's not honored by the radio section, but albums and tracks should be
     received as Ogg when configured so.</p></dd>
<dt class="terms">🔠 Preview image sizes</dt>
<dd class="terms"><p class="p">Album covers are downloaded in lieu of favicons. They're available
     in different sizes. Use 25px if you want just favicon-sized icons.</p></dd>
<dt class="terms">🔟 Result length</dt>
<dd class="terms">
<p class="p">Currently only 1 page (of 200 entries each) of album/track lists are
     fetched.</p>
<div class="note note-bug" title="Bug">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m7 8v7h0.0078a5 6.3027 0 0 0 3.9922 5.867v-6.867h2v6.871a5 6.3027 0 0 0 3.988-5.871h0.012v-7h-10z"></path>
 <path class="yelp-svg-fill" d="m12 3a4 4 0 0 0-4 4h8a4 4 0 0 0-4-4z"></path>
 <path class="yelp-svg-fill" d="m16 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m9.2045 16.361h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m21.704 4.2894h6v1h-6z"></path>
 <path class="yelp-svg-fill" d="m2 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m5.5801 4.3612h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m-6.9199 16.289h6v1h-6z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">Setting a higher value may not work.</p></div></div></div>
</div>
</dd>
</dl></div>
</div></div></div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Added help/html/jquery.syntax.brush.html.js version [f11c4b32b9].





































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
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
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
// brush: "html" aliases: []

//	This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License.
//	Copyright (c) 2011 Samuel G. D. Williams. <http://www.oriontransfer.co.nz>
//	See <jquery.syntax.js> for licensing details.

Syntax.brushes.dependency('html', 'xml');
Syntax.brushes.dependency('html', 'javascript');
Syntax.brushes.dependency('html', 'css');
Syntax.brushes.dependency('html', 'php-script');
Syntax.brushes.dependency('html', 'ruby');

Syntax.register('html', function(brush) {
	brush.push({
		pattern: /<script.*?type\=.?text\/javascript.*?>((.|\n)*?)<\/script>/gmi,
		matches: Syntax.extractMatches({brush: 'javascript'})
	});
	
	brush.push({
		pattern: /<style.*?type=.?text\/css.*?>((.|\n)*?)<\/style>/gmi,
		matches: Syntax.extractMatches({brush: 'css'})
	});
	
	brush.push({
		pattern: /((<\?php)([\s\S]*?)(\?>))/gm,
		matches: Syntax.extractMatches(
			{klass: 'php-tag', allow: ['keyword', 'php-script']},
			{klass: 'keyword'},
			{brush: 'php-script'},
			{klass: 'keyword'}
		)
	});
	
	brush.push({
		pattern: /((<\?rb?)([\s\S]*?)(\?>))/gm,
		matches: Syntax.extractMatches(
			{klass: 'ruby-tag', allow: ['keyword', 'ruby']},
			{klass: 'keyword'},
			{brush: 'ruby'},
			{klass: 'keyword'}
		)
	});
	
	brush.push({
		pattern: /<%=?(.*?)(%>)/g,
		klass: 'instruction',
		allow: ['string']
	});
	
	brush.push({
		pattern: /<\!(DOCTYPE(.*?))>/g,
		matches: Syntax.extractMatches({klass: 'doctype'})
	});
	
	// Is this rule still relevant?
	brush.push({
		pattern: /(%[0-9a-f]{2})/gi,
		klass: 'percent-escape',
		only: ['html']
	});
	
	// The position of this statement is important - it determines at what point the rules of the parent are processed.
	// In this case, the rules for xml are processed after the rules for html.
	brush.derives('xml');
});

Added help/html/liveradio.html version [e6449ef24c].





















































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> LiveRadio.ie</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div></header><article><div class="hgroup pagewide">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_liveradio.png" class="media media-inline" alt=""></span></span> LiveRadio.ie</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://liveradio.ie/" title="http://liveradio.ie/">//liveradio.ie/</a></span></span></h2>
</div>
<div class="region">
<div class="contents pagewide">
<p class="p">LiveRadio.ie is a station directory from Irish radio enthusiasts. It's
going pretty strong with over 4500 entries and a neat UI. It obviously also
lists international stations. </p>
<p class="p">It doesn't have an API in itself, but utilizes HTML5 microdata. And
the station logos are utilized directly in ST2 as favicons.</p>
</div>
<section id="options"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Configuration</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p"> There's an option for querying LiveRadio.UK instead. This requires
 a Streamtuner2 restart however, and might not be reflected in the UI. </p>
<p class="p"> Responds to the PyQuery (instead of regex) parsing main option. </p>
<p class="p"> Per default fetches 10 pages at once. </p>
</div></div>
</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>
</div></main></body>
</html>

Modified help/html/modarchive.html from [2c891eaa2a] to [d9ebdeac53].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> The MOD Archive</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_modarchive.png" class="media media-inline" alt=""></span></span> The MOD Archive</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://modarchive.org/" title="http://modarchive.org/">//modarchive.org/</a></span></span></h2>
</div>
<div class="region">
<div class="contents">
<p class="p">MODArchive is a collection of module/tracker files. It's a community project, and
        categorizes individual audio files. You'll need a MOD-capable audio player.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">XMP/libxmp</p></li>
<li class="list"><p class="p">MikMod</p></li>
<li class="list"><p class="p">MODPlug for XMMS</p></li>
<li class="list"><p class="p">GModplay</p></li>
<li class="list"><p class="p">VLC (built-in support)</p></li>
</ul></div></div></div>
</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">Audio files are packaged up in ZIP files on MODArchive. 
	While they are different formats (IT, S3M, XM, etc) they'll all
	carry a generic <span class="var">audio/mod+zip</span> type specifier in
	streamtuner2 for configuration:</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
<tr><td colspan="2"><p class="p">Recording apps</p></td></tr>
<tr class="shade">
<td style="border-top-style: solid;"><p class="p"><span class="var">audio/mod+zip</span></p></td>
<td class="shade" style="border-top-style: solid;border-left-style: solid;"><p class="p"><span class="cmd">cd ~/Music ; wget %srv</span></p></td>
</tr>
</table></div></div></div>
<p class="p">You can use <span class="cmd">curl</span>, or wrap the command with <span class="cmd">xterm</span>
	(though files are too quick to download).
	A few file managers might be able to open the URLs directly even.
	See <span class="link"><a href="recording.html" title="Recording">recording configuration</a></span> for more examples.</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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|




|
<
<




|










|
|
|
















<
|
|
|






|

|
<
<
|

1
2
3
4
5
6
7
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
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> The MOD Archive</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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></div></header><article><div class="hgroup pagewide">


<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_modarchive.png" class="media media-inline" alt=""></span></span> The MOD Archive</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://modarchive.org/" title="http://modarchive.org/">//modarchive.org/</a></span></span></h2>
</div>
<div class="region">
<div class="contents pagewide">
<p class="p">MODArchive is a collection of module/tracker files. It's a community project, and
        categorizes individual audio files. You'll need a MOD-capable audio player.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">XMP/libxmp</p></li>
<li class="list"><p class="p">MikMod</p></li>
<li class="list"><p class="p">MODPlug for XMMS</p></li>
<li class="list"><p class="p">GModplay</p></li>
<li class="list"><p class="p">VLC (built-in support)</p></li>
</ul></div></div></div>
</div>
<section id="options"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Configuration</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">Audio files are packaged up in ZIP files on MODArchive. 
	While they are different formats (IT, S3M, XM, etc) they'll all
	carry a generic <span class="var">audio/mod+zip</span> type specifier in
	streamtuner2 for configuration:</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
<tr><td colspan="2"><p class="p">Recording apps</p></td></tr>
<tr class="shade">
<td style="border-top-style: solid;"><p class="p"><span class="var">audio/mod+zip</span></p></td>
<td class="shade" style="border-top-style: solid;border-left-style: solid;"><p class="p"><span class="cmd">cd ~/Music ; wget %srv</span></p></td>
</tr>
</table></div></div></div>
<p class="p">You can use <span class="cmd">curl</span>, or wrap the command with <span class="cmd">xterm</span>
	(though files are too quick to download).
	A few file managers might be able to open the URLs directly even.
	See <span class="link"><a href="recording.html" title="Recording">recording configuration</a></span> for more examples.</p>
</div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/myoggradio.html from [9e03599eee] to [a76e84239a].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> MyOggRadio</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_myoggradio.png" class="media media-inline" alt=""></span></span> MyOggRadio</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://myoggradio.org/" title="http://myoggradio.org/">//myoggradio.org/</a></span></span></h2>
</div>
<div class="region">
<div class="contents">
<p class="p"><span class="link"><a href="http://MyOggRadio.org/" title="http://MyOggRadio.org/">MyOggRadio</a></span> is an open
source internet radio directory project.</p>
<p class="p">Since it provides its station list as JSON it's very well supported.</p>
</div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Sharing is caring</span></h2></div>
<div class="region"><div class="contents"><p class="p">To help with populating the directory further,
  streamtuner2 provides an option to share radio station links.
  Use the <span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">Share on MyOggRadio...</span></span>
  context menu entry to upload a selected radio (e.g. from your bookmarks).</p></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Personal</span></h2></div>
<div class="region"><div class="contents">
<p class="p">The personal section is empty per default. You need to specify a user account
  in the settings dialog, and actually bookmark stations in the MyOggRadio web site.
  Shared entries aren't automatically in the <span class="gui">personal</span> list.</p>




<div class="note note-tip" title="Tip"><div class="inner"><div class="region"><div class="contents"><p class="p">MyOggRadio also has a neat cross-platform player:
  <span class="link"><a href="http://freshcode.club/projects/jmorp" title="http://freshcode.club/projects/jmorp">JMyOggRadioPlayer</a></span>.</p></div></div></div></div>
</div></div>
</div></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">Login settings</span></dt>
<dd class="terms">
<p class="p">If you want to upload station infos to MyOggRadio, you need an account there.
    Registration is free and doesn't require personal information nor email address.
    Specify it as <span class="input">username:password</span> separated with a : colon in this field.</p>
<div class="note note-advanced" title="Advanced"><div class="inner"><div class="region"><div class="contents">












<p class="p">Alternatively you can store your account settings in the central
      <span class="file">~/.netrc</span> config file. Or in <span class="file">~/.config/netrc</span> even.</p>
<p class="p">Your entry for MyOggRadio should follow the common format:</p>
<div class="code"><pre class="contents ">machine myoggradio.org
    login usr123
    password pw123</pre></div>
<p class="p">Which is useful because it's a standard format, and prevents
      leaking authorization data into per-application config stores.
      Note that a user:pw setting in streamtuner still takes precedence
      however.</p>
</div></div></div></div>

</dd>
<dt class="terms"><span class="code">stream URL format</span></dt>
<dd class="terms"><p class="p">When uploading stations, the streaming URL can be converted into
    raw/direct server address. When undefined, station URLs are left as
    .M3U/.PLS link.</p></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>
<li class="links "><a href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a></li>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|






|
<
<




|




|
|
|



|
<
|
|



>
>
>
>
|
|
|

|
|
|





|
>
>
>
>
>
>
>
>
>
>
>
>



|

|




|
>






<
|
|
|







|

|
<
<
|

1
2
3
4
5
6
7
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
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
102
103
104
105


106
107
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> MyOggRadio</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div></header><article><div class="hgroup pagewide">


<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_myoggradio.png" class="media media-inline" alt=""></span></span> MyOggRadio</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://myoggradio.org/" title="http://myoggradio.org/">//myoggradio.org/</a></span></span></h2>
</div>
<div class="region">
<div class="contents pagewide">
<p class="p"><span class="link"><a href="http://MyOggRadio.org/" title="http://MyOggRadio.org/">MyOggRadio</a></span> is an open
source internet radio directory project.</p>
<p class="p">Since it provides its station list as JSON it's very well supported.</p>
</div>
<section id=""><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Sharing is caring</span></h2></div>
<div class="region"><div class="contents pagewide"><p class="p">To help with populating the directory further,
  streamtuner2 provides an option to share radio station links.
  Use the <span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">Share on MyOggRadio...</span></span>
  context menu entry to upload a selected radio (e.g. from your bookmarks).</p></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Personal</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">The personal section is empty per default. You need to specify a user account
  in the settings dialog, and actually bookmark stations in the MyOggRadio web site.
  Shared entries aren't automatically in the <span class="gui">personal</span> list.</p>
<div class="note note-tip" title="Tip">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m12 2c-3.8541 0-7 3.1459-7 7 0 1.823 0.4945 3.139 1.1641 4.133 0.6695 0.994 1.4328 1.671 2.039 2.471 0.0882 0.116 0.1749 0.656 0.2071 1.32 0.016 0.332 0.0133 0.68 0.1894 1.119 0.0881 0.22 0.2439 0.478 0.5059 0.672 0.2619 0.194 0.6028 0.285 0.8945 0.285h4c0.583 0 1.204-0.478 1.402-0.908 0.199-0.43 0.217-0.793 0.244-1.137 0.056-0.688 0.138-1.319 0.211-1.441 0.549-0.916 1.304-2.009 1.94-3.114 0.636-1.104 1.203-2.199 1.203-3.4 0-3.8541-3.146-7-7-7zm0 2c2.773 0 5 2.2267 5 5 0 0.456-0.359 1.401-0.936 2.402-0.111 0.195-0.246 0.399-0.369 0.598h-7.8825c-0.4871-0.728-0.8125-1.519-0.8125-3 0-2.7733 2.2267-5 5-5z" style="block-progression:tb;color-rendering:auto;color:#000000;image-rendering:auto;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"></path>
 <path class="yelp-svg-fill" d="m9 20a0.5 0.5 0 0 0-0.5 0.5 0.5 0.5 0 0 0 0.5 0.5h6a0.5 0.5 0 0 0 0.5-0.5 0.5 0.5 0 0 0-0.5-0.5h-6zm0 2a0.5 0.5 0 0 0-0.5 0.5 0.5 0.5 0 0 0 0.5 0.5h6a0.5 0.5 0 0 0 0.5-0.5 0.5 0.5 0 0 0-0.5-0.5h-6z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">MyOggRadio also has a neat cross-platform player:
  <span class="link"><a href="http://freshcode.club/projects/jmorp" title="http://freshcode.club/projects/jmorp">JMyOggRadioPlayer</a></span>.</p></div></div></div>
</div>
</div></div>
</div></section><section id="options"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Channel options.</span></h2></div>
<div class="region"><div class="contents pagewide"><div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms"><span class="code">Login settings</span></dt>
<dd class="terms">
<p class="p">If you want to upload station infos to MyOggRadio, you need an account there.
    Registration is free and doesn't require personal information nor email address.
    Specify it as <span class="input">username:password</span> separated with a : colon in this field.</p>
<div class="note note-advanced" title="Advanced">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m5.4473 12.572c-2.039 0.957-3.4473 3.019-3.4473 5.428v4h20v-4c0-2.406-1.406-4.466-3.441-5.424a8 8 0 0 1-6.559 3.424 8 8 0 0 1-6.5527-3.428z"></path>
 <path class="yelp-svg-fill" d="m12 3a5 5 0 0 0-5 5 5 5 0 0 0 5 5 5 5 0 0 0 5-5 5 5 0 0 0-5-5zm0 3a2 2 0 0 1 2 2 2 2 0 0 1-2 2 2 2 0 0 1-2-2 2 2 0 0 1 2-2z"></path>
 <path class="yelp-svg-fill" d="m15.312 6 3.688 1v2l-3.4688 1z"></path>
 <path class="yelp-svg-fill" d="m14 11.312-1 3.688h-2l-1-3.469z"></path>
 <path class="yelp-svg-fill" d="m10 4.6875 1-3.6875h2l1 3.4688z"></path>
 <path class="yelp-svg-fill" d="m8.6875 10-3.6875-1v-2l3.4688-1z"></path>
 <path class="yelp-svg-fill" d="m12.928 4.2435 3.3146-1.9003 1.4142 1.4142-1.7457 3.1599z"></path>
 <path class="yelp-svg-fill" d="m15.757 8.9281 1.9003 3.3146-1.4142 1.4142-3.1599-1.7457z"></path>
 <path class="yelp-svg-fill" d="m8.2435 7.0719-1.9004-3.3145 1.4143-1.4143 3.1596 1.7457z"></path>
 <path class="yelp-svg-fill" d="m11.072 11.757-3.3146 1.9-1.4143-1.414 1.7457-3.1602z"></path>
</svg><div class="inner"><div class="region"><div class="contents">
<p class="p">Alternatively you can store your account settings in the central
      <span class="file">~/.netrc</span> config file. Or in <span class="file">~/.config/netrc</span> even.</p>
<p class="p">Your entry for MyOggRadio should follow the common format:</p>
<div class="code"><pre class="contents"><code>machine myoggradio.org
    login usr123
    password pw123</code></pre></div>
<p class="p">Which is useful because it's a standard format, and prevents
      leaking authorization data into per-application config stores.
      Note that a user:pw setting in streamtuner still takes precedence
      however.</p>
</div></div></div>
</div>
</dd>
<dt class="terms"><span class="code">stream URL format</span></dt>
<dd class="terms"><p class="p">When uploading stations, the streaming URL can be converted into
    raw/direct server address. When undefined, station URLs are left as
    .M3U/.PLS link.</p></dd>
</dl></div></div></div></div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Added help/html/peertube.html version [95e03cd09d].







































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
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
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Peertube</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div></header><article><div class="hgroup pagewide">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_peertube.png" class="media media-inline" alt=""></span></span> Peertube</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://joinpeertube.org/" title="http://joinpeertube.org/">//joinpeertube.org/</a></span></span></h2>
</div>
<div class="region">
<div class="contents pagewide">
<p class="p">PeerTube is a federated video hosting network. And this channel
	allows you to browse /Music and other categories. It's not quite a
	very rich ecosystem yet, but very international. So perhaps worth a
	lookaround.</p>
<p class="p">The category list seeems to be uniform across most Peertube
	instances. So you only need to reload stations/videos once switching
	the address in the settings. </p>
<p class="p">Per default you should use VLC and 
        <span class="link"><a href="http://youtube-dl.org/" title="http://youtube-dl.org/">youtube-dl</a></span> in the
	playback settings. Per default the faux mime type <span class="cmd">video/youtube</span>
	is used for all listings. However, internally there's a lookup for
	an .m3u or direct .mp4 link already. So the <span class="cmd">video/*</span> entry should
	also be populated.</p>
</div>
<section id="options"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Channel options.</span></h2></div>
<div class="region"><div class="contents pagewide"><div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms"><span class="code">🔠 Peertube server</span></dt>
<dd class="terms"><p class="p">Sets the main isntance to query video listings from. Now most
	    of the other sites will be peered, so the main server doesn't
	    have that much influence. It changes the ordering however, and
            will reveal more local videos or languages often.</p></dd>
</dl></div></div></div></div></div>
</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>
</div></main></body>
</html>

Modified help/html/playing.html from [248a899bd6] to [0ad6a25126].


1
2
3
4
5
6






7
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
40
41
42
43
44
45
46
47
48
49
50
51
52

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Playing</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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> » </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#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a> » <a class="trail" href="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</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#functions" title="Functions">Functions</a> » </div>
</div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Playing</span></h1></div>
<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>
</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="streams.html#actions" title="Actions">Actions</a></li>
<li class="links "><a href="index.html#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a></li>
<li class="links "><a href="index.html#functions" title="Functions">Functions</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|






<
<
|

|














|
|
|







|

|
<
<
|

1
2
3
4
5
6
7
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53


54
55
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Playing</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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> » </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#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a> » <a class="trail" href="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</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#functions" title="Functions">Functions</a> » </div>


</div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Playing</span></h1></div>
<div class="region">
<div class="contents pagewide">
<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>
</div>
<section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="streams.html#actions" title="Actions">Actions</a></li>
<li class="links "><a href="index.html#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a></li>
<li class="links "><a href="index.html#functions" title="Functions">Functions</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/pluginmanager2.html from [88aaf76b41] to [359adad2bb].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Plugin Manager 2 - 📦 Add </title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » </div></div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </span></h1></div>
<div class="region">
<div class="contents">
<p class="p">For updating or installing new plugins (extra channels or
	features), there's a user plugin manager. It's available as
	feature extension itself.</p>
<div class="steps"><div class="inner"><div class="region"><ol class="steps">
<li class="steps"><p class="p">See the <span class="key"><kbd>F12</kbd></span> config dialog <span class="key"><kbd>🔌 Feature</kbd></span> section.</p></li>
<li class="steps"><p class="p">Enable the <span class="key"><kbd>⨯</kbd></span> Plugin Manager (listed near the end).</p></li>
<li class="steps"><p class="p">Restart streamtuner2 one last time for this change to take effect.</p></li>
</ol></div></div></div>
<p class="p">Once activated it brings up a new <span class="key"><kbd>📦 Add</kbd></span> tab
	in the configuration window.</p>
<p class="p"><span class="media"><span class="media media-image"><img src="img/pluginmanager2.png" class="media media-inline" alt="Install dialog for user plugins"></span></span></p>
<p class="p">You can scan for available/new plugins there. And have them
	downloaded right away. New plugins are just downloaded, not
	implictly enabled. Reopen the config dialog to see them in the
	regular <span class="key"><kbd>📻 Channels</kbd></span> or <span class="key"><kbd>🔌 Feature</kbd></span> tabs, and
	then enable them.</p>




<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">Updated plugin versions won't be instantiated right away
	if they've been active already. That requires either a restart.
	Or disabling + saving once, then reenabling them.</p></div></div></div></div>

<div class="links topiclinks"><div class="inner"><div class="region">
<div class="linkdiv "><a class="linkdiv" href="configuration.html#plugins" title="Channel and feature plugins and settings"><span class="title">Channel and feature plugins and settings</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="contrib_channels.html" title="→ Contrib/Extra Channels"><span class="title">→ Contrib/Extra Channels</span><span class="linkdiv-dash"> — </span><span class="desc">Downloadable channel plugins</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="contrib_features.html" title="→ Feature plugins"><span class="title">→ Feature plugins</span><span class="linkdiv-dash"> — </span><span class="desc">Additional feature plugins</span></a></div>
</div></div></div>
</div>
<div id="configuration" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Configuration</span></h2></div>
<div class="region"><div class="contents"><div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Alternative download repositories may be configured. (Little
	practical value at the moment.)</p></li>
<li class="list">
<p class="p">And you can let the plugin manager handle ☑ autoactivation
	of changed plugin states.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">After reconfiguring existing channel plugins, they get
   	  automatically instantiated or disabled in the user interface.
   	  (Which avoids the usual restart).</p></li>
<li class="list"><p class="p">This currently doesn't work with feature/core
   	  plugins. Plugin deactivation is mostly visual, but does not undo
   	  menu extensions or undefine callback hooks.</p></li>
</ul></div></div></div>
</li>
</ul></div></div></div></div></div>
</div></div>
<div id="userplugins" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">User plugins</span></h2></div>
<div class="region"><div class="contents">
<p class="p">Downloaded plugins are stored in <span class="file">~/.config/streamtuner2/plugins/</span>.


	To remove them, delete the individual *.py files there manually. But
	keep the <span class="file">__init__.py</span> stub.</p>
<p class="p">On Windows they're stored in <span class="file">%APPDATA%\streamtuner2\plugins\</span>.</p>
<div class="note note-bug" title="Bug"><div class="inner"><div class="region"><div class="contents">










<p class="p">Core plugins (those which are installed
	system-wide) can often also be updated. The user-saved plugin will
	take precedence after a restart. However the version number in
	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="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>
</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="index.html#extra" title="Additional features">Additional features</a></li></ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|
|
<
<

|
















>
>
>
>
|

|
>
|



|

|
|
|















|
<
|
|
|
>
>



|
>
>
>
>
>
>
>
>
>
>







|
|

|
|
|


|



<
|
|
|



|

|
<
<
|

1
2
3
4
5
6
7
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
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
102
103
104
105
106
107

108
109
110
111
112
113
114
115
116


117
118
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Plugin Manager 2 - 📦 Add </title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » </div></div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </span></h1></div>


<div class="region">
<div class="contents pagewide">
<p class="p">For updating or installing new plugins (extra channels or
	features), there's a user plugin manager. It's available as
	feature extension itself.</p>
<div class="steps"><div class="inner"><div class="region"><ol class="steps">
<li class="steps"><p class="p">See the <span class="key"><kbd>F12</kbd></span> config dialog <span class="key"><kbd>🔌 Feature</kbd></span> section.</p></li>
<li class="steps"><p class="p">Enable the <span class="key"><kbd>⨯</kbd></span> Plugin Manager (listed near the end).</p></li>
<li class="steps"><p class="p">Restart streamtuner2 one last time for this change to take effect.</p></li>
</ol></div></div></div>
<p class="p">Once activated it brings up a new <span class="key"><kbd>📦 Add</kbd></span> tab
	in the configuration window.</p>
<p class="p"><span class="media"><span class="media media-image"><img src="img/pluginmanager2.png" class="media media-inline" alt="Install dialog for user plugins"></span></span></p>
<p class="p">You can scan for available/new plugins there. And have them
	downloaded right away. New plugins are just downloaded, not
	implictly enabled. Reopen the config dialog to see them in the
	regular <span class="key"><kbd>📻 Channels</kbd></span> or <span class="key"><kbd>🔌 Feature</kbd></span> tabs, and
	then enable them.</p>
<div class="note" title="Note">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">Updated plugin versions won't be instantiated right away
	if they've been active already. That requires either a restart.
	Or disabling + saving once, then reenabling them.</p></div></div></div>
</div>
<div class="links topiclinks"><div class="inner"><div class="region"><div class="links-divs">
<div class="linkdiv "><a class="linkdiv" href="configuration.html#plugins" title="Channel and feature plugins and settings"><span class="title">Channel and feature plugins and settings</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="contrib_channels.html" title="→ Contrib/Extra Channels"><span class="title">→ Contrib/Extra Channels</span><span class="linkdiv-dash"> — </span><span class="desc">Downloadable channel plugins</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="contrib_features.html" title="→ Feature plugins"><span class="title">→ Feature plugins</span><span class="linkdiv-dash"> — </span><span class="desc">Additional feature plugins</span></a></div>
</div></div></div></div>
</div>
<section id="configuration"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Configuration</span></h2></div>
<div class="region"><div class="contents pagewide"><div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Alternative download repositories may be configured. (Little
	practical value at the moment.)</p></li>
<li class="list">
<p class="p">And you can let the plugin manager handle ☑ autoactivation
	of changed plugin states.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">After reconfiguring existing channel plugins, they get
   	  automatically instantiated or disabled in the user interface.
   	  (Which avoids the usual restart).</p></li>
<li class="list"><p class="p">This currently doesn't work with feature/core
   	  plugins. Plugin deactivation is mostly visual, but does not undo
   	  menu extensions or undefine callback hooks.</p></li>
</ul></div></div></div>
</li>
</ul></div></div></div></div></div>
</div></section><section id="userplugins"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">User plugins</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">Downloaded plugins are stored in <span class="file">~/.config/streamtuner2/plugins/</span>
	(not in <span class="file">~/.cache</span>, because they're sort of configuration
	and should be backed up in case of local modifications).
	To remove them, delete the individual *.py files there manually. But
	keep the <span class="file">__init__.py</span> stub.</p>
<p class="p">On Windows they're stored in <span class="file">%APPDATA%\streamtuner2\plugins\</span>.</p>
<div class="note note-bug" title="Bug">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m7 8v7h0.0078a5 6.3027 0 0 0 3.9922 5.867v-6.867h2v6.871a5 6.3027 0 0 0 3.988-5.871h0.012v-7h-10z"></path>
 <path class="yelp-svg-fill" d="m12 3a4 4 0 0 0-4 4h8a4 4 0 0 0-4-4z"></path>
 <path class="yelp-svg-fill" d="m16 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m9.2045 16.361h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m21.704 4.2894h6v1h-6z"></path>
 <path class="yelp-svg-fill" d="m2 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m5.5801 4.3612h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m-6.9199 16.289h6v1h-6z"></path>
</svg><div class="inner"><div class="region"><div class="contents">
<p class="p">Core plugins (those which are installed
	system-wide) can often also be updated. The user-saved plugin will
	take precedence after a restart. However the version number in
	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></section><section id="disable"><div class="inner">
<div class="hgroup pagewide"><h3 class="subtitle"><span class="subtitle">Disable user plugin loading</span></h3></div>
<div class="region"><div class="contents pagewide">
<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"><code>streamtuner2 -d <span class="input">pluginmanager2</span></code></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>
</div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#extra" title="Additional features">Additional features</a></li></ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/radiobrowser.html from [426469a7b0] to [b4b43078ae].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Radio-Browser</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_radiobrowser.png" class="media media-inline" alt=""></span></span> Radio-Browser</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://radio-browser.info/" title="http://radio-browser.info/">//radio-browser.info/</a></span></span></h2>
</div>
<div class="region">
<div class="contents">
<p class="p">Radio-Browser is an ambitious community project. It collects as many
public internet radio stations as possible. It's free to use, has a well
documented API, with a simple JSON interface.</p>
<p class="p">It's now the backend in many open source music players:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Rhythmbox (for which it was originally intended)</p></li>
<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 (in streamtuner2 2.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 category 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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|






|
<
<




|

















|
|
|




>
|
>
>
>
>

|
|
>
>
>
>
|


|
|
|
|
|







|

|
<
<
|

1
2
3
4
5
6
7
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
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Radio-Browser</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div></header><article><div class="hgroup pagewide">


<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_radiobrowser.png" class="media media-inline" alt=""></span></span> Radio-Browser</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://radio-browser.info/" title="http://radio-browser.info/">//radio-browser.info/</a></span></span></h2>
</div>
<div class="region">
<div class="contents pagewide">
<p class="p">Radio-Browser is an ambitious community project. It collects as many
public internet radio stations as possible. It's free to use, has a well
documented API, with a simple JSON interface.</p>
<p class="p">It's now the backend in many open source music players:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Rhythmbox (for which it was originally intended)</p></li>
<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 (in streamtuner2 2.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>
<section id="options"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Configuration</span></h2></div>
<div class="region"><div class="contents pagewide">
<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 category view.</p>
<p class="p"> The API server option lets you predefine a more local cache to be used
 for station list queries.</p>
<p class="p"> And "Minimum stations to list a category" can be used to filter out
 fringe/sparsely populated genres - on using <span class="guiseq"><span class="gui">Channel</span> ▸ <span class="gui">Reload Category Tree (F5)</span></span>. Typically 15 should be okay,
 or 150 if you want to see only major categories. Else the category list
 would become around a thousand entries.</p>
</div></div>
</div></section><section id="advertisment"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="region"><div class="contents pagewide"><div class="note" title="Note">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><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></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/radionomy.html from [61d48708a5] to [9208d61be7].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Radionomy</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_radionomy.png" class="media media-inline" alt=""></span></span> Radionomy</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://radionomy.com/" title="http://radionomy.com/">//radionomy.com/</a></span></span></h2>
</div>
<div class="region">
<div class="contents">
<p class="p">Radionomy is an internet radio streaming provider, orginally
founded in Belgium.  It commands a pretty big slice of the worldwide
internet radio stuff these days. - It took over Shoutcast.com for
instance.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Its directory contains over 6000 stations already, all of them hosted by Radionomy directly.</p></li>
<li class="list"><p class="p">This plugin uses a mixture of RegExp/DOM extraction, JSON reading, and simulated AJAX queries to fetch station lists.</p></li>
<li class="list"><p class="p">Station logos are 25x25px large, and directly fetched from radionomy.com as well.</p></li>
</ul></div></div></div>
<p class="p">Both listening and station hosting are free (given agreement
to autoplay advertisements, and a minimum quota of daily listeners). 
Radionomy is therefore pretty popular and growing.</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"><div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list">
<div class="title title-item"><h3><span class="title">🔟 Number of pages</span></h3></div>
<p class="p"> You can configure the number of pages it'll try (<span class="key"><kbd>3</kbd></span> by
  default) to influence the length of station lists.</p>
</li>
<li class="list">
<div class="title title-item"><h3><span class="title">☑ OnAir updates</span></h3></div>
<p class="p"> And the song title updating can be disabled (for speedier loading).
  Future versions of this channel plugin might poll it automatically,
  and keep the station list auto-updated.</p>
</li>
</ul></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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|






|
<
<




|













|
|
|












<
|
|
|







|

|
<
<
|

1
2
3
4
5
6
7
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
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Radionomy</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div></header><article><div class="hgroup pagewide">


<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_radionomy.png" class="media media-inline" alt=""></span></span> Radionomy</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://radionomy.com/" title="http://radionomy.com/">//radionomy.com/</a></span></span></h2>
</div>
<div class="region">
<div class="contents pagewide">
<p class="p">Radionomy is an internet radio streaming provider, orginally
founded in Belgium.  It commands a pretty big slice of the worldwide
internet radio stuff these days. - It took over Shoutcast.com for
instance.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Its directory contains over 6000 stations already, all of them hosted by Radionomy directly.</p></li>
<li class="list"><p class="p">This plugin uses a mixture of RegExp/DOM extraction, JSON reading, and simulated AJAX queries to fetch station lists.</p></li>
<li class="list"><p class="p">Station logos are 25x25px large, and directly fetched from radionomy.com as well.</p></li>
</ul></div></div></div>
<p class="p">Both listening and station hosting are free (given agreement
to autoplay advertisements, and a minimum quota of daily listeners). 
Radionomy is therefore pretty popular and growing.</p>
</div>
<section id="options"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Configuration</span></h2></div>
<div class="region"><div class="contents pagewide"><div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list">
<div class="title title-item"><h3><span class="title">🔟 Number of pages</span></h3></div>
<p class="p"> You can configure the number of pages it'll try (<span class="key"><kbd>3</kbd></span> by
  default) to influence the length of station lists.</p>
</li>
<li class="list">
<div class="title title-item"><h3><span class="title">☑ OnAir updates</span></h3></div>
<p class="p"> And the song title updating can be disabled (for speedier loading).
  Future versions of this channel plugin might poll it automatically,
  and keep the station list auto-updated.</p>
</li>
</ul></div></div></div></div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/recording.html from [0ec4fd2fce] to [01fc39cbce].


1
2
3
4
5
6






7
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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Recording</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</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#functions" title="Functions">Functions</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#functions" title="Functions">Functions</a> » <a class="trail" href="configuration.html" title="Configuration / Settings dialog">Configuration / Settings dialog</a> › <a class="trail" href="configuration.html#recording" title="Recording Apps">Recording Apps</a> » </div>
</div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Recording</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">Most stations that stream MP3 or OGG music can be recorded. This is
accomplished through the command-line tool <span class="app">streamripper</span>.  If you
select a station and press <span class="gui"><span class="key"><kbd>●</kbd></span> record</span>, a console
window should appear, where streamripper shows its progress.</p>
<p class="p">You can <span class="link"><a href="configuration.html" title="Configuration / Settings dialog">configure the recording tool</a></span>
according to audio types again. Usually you want to use the <span class="link"><a href="config_apps.html#placeholders" title="URL placeholders"><span class="cmd">%srv</span> placeholder</a></span>.</p>
</div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Streamripper</span></h2></div>
<div class="region"><div class="contents">
<p class="p">There's already a default entry for recording radio stations:</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
<thead><tr>
<td><p class="p">Format</p></td>
<td style="border-left-style: solid;"><p class="p">Application</p></td>
</tr></thead>
<tr>
>






>
>
>
>
>
>
|

|
|






<
<
|

|







|
|
|







1
2
3
4
5
6
7
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
40
41
42
43
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Recording</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</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#functions" title="Functions">Functions</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#functions" title="Functions">Functions</a> » <a class="trail" href="configuration.html" title="Configuration / Settings dialog">Configuration / Settings dialog</a> › <a class="trail" href="configuration.html#recording" title="Recording Apps">Recording Apps</a> » </div>


</div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Recording</span></h1></div>
<div class="region">
<div class="contents pagewide">
<p class="p">Most stations that stream MP3 or OGG music can be recorded. This is
accomplished through the command-line tool <span class="app">streamripper</span>.  If you
select a station and press <span class="gui"><span class="key"><kbd>●</kbd></span> record</span>, a console
window should appear, where streamripper shows its progress.</p>
<p class="p">You can <span class="link"><a href="configuration.html" title="Configuration / Settings dialog">configure the recording tool</a></span>
according to audio types again. Usually you want to use the <span class="link"><a href="config_apps.html#placeholders" title="URL placeholders"><span class="cmd">%srv</span> placeholder</a></span>.</p>
</div>
<section id=""><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Streamripper</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">There's already a default entry for recording radio stations:</p>
<div class="table"><div class="inner"><div class="region"><table class="table">
<thead><tr>
<td><p class="p">Format</p></td>
<td style="border-left-style: solid;"><p class="p">Application</p></td>
</tr></thead>
<tr>
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
102
103
104
105
106
107
108
109
110
111
112
</ol></div></div></div>
<p class="p">Whenever you leave out the <span class="cmd">xterm</span> prefix, it runs silently in the background.
Common xterm alternatives are <span class="cmd">x-terminal-emulator</span>, or <span class="cmd">rxvt</span>,
<span class="cmd">gnome-terminal</span>, and <span class="cmd">xfce4-terminal</span> etc.</p>
<p class="p">See the streamripper(1) man page or its
<span class="link"><a href="http://streamripper.sourceforge.net/faq.php" title="http://streamripper.sourceforge.net/faq.php">FAQ</a></span> for more tips.</p>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">fIcy/fPls</span></h2></div>
<div class="region"><div class="contents">
<p class="p">As alternative to streamripper, check out <span class="link"><a href="http://freshcode.club/projects/ficy" title="http://freshcode.club/projects/ficy">fIcy/fPls</a></span>
for recording ICEcast/SHOUTcast streaming servers.</p>
<p class="p">It can be configured just as easily with:</p>
<div class="steps"><div class="inner"><div class="region"><ol class="steps"><li class="steps"><p class="p"><span class="cmd">xterm -e "fPls %pls"</span></p></li></ol></div></div></div>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Graphical stream recording tools</span></h2></div>
<div class="region"><div class="contents">
<p class="p">You can also try a streamripper GUI or graphical
reimplementation:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p"><span class="link"><a href="http://sourceforge.net/projects/stripper/" title="http://sourceforge.net/projects/stripper/">StreamRipStar</a></span> (Java), works best per drag and drop; set the DND format to PLS or M3U however.</p></li>
<li class="list"><p class="p"><span class="link"><a href="http://launchpad.net/streamtastic" title="http://launchpad.net/streamtastic">Streamtastic</a></span> (Java), only imports a text entry per drag and drop.</p></li>
<li class="list"><p class="p"><span class="link"><a href="http://kstreamripper.sourceforge.net/" title="http://kstreamripper.sourceforge.net/">KStreamRipper</a></span>, though no current version in distros.</p></li>
<li class="list"><p class="p">VLC has built-in recording capabilities.</p></li>
</ul></div></div></div>
<p class="p">Which all simplify defining a custom download directory, or how radio
streams are split (between advertisement breaks), and the naming scheme
for resulting *.mp3 filenames of course.</p>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Youtube-DL</span></h2></div>
<div class="region"><div class="contents">
<p class="p">The recording settings already have a specific entry for "video/youtube" URLs.</p>
<p class="p">To configure a custom download directory, use:</p>
<div class="steps"><div class="inner"><div class="region"><ol class="steps"><li class="steps"><p class="p"><span class="cmd">xterm -e "cd /media/music ; youtube-dl %srv"</span></p></li></ol></div></div></div>
<p class="p">The <span class="cmd">cd</span> trick also works with streamripper, or other tools.</p>
</div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Wget for MOD files</span></h2></div>
<div class="region"><div class="contents">
<p class="p">To download audio files from The MOD Archive directly, you can also
define a custom handler.</p>
<div class="steps"><div class="inner"><div class="region"><ol class="steps">
<li class="steps"><p class="p">Scroll/click on the ⎘ empty row in the recording application list.</p></li>
<li class="steps">
<p class="p">There create a new recording MIME type:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list"><li class="list"><p class="p"><span class="var">audio/mod+zip</span></p></li></ul></div></div></div>







|
<
|
|





|
<
|
|












|
<
|
|





|
<
|
|







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
102
103
104

105
106
107
108
109
110
111
112
113
</ol></div></div></div>
<p class="p">Whenever you leave out the <span class="cmd">xterm</span> prefix, it runs silently in the background.
Common xterm alternatives are <span class="cmd">x-terminal-emulator</span>, or <span class="cmd">rxvt</span>,
<span class="cmd">gnome-terminal</span>, and <span class="cmd">xfce4-terminal</span> etc.</p>
<p class="p">See the streamripper(1) man page or its
<span class="link"><a href="http://streamripper.sourceforge.net/faq.php" title="http://streamripper.sourceforge.net/faq.php">FAQ</a></span> for more tips.</p>
</div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">fIcy/fPls</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">As alternative to streamripper, check out <span class="link"><a href="http://freshcode.club/projects/ficy" title="http://freshcode.club/projects/ficy">fIcy/fPls</a></span>
for recording ICEcast/SHOUTcast streaming servers.</p>
<p class="p">It can be configured just as easily with:</p>
<div class="steps"><div class="inner"><div class="region"><ol class="steps"><li class="steps"><p class="p"><span class="cmd">xterm -e "fPls %pls"</span></p></li></ol></div></div></div>
</div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Graphical stream recording tools</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">You can also try a streamripper GUI or graphical
reimplementation:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p"><span class="link"><a href="http://sourceforge.net/projects/stripper/" title="http://sourceforge.net/projects/stripper/">StreamRipStar</a></span> (Java), works best per drag and drop; set the DND format to PLS or M3U however.</p></li>
<li class="list"><p class="p"><span class="link"><a href="http://launchpad.net/streamtastic" title="http://launchpad.net/streamtastic">Streamtastic</a></span> (Java), only imports a text entry per drag and drop.</p></li>
<li class="list"><p class="p"><span class="link"><a href="http://kstreamripper.sourceforge.net/" title="http://kstreamripper.sourceforge.net/">KStreamRipper</a></span>, though no current version in distros.</p></li>
<li class="list"><p class="p">VLC has built-in recording capabilities.</p></li>
</ul></div></div></div>
<p class="p">Which all simplify defining a custom download directory, or how radio
streams are split (between advertisement breaks), and the naming scheme
for resulting *.mp3 filenames of course.</p>
</div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Youtube-DL</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">The recording settings already have a specific entry for "video/youtube" URLs.</p>
<p class="p">To configure a custom download directory, use:</p>
<div class="steps"><div class="inner"><div class="region"><ol class="steps"><li class="steps"><p class="p"><span class="cmd">xterm -e "cd /media/music ; youtube-dl %srv"</span></p></li></ol></div></div></div>
<p class="p">The <span class="cmd">cd</span> trick also works with streamripper, or other tools.</p>
</div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Wget for MOD files</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">To download audio files from The MOD Archive directly, you can also
define a custom handler.</p>
<div class="steps"><div class="inner"><div class="region"><ol class="steps">
<li class="steps"><p class="p">Scroll/click on the ⎘ empty row in the recording application list.</p></li>
<li class="steps">
<p class="p">There create a new recording MIME type:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list"><li class="list"><p class="p"><span class="var">audio/mod+zip</span></p></li></ul></div></div></div>
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
</ul></div></div></div>
</li>
</ol></div></div></div>
<p class="p">
All MOD file formats (IT, XM, S3M, etc.) are mapped to this generic type specifier.
</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="streams.html#actions" title="Actions">Actions</a></li>
<li class="links "><a href="index.html#functions" title="Functions">Functions</a></li>
<li class="links "><a href="configuration.html#recording" title="Recording Apps">Recording Apps</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>







<
|
|
|







|

|
<
<
|

121
122
123
124
125
126
127

128
129
130
131
132
133
134
135
136
137
138
139
140


141
142
</ul></div></div></div>
</li>
</ol></div></div></div>
<p class="p">
All MOD file formats (IT, XM, S3M, etc.) are mapped to this generic type specifier.
</p>
</div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="streams.html#actions" title="Actions">Actions</a></li>
<li class="links "><a href="index.html#functions" title="Functions">Functions</a></li>
<li class="links "><a href="configuration.html#recording" title="Recording Apps">Recording Apps</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/reddit.html from [522e0149eb] to [8fc7c18c7e].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Reddit</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_reddit.png" class="media media-inline" alt=""></span></span> Reddit</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://reddit.com/r/Music" title="http://reddit.com/r/Music">//reddit.com/r/Music</a></span></span></h2>
</div>
<div class="region">
<div class="contents">
<p class="p">Reddit (AKA "the frontpage of the internet") is a social media website.
Among its various sections is a large group of music subreddits.
Most of them link popular or novel Youtube music/videos, or user-produced
content etc.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Around <span class="em">620</span> subreddits are queried. That's just a selected part
  though. Most others do not see as many audio posts / or are just for
  discussion and news.</p></li>
<li class="list"><p class="p">Besides youtube/mp3 files, this channel may also
  list Soundcloud/Mixcloud/Bandcamp links.</p></li>
<li class="list"><p class="p"><span class="link"><a href="http://radioreddit.com/" title="http://radioreddit.com/">Radioreddit.com</a></span>
  even provides streaming servers. Its categories are: main, random,
  rock, metal, indie, electronic, hiphop, talk, festival.</p></li>
<li class="list"><p class="p">Thumbnails are slightly larger (32x26) than regular favicons.</p></li>
<li class="list"><p class="p">All entries also show poster name and user votes.</p></li>
</ul></div></div></div>
<p class="p">See the config options if you want to keep regular webpage posts - instead
of just showing playable content.</p>
</div>
<div id="statusicons" class="sect"><div class="inner">
<div class="hgroup"><h3 class="subtitle"><span class="subtitle">Status icons</span></h3></div>
<div class="region"><div class="contents">
<p class="p">Station entries may contain a status icon (leftmost; where usually
the bookmarks ✩ star goes).
It's a quick indicator of what type of content is linked:</p>
<div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms">▶</dt>
<dd class="terms"><p class="p">Directly playable entry (MP3, MP4, Youtube, MIDI)</p></dd>
<dt class="terms">▶▶</dt>
<dd class="terms"><p class="p">Walled garden (Soundcloud, Spotify, Bandcamp, Mixcloud) → playable</p></dd>
<dt class="terms">▮▮</dt>
<dd class="terms"><p class="p">Walled gardens without playback handler.</p></dd>
<dt class="terms">📄</dt>
<dd class="terms"><p class="p">Just a web-link. Those are kept with the ☒ keep all option.</p></dd>
</dl></div></div></div>
</div></div>
</div></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">There's a few options for the reddit plugin:</p>
<div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms"><span class="code">🔟  Number of pages to fetch </span></dt>
<dd class="terms"><p class="p">Influences how many JSON requests are made to assemble a list of
    subreddit posts with playable content. (For this plugin that's
    configurable, because counting streams wouldn't work as reddit
    result lists vary wildly in their usable links.)</p></dd>
>






>
>
>
>
>
>
|

|
|






|
<
<




|



















|
|
|














|
<
|
|







1
2
3
4
5
6
7
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
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Reddit</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div></header><article><div class="hgroup pagewide">


<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_reddit.png" class="media media-inline" alt=""></span></span> Reddit</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://reddit.com/r/Music" title="http://reddit.com/r/Music">//reddit.com/r/Music</a></span></span></h2>
</div>
<div class="region">
<div class="contents pagewide">
<p class="p">Reddit (AKA "the frontpage of the internet") is a social media website.
Among its various sections is a large group of music subreddits.
Most of them link popular or novel Youtube music/videos, or user-produced
content etc.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Around <span class="em">620</span> subreddits are queried. That's just a selected part
  though. Most others do not see as many audio posts / or are just for
  discussion and news.</p></li>
<li class="list"><p class="p">Besides youtube/mp3 files, this channel may also
  list Soundcloud/Mixcloud/Bandcamp links.</p></li>
<li class="list"><p class="p"><span class="link"><a href="http://radioreddit.com/" title="http://radioreddit.com/">Radioreddit.com</a></span>
  even provides streaming servers. Its categories are: main, random,
  rock, metal, indie, electronic, hiphop, talk, festival.</p></li>
<li class="list"><p class="p">Thumbnails are slightly larger (32x26) than regular favicons.</p></li>
<li class="list"><p class="p">All entries also show poster name and user votes.</p></li>
</ul></div></div></div>
<p class="p">See the config options if you want to keep regular webpage posts - instead
of just showing playable content.</p>
</div>
<section id="statusicons"><div class="inner">
<div class="hgroup pagewide"><h3 class="subtitle"><span class="subtitle">Status icons</span></h3></div>
<div class="region"><div class="contents pagewide">
<p class="p">Station entries may contain a status icon (leftmost; where usually
the bookmarks ✩ star goes).
It's a quick indicator of what type of content is linked:</p>
<div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms">▶</dt>
<dd class="terms"><p class="p">Directly playable entry (MP3, MP4, Youtube, MIDI)</p></dd>
<dt class="terms">▶▶</dt>
<dd class="terms"><p class="p">Walled garden (Soundcloud, Spotify, Bandcamp, Mixcloud) → playable</p></dd>
<dt class="terms">▮▮</dt>
<dd class="terms"><p class="p">Walled gardens without playback handler.</p></dd>
<dt class="terms">📄</dt>
<dd class="terms"><p class="p">Just a web-link. Those are kept with the ☒ keep all option.</p></dd>
</dl></div></div></div>
</div></div>
</div></section><section id="options"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Configuration</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">There's a few options for the reddit plugin:</p>
<div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms"><span class="code">🔟  Number of pages to fetch </span></dt>
<dd class="terms"><p class="p">Influences how many JSON requests are made to assemble a list of
    subreddit posts with playable content. (For this plugin that's
    configurable, because counting streams wouldn't work as reddit
    result lists vary wildly in their usable links.)</p></dd>
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
</dd>
<dt class="terms"><span class="code">☑ Keep all web links </span></dt>
<dd class="terms"><p class="p">Besides audio/video links, some subreddits link to album art or
    are just news feeds. Enable the "keep all" option to retain them.
    Such entries will open in your web browser instead of an audio player,
    of course.</p></dd>
</dl></div></div></div>




<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">To utilize Soundcloud links, there's an <span class="link"><a href="contrib_features.html" title="→ Feature plugins">extra url_soundcloud plugin</a></span>. 
 It overrides the <span class="file">audio/soundcloud</span> player config, and
 resolves such streams to MP3 urls (session typically times out
 quickly, so no bookmarking/export possible etc).</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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>







>
>
>
>
|


|
|

|
|
|







|

|
<
<
|

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
</dd>
<dt class="terms"><span class="code">☑ Keep all web links </span></dt>
<dd class="terms"><p class="p">Besides audio/video links, some subreddits link to album art or
    are just news feeds. Enable the "keep all" option to retain them.
    Such entries will open in your web browser instead of an audio player,
    of course.</p></dd>
</dl></div></div></div>
<div class="note" title="Note">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">To utilize Soundcloud links, there's an <span class="link"><a href="contrib_features.html" title="→ Feature plugins">extra url_soundcloud plugin</a></span>. 
 It overrides the <span class="file">audio/soundcloud</span> player config, and
 resolves such streams to MP3 urls (session typically times out
 quickly, so no bookmarking/export possible etc).</p></div></div></div>
</div>
</div></div>
</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/reloading.html from [4ed418b840] to [b2fa882066].


1
2
3
4
5
6






7
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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Reloading</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</a> » </div></div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Reloading</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">Station information can get stale. Especially Shoutcast invalidates old information
        frequently. Therefore you have to <span class="gui"><span class="key"><kbd>↻</kbd></span> Reload</span> the lists.
        There is an action button below the menu bar for this.
        It retrieves the current data from the directory service.</p>
<p class="p">Favicons aren't loaded automatically. There is a menu entry in Channels for that, which
        works in the background and doesn't display the new icons automatically either. Simply
        reselect the category/genre in the left pane. Or again, use the station reload button.</p>
</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="streams.html#actions" title="Actions">Actions</a></li></ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|
|
<
<

|








|
|
|



|

|
<
<
|

1
2
3
4
5
6
7
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Reloading</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</a> » </div></div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Reloading</span></h1></div>


<div class="region">
<div class="contents pagewide">
<p class="p">Station information can get stale. Especially Shoutcast invalidates old information
        frequently. Therefore you have to <span class="gui"><span class="key"><kbd>↻</kbd></span> Reload</span> the lists.
        There is an action button below the menu bar for this.
        It retrieves the current data from the directory service.</p>
<p class="p">Favicons aren't loaded automatically. There is a menu entry in Channels for that, which
        works in the background and doesn't display the new icons automatically either. Simply
        reselect the category/genre in the left pane. Or again, use the station reload button.</p>
</div>
<section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="streams.html#actions" title="Actions">Actions</a></li></ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/saving.html from [45b4666dff] to [6bd0cc06e7].


1
2
3
4
5
6






7
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
40
41
42
43
44
45
46
47

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Saving</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</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#functions" title="Functions">Functions</a> » </div>
</div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Saving</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">You can export the currently selected stream using
	<span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">Save</span></span> or by pressing
	<span class="key"><kbd>F2</kbd></span>.  A file dialog opens, where you can adapt the title.
	</p>
<p class="p">The extension of the filename decides on the saved link format.  Per
	default a .m3u file is created, because that's what most audio players
	understand.</p>




<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p"> You can also save in <span class="file">.pls</span> or <span class="file">.xspf</span>
	or <span class="file">.asx</span> or <span class="file">.smil</span> format.  In current
	releases the file extension is automatically adapted when changing
	the filter dropdown (bottom right corner in the file dialog). </p></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="streams.html#actions" title="Actions">Actions</a></li>
<li class="links "><a href="index.html#functions" title="Functions">Functions</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|




<
<
|

|







>
>
>
>
|


|

>
|
|
|






|

|
<
<
|

1
2
3
4
5
6
7
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53


54
55
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Saving</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</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#functions" title="Functions">Functions</a> » </div>


</div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Saving</span></h1></div>
<div class="region">
<div class="contents pagewide">
<p class="p">You can export the currently selected stream using
	<span class="guiseq"><span class="gui">Station</span> ▸ <span class="gui">Save</span></span> or by pressing
	<span class="key"><kbd>F2</kbd></span>.  A file dialog opens, where you can adapt the title.
	</p>
<p class="p">The extension of the filename decides on the saved link format.  Per
	default a .m3u file is created, because that's what most audio players
	understand.</p>
<div class="note" title="Note">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p"> You can also save in <span class="file">.pls</span> or <span class="file">.xspf</span>
	or <span class="file">.asx</span> or <span class="file">.smil</span> format.  In current
	releases the file extension is automatically adapted when changing
	the filter dropdown (bottom right corner in the file dialog). </p></div></div></div>
</div>
</div>
<section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="streams.html#actions" title="Actions">Actions</a></li>
<li class="links "><a href="index.html#functions" title="Functions">Functions</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/search.html from [36f7458303] to [436b875106].


1
2
3
4
5
6






7
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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Searching</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</a> » <a class="trail" href="bookmarks.html" title="Bookmarks">Bookmarks</a> › <a class="trail" href="bookmarks.html#other" title="Subcategories">Subcategories</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#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> » <a class="trail" href="bookmarks.html" title="Bookmarks">Bookmarks</a> › <a class="trail" href="bookmarks.html#other" title="Subcategories">Subcategories</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="bookmarks.html" title="Bookmarks">Bookmarks</a> › <a class="trail" href="bookmarks.html#other" title="Subcategories">Subcategories</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#functions" title="Functions">Functions</a> » </div>
</div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Searching</span></h1></div>
<div class="region">
<div class="contents"><p class="p">There are two search functions.</p></div>
<div id="quicksearch" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Quick search</span></h2></div>
<div class="region"><div class="contents"><p class="p">Just enter text into the quick search box atop. Streamtuner2 will instantly highlight
	any matches in the current stations view. If you switch tabs, just click the glass icon
	to reapply the highlighting.</p></div></div>
</div></div>
<div id="cachesearch" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Search window</span></h2></div>
<div class="region"><div class="contents">
<p class="p">You can get to the search dialog via <span class="guiseq"><span class="gui">Edit</span> ▸ <span class="gui">Find</span></span> or <span class="key"><kbd>Ctrl</kbd></span>+<span class="key"><kbd>F</kbd></span>.  Centrally
	to this dialog is a text field, where you can specify the phrase
	to scan for.</p>
<div class="media media-image"><div class="inner"><img src="img/search.png" class="media media-block" alt=""></div></div>
<p class="p">It either will search in:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p"><span class="gui">☐ all channels</span></p></li>
>






>
>
>
>
>
>
|

|
|








<
<
|

|
|
|
|


|
<
|
|







1
2
3
4
5
6
7
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
40
41
42
43
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Searching</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</a> » <a class="trail" href="bookmarks.html" title="Bookmarks">Bookmarks</a> › <a class="trail" href="bookmarks.html#other" title="Subcategories">Subcategories</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#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> » <a class="trail" href="bookmarks.html" title="Bookmarks">Bookmarks</a> › <a class="trail" href="bookmarks.html#other" title="Subcategories">Subcategories</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="bookmarks.html" title="Bookmarks">Bookmarks</a> › <a class="trail" href="bookmarks.html#other" title="Subcategories">Subcategories</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#functions" title="Functions">Functions</a> » </div>


</div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Searching</span></h1></div>
<div class="region">
<div class="contents pagewide"><p class="p">There are two search functions.</p></div>
<section id="quicksearch"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Quick search</span></h2></div>
<div class="region"><div class="contents pagewide"><p class="p">Just enter text into the quick search box atop. Streamtuner2 will instantly highlight
	any matches in the current stations view. If you switch tabs, just click the glass icon
	to reapply the highlighting.</p></div></div>
</div></section><section id="cachesearch"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Search window</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">You can get to the search dialog via <span class="guiseq"><span class="gui">Edit</span> ▸ <span class="gui">Find</span></span> or <span class="key"><kbd>Ctrl</kbd></span>+<span class="key"><kbd>F</kbd></span>.  Centrally
	to this dialog is a text field, where you can specify the phrase
	to scan for.</p>
<div class="media media-image"><div class="inner"><img src="img/search.png" class="media media-block" alt=""></div></div>
<p class="p">It either will search in:</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p"><span class="gui">☐ all channels</span></p></li>
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<div class="title title-item"><h3><span class="title"><span class="key"><kbd>Cache find</kbd></span></span></h3></div>
<p class="p">While <span class="gui">cache find</span> would just look up entries in your
         already downloaded channel/genre lists.  This is sufficient when
         you're just looking for something previously seen/listened to.</p>
</li>
</ul></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="index.html#functions" title="Functions">Functions</a></li>
<li class="links "><a href="bookmarks.html#other" title="Subcategories">Subcategories</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>







<
|
|
|






|

|
<
<
|

60
61
62
63
64
65
66

67
68
69
70
71
72
73
74
75
76
77
78


79
80
<div class="title title-item"><h3><span class="title"><span class="key"><kbd>Cache find</kbd></span></span></h3></div>
<p class="p">While <span class="gui">cache find</span> would just look up entries in your
         already downloaded channel/genre lists.  This is sufficient when
         you're just looking for something previously seen/listened to.</p>
</li>
</ul></div></div></div>
</div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#functions" title="Functions">Functions</a></li>
<li class="links "><a href="bookmarks.html#other" title="Subcategories">Subcategories</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/shoutcast.html from [f759284b96] to [4cbc1dbe00].


1
2
3
4
5
6






7
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
40
41
42
43
44
45
46
47
48
49
50
51

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Shoutcast</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_shoutcast.png" class="media media-inline" alt=""></span></span> Shoutcast</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://shoutcast.com/" title="http://shoutcast.com/">//shoutcast.com/</a></span></span></h2>
</div>
<div class="region">
<div class="contents">
<p class="p">SHOUTcast is the name of a MP3 streaming server software. It automatically collects all
	station lists on shoutcast.com.
        </p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Station entries usually provide current playing information.</p></li>
<li class="list"><p class="p">Stream links are plain <span class="link"><a href="pls.html" title="pls">PLS files</a></span>.</p></li>
<li class="list"><p class="p">Genres are subcategorized, so the main groups in the category
		list must be expanded to see the interesting entries.</p></li>
</ul></div></div></div>
<p class="p">Since being sold from AOL to Radionomy, the directory got cut down. There are no longer
        entries for currently played songs, and homepage links are largely gone. Hencewhy the
        Shoutcast channel is no longer considered a primary feature.</p>
</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="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|




|
<
<




|













|
|
|






|

|
<
<
|

1
2
3
4
5
6
7
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
40
41
42
43
44
45
46
47
48
49
50
51
52


53
54
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Shoutcast</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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></div></header><article><div class="hgroup pagewide">


<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_shoutcast.png" class="media media-inline" alt=""></span></span> Shoutcast</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://shoutcast.com/" title="http://shoutcast.com/">//shoutcast.com/</a></span></span></h2>
</div>
<div class="region">
<div class="contents pagewide">
<p class="p">SHOUTcast is the name of a MP3 streaming server software. It automatically collects all
	station lists on shoutcast.com.
        </p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Station entries usually provide current playing information.</p></li>
<li class="list"><p class="p">Stream links are plain <span class="link"><a href="pls.html" title="pls">PLS files</a></span>.</p></li>
<li class="list"><p class="p">Genres are subcategorized, so the main groups in the category
		list must be expanded to see the interesting entries.</p></li>
</ul></div></div></div>
<p class="p">Since being sold from AOL to Radionomy, the directory got cut down. There are no longer
        entries for currently played songs, and homepage links are largely gone. Hencewhy the
        Shoutcast channel is no longer considered a primary feature.</p>
</div>
<section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

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


1
2
3
4
5
6






7
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> SomaFM</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_somafm.png" class="media media-inline" alt=""></span></span> SomaFM</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://somafm.com/" title="http://somafm.com/">//somafm.com/</a></span></span></h2>
</div>
<div class="region">
<div class="contents">
<p class="p">SomaFM is a small radio station network. It provides its own
	unique channels. Which streamtuner2 shows in a static list.</p>




<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">SomaFM is a non-commercial and ad-free provider. It
        strongly depends on listener donations.</p></div></div></div></div>
</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>
<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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|






|
<
<




|


>
>
>
>
|
|

>
|
|
|






<
|
|
|







|

|
<
<
|

1
2
3
4
5
6
7
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
40
41
42
43
44
45
46
47
48

49
50
51
52
53
54
55
56
57
58
59
60
61


62
63
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> SomaFM</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div></header><article><div class="hgroup pagewide">


<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_somafm.png" class="media media-inline" alt=""></span></span> SomaFM</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://somafm.com/" title="http://somafm.com/">//somafm.com/</a></span></span></h2>
</div>
<div class="region">
<div class="contents pagewide">
<p class="p">SomaFM is a small radio station network. It provides its own
	unique channels. Which streamtuner2 shows in a static list.</p>
<div class="note" title="Note">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">SomaFM is a non-commercial and ad-free provider. It
        strongly depends on listener donations.</p></div></div></div>
</div>
</div>
<section id="configuration"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Bitrate configuration</span></h2></div>
<div class="region"><div class="contents pagewide">
<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></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/specbuttons.html from [1f631d0f0a] to [a440dc5f47].


1
2
3
4
5
6






7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Special extra/mini buttons</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » </div></div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Special extra/mini buttons</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">Using the specbuttons plugin, you can define additional
	shortcuts. This is meant as convenience - allows to start
	other audio apps or system controls from within streamtuner2.</p>
<p class="p"><span class="media"><span class="media media-image"><img src="img/specbuttons.png" class="media media-inline" alt=""></span></span></p>
<p class="p">The settings list can be found with the plugin options in the
	<span class="key"><kbd>🔌 Features</kbd></span> tab.  It follows the layout of the player/recording
	configuration.  Except that it lists icons and their according
>






>
>
>
>
>
>
|

|
|
|
<
<

|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18


19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Special extra/mini buttons</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » </div></div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Special extra/mini buttons</span></h1></div>


<div class="region">
<div class="contents pagewide">
<p class="p">Using the specbuttons plugin, you can define additional
	shortcuts. This is meant as convenience - allows to start
	other audio apps or system controls from within streamtuner2.</p>
<p class="p"><span class="media"><span class="media media-image"><img src="img/specbuttons.png" class="media media-inline" alt=""></span></span></p>
<p class="p">The settings list can be found with the plugin options in the
	<span class="key"><kbd>🔌 Features</kbd></span> tab.  It follows the layout of the player/recording
	configuration.  Except that it lists icons and their according
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
102
103
104
105
106
107
108
109
</tr>
<tr class="shade">
<td style="border-top-style: solid;"><p class="p"><span class="app">./import.png</span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p"><span class="cmd">audacity %pls</span></p></td>
</tr>
</table></div></div></div>
</div>
<div id="gtk-icons" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">gtk-icons</span></h2></div>
<div class="region"><div class="contents"><p class="p">Note that the icon name can also be that of a Gtk-builtin icon. Their
        names always start with "<span class="app">gtk-</span>" - for example "<span class="app">gtk-cancel</span>". You can
        find a list of all available builtins under
        <span class="link"><a href="http://www.pygtk.org/pygtk2reference/gtk-stock-items.html" title="http://www.pygtk.org/pygtk2reference/gtk-stock-items.html">http://www.pygtk.org/pygtk2reference/gtk-stock-items.html</a></span>.
        They usually match your Gtk theme though.</p></div></div>
</div></div>
<div id="png-icons" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">PNG icons</span></h2></div>
<div class="region"><div class="contents">
<p class="p">In case you enter something like "<span class="app">player</span>", the icon name will be
	searched for and expanded to an absolute PNG filename. For example
        "<span class="file">totem</span>" might become <span class="file">/usr/share/icons/HighContrast/16x16/apps/totem.png</span>.</p>
<p class="p">This won't always yield the exact icon / theme / or size you wanted. So it's
	sometimes necessary to look up the complete path yourself.
	So you might want search them manually <span class="cmd">locate /usr/shar/icons |
	grep "volume"</span> to pick out a more fitting icon.</p>
<p class="p">You can also use png files located in your homedir or else.</p>
</div></div>
</div></div>
<div id="placeholders" class="sect"><div class="inner">
<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>
	like %title and %url or %pls and %m3u are supported for all commands
	as well. So you can have additional play/record	shortcuts.</p>
</div></div>
</div></div>
<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
        definition can be changed from 'dict' to 'table' now, and the plugin
        required just a little editing then.)</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="index.html#extra" title="Additional features">Additional features</a></li></ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>







|
|
|




|
<
|
|









|
<
|
|









|
<
|
|



>
>
>
>
>
>
>
>
>
>
|


|
|

|
|
|



|

|
<
<
|

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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117


118
119
</tr>
<tr class="shade">
<td style="border-top-style: solid;"><p class="p"><span class="app">./import.png</span></p></td>
<td style="border-top-style: solid;border-left-style: solid;"><p class="p"><span class="cmd">audacity %pls</span></p></td>
</tr>
</table></div></div></div>
</div>
<section id="gtk-icons"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">gtk-icons</span></h2></div>
<div class="region"><div class="contents pagewide"><p class="p">Note that the icon name can also be that of a Gtk-builtin icon. Their
        names always start with "<span class="app">gtk-</span>" - for example "<span class="app">gtk-cancel</span>". You can
        find a list of all available builtins under
        <span class="link"><a href="http://www.pygtk.org/pygtk2reference/gtk-stock-items.html" title="http://www.pygtk.org/pygtk2reference/gtk-stock-items.html">http://www.pygtk.org/pygtk2reference/gtk-stock-items.html</a></span>.
        They usually match your Gtk theme though.</p></div></div>
</div></section><section id="png-icons"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">PNG icons</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">In case you enter something like "<span class="app">player</span>", the icon name will be
	searched for and expanded to an absolute PNG filename. For example
        "<span class="file">totem</span>" might become <span class="file">/usr/share/icons/HighContrast/16x16/apps/totem.png</span>.</p>
<p class="p">This won't always yield the exact icon / theme / or size you wanted. So it's
	sometimes necessary to look up the complete path yourself.
	So you might want search them manually <span class="cmd">locate /usr/shar/icons |
	grep "volume"</span> to pick out a more fitting icon.</p>
<p class="p">You can also use png files located in your homedir or else.</p>
</div></div>
</div></section><section id="placeholders"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Commands</span></h2></div>
<div class="region"><div class="contents pagewide">
<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>
	like %title and %url or %pls and %m3u are supported for all commands
	as well. So you can have additional play/record	shortcuts.</p>
</div></div>
</div></section><section id="icon-rows"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">icon rows</span></h2></div>
<div class="region"><div class="contents pagewide">
<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">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m7 8v7h0.0078a5 6.3027 0 0 0 3.9922 5.867v-6.867h2v6.871a5 6.3027 0 0 0 3.988-5.871h0.012v-7h-10z"></path>
 <path class="yelp-svg-fill" d="m12 3a4 4 0 0 0-4 4h8a4 4 0 0 0-4-4z"></path>
 <path class="yelp-svg-fill" d="m16 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m9.2045 16.361h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m21.704 4.2894h6v1h-6z"></path>
 <path class="yelp-svg-fill" d="m2 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m5.5801 4.3612h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m-6.9199 16.289h6v1h-6z"></path>
</svg><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
        definition can be changed from 'dict' to 'table' now, and the plugin
        required just a little editing then.)</p></div></div></div>
</div>
</div></div>
</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#extra" title="Additional features">Additional features</a></li></ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/streams.html from [0579549c85] to [411d82bdf2].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Streams / Stations</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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> » </div></div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Streams / Stations</span></h1></div>
<div class="region">
<div class="contents">
<p class="p">Radio stations are listed in the right pane. Usually they have a title and a
        description. The description is often the last played song. (This isn't updated
        automatically to conserve bandwidth and because live information is seldomly available.)</p>
<div class="media media-image"><div class="inner"><img src="img/streams.png" class="media media-block" alt=""></div></div>
<p class="p">You can double click a station line to get it to play. Alternatively there are the
        play and record buttons in the menubar. You can also invoke a stations homepage, if it
        has one.</p>
</div>
<div id="actions" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Actions</span></h2></div>
<div class="region"><div class="contents"><div class="links topiclinks"><div class="inner"><div class="region">
<div class="linkdiv "><a class="linkdiv" href="bookmarks.html" title="Bookmarks"><span class="title">Bookmarks</span><span class="linkdiv-dash"> — </span><span class="desc">Collect favourites via bookmark function, entry editing and deleting.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="edit.html" title="Edit"><span class="title">Edit</span><span class="linkdiv-dash"> — </span><span class="desc">Edit or inspect a station entry.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="playing.html" title="Playing"><span class="title">Playing</span><span class="linkdiv-dash"> — </span><span class="desc">Double click a station to start it in your audio player.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="homepage.html" title="Radio homepages"><span class="title">Radio homepages</span><span class="linkdiv-dash"> — </span><span class="desc">Start a web browser for a station.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="recording.html" title="Recording"><span class="title">Recording</span><span class="linkdiv-dash"> — </span><span class="desc">Save radio songs as MP3 files via streamripper.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="reloading.html" title="Reloading"><span class="title">Reloading</span><span class="linkdiv-dash"> — </span><span class="desc">Updating station lists.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="saving.html" title="Saving"><span class="title">Saving</span><span class="linkdiv-dash"> — </span><span class="desc">Export a station entry as .m3u/.pls file.</span></a></div>
</div></div></div></div></div>
</div></div>
<div id="" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Context menu</span></h2></div>
<div class="region"><div class="contents">
<p class="p">Additionally most actions are available in a context menu. Right click
        a station entry to display it.</p>
<div class="media media-image"><div class="inner"><img src="img/streamactions.png" class="media media-block" alt=""></div></div>
<p class="p">You can reach them in the <span class="guiseq"><span class="gui">Main menu</span> ▸ <span class="gui">Stations</span></span>
        as well. The <span class="guiseq"><span class="gui">Extensions</span> ▸ <span class="gui"></span></span> submenu there will
        list a few other plugin extensions.</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="index.html#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a></li></ul></div>
</div></div>
<div class="links seealsolinks"><div class="inner">
<div class="title"><h2><span class="title">See Also</span></h2></div>
<div class="region"><ul><li class="links "><a href="index.html#functions" title="Functions">Functions</a></li></ul></div>
</div></div>
</div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|
|
<
<

|








|
|
|







|
|
<
|
|







<
|
|
|









|

|
<
<
|

1
2
3
4
5
6
7
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
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Streams / Stations</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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> » </div></div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Streams / Stations</span></h1></div>


<div class="region">
<div class="contents pagewide">
<p class="p">Radio stations are listed in the right pane. Usually they have a title and a
        description. The description is often the last played song. (This isn't updated
        automatically to conserve bandwidth and because live information is seldomly available.)</p>
<div class="media media-image"><div class="inner"><img src="img/streams.png" class="media media-block" alt=""></div></div>
<p class="p">You can double click a station line to get it to play. Alternatively there are the
        play and record buttons in the menubar. You can also invoke a stations homepage, if it
        has one.</p>
</div>
<section id="actions"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Actions</span></h2></div>
<div class="region"><div class="contents pagewide"><div class="links topiclinks"><div class="inner"><div class="region"><div class="links-divs">
<div class="linkdiv "><a class="linkdiv" href="bookmarks.html" title="Bookmarks"><span class="title">Bookmarks</span><span class="linkdiv-dash"> — </span><span class="desc">Collect favourites via bookmark function, entry editing and deleting.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="edit.html" title="Edit"><span class="title">Edit</span><span class="linkdiv-dash"> — </span><span class="desc">Edit or inspect a station entry.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="playing.html" title="Playing"><span class="title">Playing</span><span class="linkdiv-dash"> — </span><span class="desc">Double click a station to start it in your audio player.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="homepage.html" title="Radio homepages"><span class="title">Radio homepages</span><span class="linkdiv-dash"> — </span><span class="desc">Start a web browser for a station.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="recording.html" title="Recording"><span class="title">Recording</span><span class="linkdiv-dash"> — </span><span class="desc">Save radio songs as MP3 files via streamripper.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="reloading.html" title="Reloading"><span class="title">Reloading</span><span class="linkdiv-dash"> — </span><span class="desc">Updating station lists.</span></a></div>
<div class="linkdiv "><a class="linkdiv" href="saving.html" title="Saving"><span class="title">Saving</span><span class="linkdiv-dash"> — </span><span class="desc">Export a station entry as .m3u/.pls file.</span></a></div>
</div></div></div></div></div></div>
</div></section><section id=""><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Context menu</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">Additionally most actions are available in a context menu. Right click
        a station entry to display it.</p>
<div class="media media-image"><div class="inner"><img src="img/streamactions.png" class="media media-block" alt=""></div></div>
<p class="p">You can reach them in the <span class="guiseq"><span class="gui">Main menu</span> ▸ <span class="gui">Stations</span></span>
        as well. The <span class="guiseq"><span class="gui">Extensions</span> ▸ <span class="gui"></span></span> submenu there will
        list a few other plugin extensions.</p>
</div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide">
<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="index.html#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a></li></ul></div>
</div></div>
<div class="links seealsolinks"><div class="inner">
<div class="title"><h2><span class="title">See Also</span></h2></div>
<div class="region"><ul><li class="links "><a href="index.html#functions" title="Functions">Functions</a></li></ul></div>
</div></div>
</div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/surfmusik.html from [5ebd43e1df] to [90bcdd7d6d].


1
2
3
4
5
6






7
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> SurfMusic</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_surfmusik.png" class="media media-inline" alt=""></span></span> SurfMusic</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://surfmusic.de/" title="http://surfmusic.de/">//surfmusic.de/</a></span></span></h2>
</div>
<div class="region">
<div class="contents">
<p class="p"><span class="link"><a href="http://surfmusic.de/" title="http://surfmusic.de/">SurfMusic</a></span> is a user-collection of
        internet radios. It's grouped by genres, or locations / countries.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">It's both pretty large and rather quick to extract listings from.</p></li>
<li class="list"><p class="p">Pretty much all entries already contain station homepages.</p></li>
<li class="list"><p class="p">This channel plugin uses raw RegExp extraction.</p></li>
</ul></div></div></div>










<div class="note note-bug" title="Bug"><div class="inner"><div class="region"><div class="contents"><p class="p">The MusicTV and NewsTV sections also return results, but those are mostly
        web-based video stations. Some of them are outdated links even.</p></div></div></div></div>
</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">🔠 Language</span></dt>
<dd class="terms">
<p class="p">There's an English and a German variant of this radio directory. Genres are
    also localized.</p>
<p class="p">Restart streamtuner2 after switching the Language option. Then
    use <span class="guiseq"><span class="gui">Channel</span> ▸ <span class="gui">Reload category tree</span></span>.</p>
</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>
<li class="links "><a href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a></li>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|






|
<
<




|







>
>
>
>
>
>
>
>
>
>
|
|

>
|
|
|








<
|
|
|







|

|
<
<
|

1
2
3
4
5
6
7
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
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> SurfMusic</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div></header><article><div class="hgroup pagewide">


<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_surfmusik.png" class="media media-inline" alt=""></span></span> SurfMusic</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://surfmusic.de/" title="http://surfmusic.de/">//surfmusic.de/</a></span></span></h2>
</div>
<div class="region">
<div class="contents pagewide">
<p class="p"><span class="link"><a href="http://surfmusic.de/" title="http://surfmusic.de/">SurfMusic</a></span> is a user-collection of
        internet radios. It's grouped by genres, or locations / countries.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">It's both pretty large and rather quick to extract listings from.</p></li>
<li class="list"><p class="p">Pretty much all entries already contain station homepages.</p></li>
<li class="list"><p class="p">This channel plugin uses raw RegExp extraction.</p></li>
</ul></div></div></div>
<div class="note note-bug" title="Bug">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m7 8v7h0.0078a5 6.3027 0 0 0 3.9922 5.867v-6.867h2v6.871a5 6.3027 0 0 0 3.988-5.871h0.012v-7h-10z"></path>
 <path class="yelp-svg-fill" d="m12 3a4 4 0 0 0-4 4h8a4 4 0 0 0-4-4z"></path>
 <path class="yelp-svg-fill" d="m16 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m9.2045 16.361h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m21.704 4.2894h6v1h-6z"></path>
 <path class="yelp-svg-fill" d="m2 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m5.5801 4.3612h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m-6.9199 16.289h6v1h-6z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">The MusicTV and NewsTV sections also return results, but those are mostly
        web-based video stations. Some of them are outdated links even.</p></div></div></div>
</div>
</div>
<section id="options"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Channel options.</span></h2></div>
<div class="region"><div class="contents pagewide"><div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms"><span class="code">🔠 Language</span></dt>
<dd class="terms">
<p class="p">There's an English and a German variant of this radio directory. Genres are
    also localized.</p>
<p class="p">Restart streamtuner2 after switching the Language option. Then
    use <span class="guiseq"><span class="gui">Channel</span> ▸ <span class="gui">Reload category tree</span></span>.</p>
</dd>
</dl></div></div></div></div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/technical.html from [c3904fea2f] to [d044ffabbe].


1
2
3
4
5
6






7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Technical information</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#footer" title="index#footer"></a> » </div></div></div>
<div class="body">
<div class="hgroup"><h1 class="title"><span class="title">Technical information</span></h1></div>
<div class="region">
<div class="contents"></div>
<div id="dependecies" class="sect"><div class="inner">
<div class="hgroup"></div>
<div class="region"><div class="contents">
<div class="terms"><div class="inner">
<div class="title title-terms"><h3><span class="title">Dependencies</span></h3></div>
<div class="region"><dl class="terms">
<dd class="terms"><p class="p"><span class="link">Python 2.7 or 3.x</span></p></dd>
<dd class="terms"><p class="p"><span class="link">PyGtk or PyGI</span></p></dd>
<dd class="terms"><p class="p">Gtk2 or Gtk3</p></dd>
<dd class="terms"><p class="p"><span class="link">Requests/urllib3</span></p></dd>
>






>
>
>
>
>
>
|

|
|
|
<
<

|
|
|
|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18


19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Technical information</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#footer" title="index#footer"></a> » </div></div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Technical information</span></h1></div>


<div class="region">
<div class="contents pagewide"></div>
<section id="dependecies"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="region"><div class="contents pagewide">
<div class="terms"><div class="inner">
<div class="title title-terms"><h3><span class="title">Dependencies</span></h3></div>
<div class="region"><dl class="terms">
<dd class="terms"><p class="p"><span class="link">Python 2.7 or 3.x</span></p></dd>
<dd class="terms"><p class="p"><span class="link">PyGtk or PyGI</span></p></dd>
<dd class="terms"><p class="p">Gtk2 or Gtk3</p></dd>
<dd class="terms"><p class="p"><span class="link">Requests/urllib3</span></p></dd>
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
<dd class="terms"><p class="p">Audacious/VLC or any other player</p></dd>
<dd class="terms"><p class="p">Streamripper or fIcy</p></dd>
<dd class="terms"><p class="p">youtube-dl</p></dd>
<dd class="terms"><p class="p">fonts: Symbola/Unifont for some UI parts</p></dd>
</dl></div>
</div></div>
</div></div>
</div></div>
<div id="config_files" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Configuration files</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="file">/home/$USER/.config/streamtuner2/</span></dt>
<dd class="terms"><p class="p">Corresponds to the XDG_CONFIG_HOME setting. All ST2 configuration settings
            are contained within here and are in JSON format.</p></dd>




<dt class="terms"><span class="file">~/.config/streamtuner2/settings.json</span></dt>
<dd class="terms"><p class="p">General runtime options, plugin settings, and configured audio players.</p></dd>
<dt class="terms"><span class="file">~/.config/streamtuner2/window.json</span></dt>
<dd class="terms"><p class="p">Saved window sizes, list widths.</p></dd>
<dt class="terms"><span class="file">~/.config/streamtuner2/state.json</span></dt>
<dd class="terms"><p class="p">Last category in each channel tab.</p></dd>
<dt class="terms"><span class="file">~/.config/streamtuner2/bookmarks.json</span></dt>
<dd class="terms"><p class="p">Is a separate cache file for your bookmarked/favourite radio stations.</p></dd>
<dt class="terms"><span class="file">~/.config/streamtuner2/cache/***.json</span></dt>
<dd class="terms"><p class="p">JSON files for stream lists in each channel.</p></dd>
<dt class="terms"><span class="file">~/.config/streamtuner2/icons/*.png</span></dt>
<dd class="terms"><p class="p">Holds downloaded favicons for station homepages.</p></dd>
<dt class="terms"><span class="file">~/.config/streamtuner2/plugins/*.py</span></dt>
<dd class="terms"><p class="p">Contain downloaded contrib/ plugins.</p></dd>
</dl></div></div></div>
<p class="p">On Windows the <span class="file">~/.config/</span> directory is called
	<span class="file">%APPDATA%</span> instead. The paths in there are equally
	structured.</p>
</div></div>
</div></div>
<div id="install_dirs" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Installation spread</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="file">/usr/bin/streamtuner2</span></dt>
<dd class="terms"><p class="p">Associates the main binary.</p></dd>
<dt class="terms"><span class="file">/usr/share/streamtuner2/</span></dt>
<dd class="terms"><p class="p">Contains the individual ST2 python modules, and plugins in channels/. Also packages in pyquery/, but which is only used if the according modules aren't installed by the distribution.</p></dd>
<dt class="terms"><span class="file">/usr/share/doc/streamtuner2/</span></dt>
<dd class="terms"><p class="p">Contains the README, and Mallard/gnome-help/yelp files under help/.</p></dd>
</dl></div></div></div></div></div>
</div></div>
<div id="license" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Public Domain</span></h2></div>
<div class="region"><div class="contents">
<p class="p">The majority of code distributed with ST2 is placed into the Public Domain; meaning
        no licensing requirement and all code can be copied, modified
	and distributed unrestrictively.</p>




<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">The bundled kronos.py and requests/ library are NOT however.</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="index.html#footer" title="index#footer"></a></li></ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>







|
<
|
|




>
>
>
>








|
|
|






|
|

|
|
|







|
<
|
|



>
>
>
>
|
|

|
|
|



|

|
<
<
|

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
102
103
104
105
106
107
108


109
110
<dd class="terms"><p class="p">Audacious/VLC or any other player</p></dd>
<dd class="terms"><p class="p">Streamripper or fIcy</p></dd>
<dd class="terms"><p class="p">youtube-dl</p></dd>
<dd class="terms"><p class="p">fonts: Symbola/Unifont for some UI parts</p></dd>
</dl></div>
</div></div>
</div></div>
</div></section><section id="config_files"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Configuration files</span></h2></div>
<div class="region"><div class="contents pagewide">
<div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms"><span class="file">/home/$USER/.config/streamtuner2/</span></dt>
<dd class="terms"><p class="p">Corresponds to the XDG_CONFIG_HOME setting. All ST2 configuration settings
            are contained within here and are in JSON format.</p></dd>
<dt class="terms"><span class="file">/home/$USER/.cache/streamtuner2/</span></dt>
<dd class="terms"><p class="p">Set from XDG_CACHE_HOME environment variable. Contains the
            channel cache/ and icons/. Symlinks in <span class="file">.config</span>
            remain for convenience.</p></dd>
<dt class="terms"><span class="file">~/.config/streamtuner2/settings.json</span></dt>
<dd class="terms"><p class="p">General runtime options, plugin settings, and configured audio players.</p></dd>
<dt class="terms"><span class="file">~/.config/streamtuner2/window.json</span></dt>
<dd class="terms"><p class="p">Saved window sizes, list widths.</p></dd>
<dt class="terms"><span class="file">~/.config/streamtuner2/state.json</span></dt>
<dd class="terms"><p class="p">Last category in each channel tab.</p></dd>
<dt class="terms"><span class="file">~/.config/streamtuner2/bookmarks.json</span></dt>
<dd class="terms"><p class="p">Is a separate cache file for your bookmarked/favourite radio stations.</p></dd>
<dt class="terms"><span class="file">~/.cache/streamtuner2/cache/***.json</span></dt>
<dd class="terms"><p class="p">Channel cache, with station/stream lists in JSON files.</p></dd>
<dt class="terms"><span class="file">~/.cache/streamtuner2/icons/*.png</span></dt>
<dd class="terms"><p class="p">Holds downloaded favicons for station homepages.</p></dd>
<dt class="terms"><span class="file">~/.config/streamtuner2/plugins/*.py</span></dt>
<dd class="terms"><p class="p">Contain downloaded contrib/ plugins.</p></dd>
</dl></div></div></div>
<p class="p">On Windows the <span class="file">~/.config/</span> directory is called
	<span class="file">%APPDATA%</span> instead. The paths in there are equally
	structured. On Linux <span class="file">~/.cache/</span> is used to separate
        temporary from configuration data.</p>
</div></div>
</div></section><section id="install_dirs"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Installation spread</span></h2></div>
<div class="region"><div class="contents pagewide"><div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms"><span class="file">/usr/bin/streamtuner2</span></dt>
<dd class="terms"><p class="p">Associates the main binary.</p></dd>
<dt class="terms"><span class="file">/usr/share/streamtuner2/</span></dt>
<dd class="terms"><p class="p">Contains the individual ST2 python modules, and plugins in channels/. Also packages in pyquery/, but which is only used if the according modules aren't installed by the distribution.</p></dd>
<dt class="terms"><span class="file">/usr/share/doc/streamtuner2/</span></dt>
<dd class="terms"><p class="p">Contains the README, and Mallard/gnome-help/yelp files under help/.</p></dd>
</dl></div></div></div></div></div>
</div></section><section id="license"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Public Domain</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">The majority of code distributed with ST2 is placed into the Public Domain; meaning
        no licensing requirement and all code can be copied, modified
	and distributed unrestrictively.</p>
<div class="note" title="Note">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">The bundled kronos.py and requests/ library are NOT however.</p></div></div></div>
</div>
</div></div>
</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#footer" title="index#footer"></a></li></ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

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


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Timer</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</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#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a> » <a class="trail" href="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</a> » <a class="trail" href="bookmarks.html" title="Bookmarks">Bookmarks</a> › <a class="trail" href="bookmarks.html#other" title="Subcategories">Subcategories</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#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> » <a class="trail" href="bookmarks.html" title="Bookmarks">Bookmarks</a> › <a class="trail" href="bookmarks.html#other" title="Subcategories">Subcategories</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="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="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>
</div></div>
<div id="editing" class="sect"><div class="inner">
<div class="hgroup"><h2 class="title"><span class="title">Editing events</span></h2></div>
<div class="region"><div class="contents">
<p class="p">You can remove entries from the "timer" list again. Use the normal <span class="guiseq"><span class="gui">Edit</span> ▸ <span class="gui">Delete</span></span> for
	that. It's also possible to modify the date+time strings by editing the stream info and
	the specification in the "playing" field.</p>



<div class="note note-warning" title="Warning"><div class="inner"><div class="region"><div class="contents"><p class="p">However, such edits don't take effect until you restart streamtuner2. The timer
	events are only scheduled when adding a new event, or on starting streamtuner2.</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="index.html#extra" title="Additional features">Additional features</a></li>
<li class="links "><a href="bookmarks.html#other" title="Subcategories">Subcategories</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|








<
<
|

|
|
|
|






>
>
>
>
|

|
|

|
|
|










|
<
|
|



>
>
>
|
|
|

|
|
|






|

|
<
<
|

1
2
3
4
5
6
7
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
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Timer</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</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#browsing" title="Browsing channels and radio stations">Browsing channels and radio stations</a> » <a class="trail" href="streams.html" title="Streams / Stations">Streams / Stations</a> › <a class="trail" href="streams.html#actions" title="Actions">Actions</a> » <a class="trail" href="bookmarks.html" title="Bookmarks">Bookmarks</a> › <a class="trail" href="bookmarks.html#other" title="Subcategories">Subcategories</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#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> » <a class="trail" href="bookmarks.html" title="Bookmarks">Bookmarks</a> › <a class="trail" href="bookmarks.html#other" title="Subcategories">Subcategories</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="bookmarks.html" title="Bookmarks">Bookmarks</a> › <a class="trail" href="bookmarks.html#other" title="Subcategories">Subcategories</a> » </div>


</div></div></header><article><div class="hgroup pagewide"><h1 class="title"><span class="title">Timer</span></h1></div>
<div class="region">
<div class="contents pagewide"></div>
<section id="intro"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="region"><div class="contents pagewide">
<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">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m12 2c-3.8541 0-7 3.1459-7 7 0 1.823 0.4945 3.139 1.1641 4.133 0.6695 0.994 1.4328 1.671 2.039 2.471 0.0882 0.116 0.1749 0.656 0.2071 1.32 0.016 0.332 0.0133 0.68 0.1894 1.119 0.0881 0.22 0.2439 0.478 0.5059 0.672 0.2619 0.194 0.6028 0.285 0.8945 0.285h4c0.583 0 1.204-0.478 1.402-0.908 0.199-0.43 0.217-0.793 0.244-1.137 0.056-0.688 0.138-1.319 0.211-1.441 0.549-0.916 1.304-2.009 1.94-3.114 0.636-1.104 1.203-2.199 1.203-3.4 0-3.8541-3.146-7-7-7zm0 2c2.773 0 5 2.2267 5 5 0 0.456-0.359 1.401-0.936 2.402-0.111 0.195-0.246 0.399-0.369 0.598h-7.8825c-0.4871-0.728-0.8125-1.519-0.8125-3 0-2.7733 2.2267-5 5-5z" style="block-progression:tb;color-rendering:auto;color:#000000;image-rendering:auto;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"></path>
 <path class="yelp-svg-fill" d="m9 20a0.5 0.5 0 0 0-0.5 0.5 0.5 0.5 0 0 0 0.5 0.5h6a0.5 0.5 0 0 0 0.5-0.5 0.5 0.5 0 0 0-0.5-0.5h-6zm0 2a0.5 0.5 0 0 0-0.5 0.5 0.5 0.5 0 0 0 0.5 0.5h6a0.5 0.5 0 0 0 0.5-0.5 0.5 0.5 0 0 0-0.5-0.5h-6z"></path>
</svg><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></section><section id="timestring"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Time specification strings</span></h2></div>
<div class="region"><div class="contents pagewide">
<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>
</div></section><section id="editing"><div class="inner">

<div class="hgroup pagewide"><h2 class="title"><span class="title">Editing events</span></h2></div>
<div class="region"><div class="contents pagewide">
<p class="p">You can remove entries from the "timer" list again. Use the normal <span class="guiseq"><span class="gui">Edit</span> ▸ <span class="gui">Delete</span></span> for
	that. It's also possible to modify the date+time strings by editing the stream info and
	the specification in the "playing" field.</p>
<div class="note note-warning" title="Warning">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m11.92 3.3047a1.3872 1.3872 0 0 0-1.129 0.6933l-8.6055 14.922a1.3872 1.3872 0 0 0 1.2012 2.08l17.226-8e-3a1.3872 1.3872 0 0 0 1.201-2.08l-8.619-14.916a1.3872 1.3872 0 0 0-1.136-0.6913 1.3872 1.3872 0 0 0-0.139 0zm0.08 4.6953a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1 1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1zm0 9a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">However, such edits don't take effect until you restart streamtuner2. The timer
	events are only scheduled when adding a new event, or on starting streamtuner2.</p></div></div></div>
</div>
</div></div>
</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#extra" title="Additional features">Additional features</a></li>
<li class="links "><a href="bookmarks.html#other" title="Subcategories">Subcategories</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/tunein.html from [cbe2c6c64a] to [7bbb413fac].


1
2
3
4
5
6






7
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
40
41
42
43
44
45
46
47
48
49
50

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> TuneIn</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_tunein.png" class="media media-inline" alt=""></span></span> TuneIn</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://tunein.com/" title="http://tunein.com/">//tunein.com/</a></span></span></h2>
</div>
<div class="region">
<div class="contents"><p class="p">TuneIn hosts a major radio, show and podcast directory. It also provides the
        RadioTime/AIR interface for listener feedback or something. ST2 queries the OPML
        lists only for radio stations currently.</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">You can switch between "music" and "genres" list. The genres
        list is basically a longer and expanded variant of "music".
        Use <span class="guiseq"><span class="gui">Channel</span> ▸ <span class="gui">Reload category tree</span></span>
        to update them thereafter.</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>
<li class="links "><a href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a></li>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|






|
<
<




|


|
|
|



<
|
|
|







|

|
<
<
|

1
2
3
4
5
6
7
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
40
41
42
43
44
45
46
47
48
49
50


51
52
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> TuneIn</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div></header><article><div class="hgroup pagewide">


<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_tunein.png" class="media media-inline" alt=""></span></span> TuneIn</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://tunein.com/" title="http://tunein.com/">//tunein.com/</a></span></span></h2>
</div>
<div class="region">
<div class="contents pagewide"><p class="p">TuneIn hosts a major radio, show and podcast directory. It also provides the
        RadioTime/AIR interface for listener feedback or something. ST2 queries the OPML
        lists only for radio stations currently.</p></div>
<section id="options"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Configuration</span></h2></div>
<div class="region"><div class="contents pagewide"><p class="p">You can switch between "music" and "genres" list. The genres
        list is basically a longer and expanded variant of "music".
        Use <span class="guiseq"><span class="gui">Channel</span> ▸ <span class="gui">Reload category tree</span></span>
        to update them thereafter.</p></div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/ubuntuusersm.html from [a5d8076a02] to [94b6f7a495].


1
2
3
4
5
6






7
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
40
41
42
43
44
45
46
47
48
49

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> UbuntuUsers</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_ubuntuusers.png" class="media media-inline" alt=""></span></span> UbuntuUsers</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://ubuntuusers.de/" title="http://ubuntuusers.de/">//ubuntuusers.de/</a></span></span></h2>
</div>
<div class="region">
<div class="contents">
<p class="p">There's a manually curated list of radio stations in the
	UbuntuUsers.de Wiki.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Like the origin website, most entries are German or European stations.</p></li>
<li class="list"><p class="p">So this is more of an example plugin, as it's not a huge list.</p></li>
<li class="list"><p class="p">RegExp are used for extraction, because the Wiki markup is rather well-maintained and consistent.</p></li>
</ul></div></div></div>




<div class="note" title="Note"><div class="inner"><div class="region"><div class="contents"><p class="p">There's also a small streaming TV list. But most entries
	aren't really accessible (anymore) without command line tools. 
	(Which that very Wiki page covers in detail.)</p></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="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|




|
<
<




|







>
>
>
>
|

|

>
|
|
|






|

|
<
<
|

1
2
3
4
5
6
7
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55


56
57
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> UbuntuUsers</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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></div></header><article><div class="hgroup pagewide">


<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_ubuntuusers.png" class="media media-inline" alt=""></span></span> UbuntuUsers</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://ubuntuusers.de/" title="http://ubuntuusers.de/">//ubuntuusers.de/</a></span></span></h2>
</div>
<div class="region">
<div class="contents pagewide">
<p class="p">There's a manually curated list of radio stations in the
	UbuntuUsers.de Wiki.</p>
<div class="list"><div class="inner"><div class="region"><ul class="list">
<li class="list"><p class="p">Like the origin website, most entries are German or European stations.</p></li>
<li class="list"><p class="p">So this is more of an example plugin, as it's not a huge list.</p></li>
<li class="list"><p class="p">RegExp are used for extraction, because the Wiki markup is rather well-maintained and consistent.</p></li>
</ul></div></div></div>
<div class="note" title="Note">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">There's also a small streaming TV list. But most entries
	aren't really accessible (anymore) without command line tools. 
	(Which that very Wiki page covers in detail.)</p></div></div></div>
</div>
</div>
<section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/xiph.html from [60dac22923] to [517e0e6e1a].


1
2
3
4
5
6






7
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
40
41
42
43
44
45
46
47
48

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Xiph.org</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_xiph.png" class="media media-inline" alt=""></span></span> 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,
>






>
>
>
>
>
>
|

|
|






|
<
<




|














|
|
|







1
2
3
4
5
6
7
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Xiph.org</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div></header><article><div class="hgroup pagewide">


<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_xiph.png" class="media media-inline" alt=""></span></span> 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 pagewide">
<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>
<section id="options"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Channel fetch mode option</span></h2></div>
<div class="region"><div class="contents pagewide">
<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,
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
    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>
<li class="links "><a href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a></li>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>







>
>
>
>
|
|
>




<
|
|
|







|

|
<
<
|

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
102
103
104
105


106
107
    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">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m4 3h16c0.554 0 1 0.446 1 1v11h-6v6h-11c-0.554 0-1-0.446-1-1v-16c0-0.554 0.446-1 1-1z"></path>
 <path class="yelp-svg-fill" d="m17 16h4l-5 5v-4c0-0.554 0.446-1 1-1z"></path>
</svg><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></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Modified help/html/yelp.js from [e4d677e371] to [4995ba1bc5].

















1
2
3
4
5
6
7
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
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
102
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
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
274
275
276


277
278
279
280
281
282
283
284
285

286
287
288
289






290
291
292
293
294
295
296
297
298
299

300



301

302
303
304
305
306
307
308
309
310
311
312

313
314
315
316
317
318

319
320

321


322
323
324

325
326
327
328
329
330
331
332
333
334
335
336
337


338

339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357

358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380

381
382




383
384
385
386


387
388
389
390
391
392
393
394
395
396
397





398
399
400
401
402



403

404
405
406
407
408
409


410
411



412
413
414
415
416

417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433

434
435
436

437
438
439


440
441
442

443


444

445
446
447
448

449

450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467

468

469

470
471









472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489

490

491
492

493
494


495
496

497

498
499
500
501
502
503
504

505
506
507
508
509
510
511
512

513
514
515
516
517

518

















var __yelp_generate_id_counter__ = 0;
function yelp_generate_id () {
  var ret = 'yelp--' + (++__yelp_generate_id_counter__).toString();
  if ($('#' + ret).length != 0)
    return yelp_generate_id();
  else
    return ret;
};
$(document).ready (function () {
  var highlight_hash = function () {
    if (location.hash != '') {
      var sect = $(location.hash);
      sect.css('background-color',  '#fffacc');
      window.setTimeout(function () {



        sect.css({
          '-webkit-transition': 'background-color 2s linear',
          '-moz-transition': 'background-color 2s linear',
          'transition': 'background-color 2s linear',
          'background-color': 'rgba(1, 1, 1, 0)'
        });

      }, 200);

    }
  };
  $(window).bind('hashchange', highlight_hash);
  highlight_hash();
});





$.fn.yelp_ui_expander_toggle = function (onlyopen, callback) {
  var expander = $(this);
  var region = expander.children('.inner').children('.region');
  var yelpdata = expander.children('div.yelp-data-ui-expander');
  var compfunc = function () {
    if (expander.is('div.figure')) { expander.yelp_auto_resize(); }

    if (callback) { callback(); }
    return true;
  };
  var title = expander.children('.inner').children('.title');

  if (title.length == 0)
    title = expander.children('.inner').children('.hgroup');
  var title = title.find('span.title:first');


  if (expander.is('.ui-expander-e')) {
    if (!onlyopen) {
      expander.removeClass('ui-expander-e').addClass('ui-expander-c');
      region.attr('aria-expanded', 'false').slideUp('fast', compfunc);
      title.html(yelpdata.children('div.yelp-title-collapsed').html());
    }


  }
  else {
    expander.removeClass('ui-expander-c').addClass('ui-expander-e');

    region.attr('aria-expanded', 'true').slideDown('fast', compfunc);
    title.html(yelpdata.children('div.yelp-title-expanded').html());
  }
};
$(document).ready(function () {
  $('.ui-expander').each(function () {
    var expander = $(this);
    var yelpdata = expander.children('div.yelp-data-ui-expander');
    var region = expander.children('.inner').children('.region');
    var title = expander.children('.inner').children('.title');

    var issect = false;

    if (title.length == 0) {
      title = expander.children('.inner').children('.hgroup');
      issect = true;
    }



    if (title.length == 0) {
      return;
    }
    if (region.attr('id') == '')
      region.attr('id', yelp_generate_id());
    title.attr('role', 'button').attr('aria-controls', region.attr('id'));
    var titlespan = title.find('span.title:first');
    var title_e = yelpdata.children('div.yelp-title-expanded');

    var title_c = yelpdata.children('div.yelp-title-collapsed');
    if (title_e.length == 0)
      yelpdata.append($('<div class="yelp-title-expanded"></div>').html(titlespan.html()));

    if (title_c.length == 0)

      yelpdata.append($('<div class="yelp-title-collapsed"></div>').html(titlespan.html()));
    if (yelpdata.attr('data-yelp-expanded') == 'false') {
      expander.addClass('ui-expander-c');
      region.attr('aria-expanded', 'false').hide();
      if (title_c.length != 0)
        titlespan.html(title_c.html());
    } else {
      expander.addClass('ui-expander-e');
      region.attr('aria-expanded', 'true');
      if (title_e.length != 0)
        titlespan.html(title_e.html());
    }
    title.click(function () {
      expander.yelp_ui_expander_toggle(false);
    });
  });
});
$(document).ready(function () {
  var expand_hash = function () {
    if (location.hash != '') {
      var target = $(location.hash);
      var parents = target.parents('div.ui-expander');
      if (target.is('div.ui-expander'))
        parents = parents.andSelf();
      parents.each(function () {
        $(this).yelp_ui_expander_toggle(true, function () {
          window.scrollTo(0, $(target).offset().top);
        });
      });
    }
  };

  $(window).bind('hashchange', expand_hash);







  expand_hash();
});

yelp_color_text_light = '#2e3436';
yelp_color_gray_background = '#f3f3f0';
yelp_color_gray_border = '#babdb6';
yelp_paint_zoom = function (zoom, zoomed) {
  var ctxt = zoom.children('canvas')[0].getContext('2d');
  ctxt.strokeStyle = ctxt.fillStyle = yelp_color_text_light;
  ctxt.clearRect(0, 0, 10, 10);
  ctxt.strokeRect(0.5, 0.5, 9, 9);
  if (zoomed) {
    ctxt.fillRect(1, 1, 9, 4);
    ctxt.fillRect(5, 5, 4, 4);
    zoom.attr('title', zoom.attr('data-zoom-out-title'));
  }
  else {
    ctxt.fillRect(1, 5, 4, 4);
    zoom.attr('title', zoom.attr('data-zoom-in-title'));

  }
}
$.fn.yelp_auto_resize = function () {





  var fig = $(this);







  if (fig.is('img'))
    fig = fig.parents('div.figure').eq(0);
  if (fig.data('yelp-zoom-timeout') != undefined) {
    clearInterval(fig.data('yelp-zoom-timeout'));
    fig.removeData('yelp-zoom-timeout');
  }
  var imgs = fig.find('img');
  for (var i = 0; i < imgs.length; i++) {
    var img = $(imgs[i]);
    if (img.data('yelp-load-bound') == true)

      img.unbind('load', fig.yelp_auto_resize);
    if (!imgs[i].complete) {
      img.data('yelp-load-bound', true);
      img.bind('load', fig.yelp_auto_resize);
      return false;

    }




  }
  $(window).unbind('resize', yelp_resize_imgs);
  var zoom = fig.children('div.inner').children('a.zoom');


  if (fig.find('div.contents:first').is(':hidden')) {
    zoom.hide();



    return;
  }
  for (var i = 0; i < imgs.length; i++) {
    var img = $(imgs[i]);
    if (img.data('yelp-original-width') == undefined) {


      var iwidth = parseInt(img.attr('width'));
      if (!iwidth)
        iwidth = img[0].width;
      img.data('yelp-original-width', iwidth);
      var iheight = parseInt(img.attr('height'));
      if (!iheight)
        iheight = img[0].height * (iwidth / img[0].width);
      img.data('yelp-original-height', iheight);
    }
    if (img.data('yelp-original-width') > img.parent().width()) {
      if (img.data('yelp-zoomed') != true) {
        img[0].width = img.parent().width();
        img[0].height = (parseInt(img.data('yelp-original-height')) *
                         img.width() / parseInt(img.data('yelp-original-width')));
      }




      zoom.show();





    }
    else {
      img[0].width = img.data('yelp-original-width');


      img[0].height = img.data('yelp-original-height');





      zoom.hide();
    }
  }
  /* The image scaling above can cause the window to resize if it causes
   * scrollbars to disappear or reapper. Unbind the resize handler before
   * scaling the image. Don't rebind immediately, because we'll still get
   * that resize event in an idle. Rebind on the callback instead.
   */
  var reresize = function () {
    $(window).unbind('resize', reresize);
    $(window).bind('resize', yelp_resize_imgs);
  }
  $(window).bind('resize', reresize);
  return false;
};
yelp_resize_imgs = function () {
  $('div.figure img').parents('div.figure').each(function () {
    var div = $(this);
    if (div.data('yelp-zoom-timeout') == undefined)
      div.data('yelp-zoom-timeout', setTimeout(function () { div.yelp_auto_resize() }, 1));
  });
  return false;
};
$(document).ready(function () {
  $('div.figure img').parents('div.figure').each(function () {

    var fig = $(this);
    var zoom = fig.children('div.inner').children('a.zoom');

    zoom.append($('<canvas width="10" height="10"/>'));
    yelp_paint_zoom(zoom, false);

    zoom.data('yelp-zoomed', false);
    zoom.click(function () {
      var zoomed = !zoom.data('yelp-zoomed');
      zoom.data('yelp-zoomed', zoomed);
      zoom.parent().find('img').each(function () {

        var zimg = $(this);
        zimg.data('yelp-zoomed', zoomed);
        if (zoomed) {
          zimg[0].width = zimg.data('yelp-original-width');
          zimg[0].height = zimg.data('yelp-original-height');
        } else {
          zimg[0].width = zimg.parent().width();
          zimg[0].height = (parseInt(zimg.data('yelp-original-height')) *

                            zimg.width() / parseInt(zimg.data('yelp-original-width')));


        }
        yelp_paint_zoom(zoom, zoomed);
      });
      return false;
    });
  });
  yelp_resize_imgs();
  $(window).bind('resize', yelp_resize_imgs);
});
function yelp_init_video (element) {
  var video = $(element);
  video.removeAttr('controls');

  var controls = $('<div class="media-controls media-controls-' + element.nodeName + '"></div>');

  var playControl = $('<button class="media-play"></button>').attr({
    'data-play-label': video.attr('data-play-label'),
    'data-pause-label': video.attr('data-pause-label'),
    'value': video.attr('data-play-label')
  });
  var playCanvas = $('<canvas width="20" height="20"></canvas>');
  playControl.append(playCanvas);
  var rangeCanvas = $('<canvas width="104" height="20"></canvas>');
  var rangeCanvasCtxt = rangeCanvas[0].getContext('2d');
  rangeCanvasCtxt.strokeStyle = yelp_color_gray_border;
  rangeCanvasCtxt.strokeWidth = 1;
  rangeCanvasCtxt.strokeRect(0.5, 0.5, 103, 19);
  var currentSpan = $('<span class="media-current">0:00</span>');
  var durationSpan = $('<span class="media-duration">-:--</span>');

  controls.append(playControl,
                  $('<div class="media-range"></div>').append(rangeCanvas),
                  $('<div class="media-time"></div>').append(currentSpan, durationSpan));
  video.after(controls);

  var playCanvasCtxt = playCanvas[0].getContext('2d');


  var paintPlayButton = function () {
    playCanvasCtxt.fillStyle = yelp_color_gray_background;
    playCanvasCtxt.clearRect(0, 0, 20, 20);
    playCanvasCtxt.beginPath();
    playCanvasCtxt.moveTo(5, 5);   playCanvasCtxt.lineTo(5, 15);
    playCanvasCtxt.lineTo(15, 10); playCanvasCtxt.lineTo(5, 5);
    playCanvasCtxt.fill();





  }
  var paintPauseButton = function () {
    playCanvasCtxt.fillStyle = yelp_color_gray_background;
    playCanvasCtxt.clearRect(0, 0, 20, 20);
    playCanvasCtxt.beginPath();
    playCanvasCtxt.moveTo(5, 5);   playCanvasCtxt.lineTo(9, 5);
    playCanvasCtxt.lineTo(9, 15);  playCanvasCtxt.lineTo(5, 15);
    playCanvasCtxt.lineTo(5, 5);   playCanvasCtxt.fill();
    playCanvasCtxt.beginPath();
    playCanvasCtxt.moveTo(11, 5);  playCanvasCtxt.lineTo(15, 5);
    playCanvasCtxt.lineTo(15, 15); playCanvasCtxt.lineTo(11, 15);
    playCanvasCtxt.lineTo(11, 5);  playCanvasCtxt.fill();
  }
  paintPlayButton();



  var video_el = video[0];
  var mediaChange = function () {
    if (video_el.ended)
      video_el.pause()
    if (video_el.paused) {
      playControl.attr('value', playControl.attr('data-play-label'));
      paintPlayButton();
    }

    else {
      playControl.attr('value', playControl.attr('data-pause-label'));
      paintPauseButton();
    }






  }
  video_el.addEventListener('play', mediaChange, false);
  video_el.addEventListener('pause', mediaChange, false);
  video_el.addEventListener('ended', mediaChange, false);

  var playClick = function () {
    if (video_el.paused || video_el.ended)
      video_el.play();
    else
      video_el.pause();

  };



  playControl.click(playClick);


  var ttmlDiv = video.parent().children('div.media-ttml');
  var ttmlNodes = ttmlDiv.find('.media-ttml-node');

  var timeUpdate = function () {
    var pct = (element.currentTime / element.duration) * 100;
    rangeCanvasCtxt.fillStyle = yelp_color_gray_border;
    rangeCanvasCtxt.clearRect(2, 2, 100, 16);
    rangeCanvasCtxt.fillRect(2, 2, pct, 16);
    var mins = parseInt(element.currentTime / 60);
    var secs = parseInt(element.currentTime - (60 * mins))

    currentSpan.text(mins + (secs < 10 ? ':0' : ':') + secs);
    ttmlNodes.each(function () {
      var ttml = this;
      if (element.currentTime >= parseFloat(ttml.getAttribute('data-ttml-begin')) &&
          (!ttml.hasAttribute('data-ttml-end') ||
           element.currentTime < parseFloat(ttml.getAttribute('data-ttml-end')) )) {

        if (ttml.tagName == 'span')
          ttml.style.display = 'inline';

        else


          ttml.style.display = 'block';
      }
      else {

        ttml.style.display = 'none';
      }
    });
  };
  element.addEventListener('timeupdate', timeUpdate, false);
  var durationUpdate = function () {
    if (!isNaN(element.duration)) {
      mins = parseInt(element.duration / 60);
      secs = parseInt(element.duration - (60 * mins));
      durationSpan.text(mins + (secs < 10 ? ':0' : ':') + secs);
    }
  };
  element.addEventListener('durationchange', durationUpdate, false);




  rangeCanvas.click(function (event) {
    var pct = event.clientX - Math.floor(rangeCanvas.offset().left);
    if (pct < 0)
      pct = 0;
    if (pct > 100)
      pct = 100;
    element.currentTime = (pct / 100.0) * element.duration;
  });
};
$(document).ready(function () {
  $('video, audio').each(function () { yelp_init_video(this) });;
});

$(document).ready( function () { jQuery.syntax({root: '', blockLayout: 'yelp',
theme: false, linkify: false}); });

$(document).ready(function () {
  $('input.facet').change(function () {
    var control = $(this);

    var content = control.closest('div.body,div.sect');
    content.find('.facet-link').each(function () {
      var link = $(this);
      var facets = link.parents('div.body,div.sect').children('div.region').children('div.contents').children('div.facets').children('div.facet');
      var visible = true;
      for (var i = 0; i < facets.length; i++) {
        var facet = facets.slice(i, i + 1);
        var facetvis = false;
        var inputs = facet.find('input.facet:checked');
        for (var j = 0; j < inputs.length; j++) {
          var input = inputs.slice(j, j + 1);
          var inputvis = false;
          var key = input.attr('data-facet-key');
          var values = input.attr('data-facet-values').split(' ');
          for (var k = 0; k < values.length; k++) {
            if (link.is('*[data-facet-' + key + ' ~= "' + values[k] + '"]')) {
              inputvis = true;
              break;
            }
          }
          if (inputvis) {
            facetvis = true;
            break;

          }
        }




        if (!facetvis) {
          visible = false;
          break;
        }


      }
      if (!visible)
        link.hide('fast');
      else
        link.show('fast');
    });
  });
});

$(document).ready(function () {
  $('a.gloss-term').each(function () {





    if ($(this).attr('href') == '#') {
      $(this).click(function () { return false; });
    }
    var showtip = function () {
      var desc = $(this).children('span.gloss-desc');



      if (desc.is(':visible'))

        return;
      var top = $(this).offset().top + $(this).height() + 1;
      var left = $(this).offset().left;
      var cnt = $(this).closest('div.contents');
      var diff = cnt.offset().left + cnt.width() - desc.width() - 4;
      if (left > diff)


        left = diff;
      desc.css({'top': top + 'px', 'left': left + 'px'}).fadeIn('slow');



    };
    var hidetip = function () {
      if ($(this).is(':focus'))
        return;
      $(this).children('span.gloss-desc').fadeOut('fast');

    };
    $(this).hover(showtip, hidetip);
    $(this).focus(showtip);
    $(this).blur(hidetip);
  });
});

$(document).ready(function () {
  $('div.mouseovers').each(function () {
    var contdiv = $(this);
    var width = 0;
    var height = 0;
    contdiv.find('img').each(function () {
      if ($(this).attr('data-yelp-match') == '')
        $(this).show();
    });
    contdiv.next('ul').find('a').each(function () {

      var mlink = $(this);
      mlink.hover(
        function () {

          if (contdiv.is(':visible')) {
            var offset = contdiv.offset();
            mlink.find('img').css({left: offset.left, top: offset.top, zIndex: 10});


            mlink.find('img').fadeIn('fast');
          }
        },

        function () {


          mlink.find('img').fadeOut('fast');

        }
      );
    });
  });

  $('div.links-ui-hover').each(function () {

    var contdiv = $(this);
    var width = 0;
    var height = 0;
    contdiv.next('ul').find('a').each(function () {
      var mlink = $(this);
      mlink.hover(
        function () {
          if (contdiv.is(':visible')) {
            var offset = contdiv.offset();
            mlink.find('img').parent('span').css({left: offset.left, top: offset.top, zIndex: 10});
            mlink.find('img').parent('span').show();
          }
        },
        function () {
          mlink.find('img').parent('span').hide();
        }
      );
    });

  });

  $('a.ui-overlay').each(function () {

    $(this).click(function () {
      var overlay = $(this).parent('div').children('div.ui-overlay');









      var inner = overlay.children('div.inner');
      var close = inner.children('a.ui-overlay-close');
      var media = inner.find('audio, video');
      var screen = $('div.ui-screen');
      if (screen.length == 0) {
        screen = $('<div class="ui-screen"></div>');
        $('body').append(screen);
      }
      var hideoverlay = function () {
        if (media.length > 0)
          media[0].pause();
        $(document).unbind('keydown.yelp-ui-overlay');
        close.unbind('click');
        screen.unbind('click');
        screen.fadeOut('slow');
        overlay.unbind('click');
        overlay.slideUp('fast');
        return false;

      };

      screen.click(hideoverlay);
      close.click(hideoverlay);

      $(document).bind('keydown.yelp-ui-overlay', function (event) {
        if (event.which == 27) {


          hideoverlay();
        }

      });

      overlay.click(function (event) {
        var target = event.target;
        do {
          if (target == inner[0]) {
            break;
          }
        } while (target = target.parentNode);

        if (target != inner[0]) {
          hideoverlay();
          return false;
        }
      });
      screen.fadeIn('slow');
      overlay.slideDown('fast', function () {
        if (media.length > 0)

          media[0].play();
      });
      return false;
    });
  });

});
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>




|




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

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

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

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

<
<
>

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

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

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

<
<
<

|
|
|

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

>
|
|




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

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

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

1
2
3
4
5
6
7
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
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

102

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
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
274
275
276
277
278


279



280
281
282

283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302








303

304
305
306
307
308
309
310
311
312
313
314
315
316




317


318
319
320
321
322
323

















324
325



326
327

328
329
330
331
332
333

334
335
336
337







338
339

340
341
342
343
344
345


346
347
348
349
350
351
352
353




354
355
356
357

358
359
360
361




362
363

364
365
366
367
368
369






370

371
372
373

374
375
376
377
378
379
380
381


382
383
384
385
386
387
388



389
390
391







392



393



394

395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414




415
416
417
418







419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435



436

437
438
439

440
441
442
443

444
445
446
447
448

449
450

document.addEventListener('DOMContentLoaded', function() {
  var yelp_hash_highlight = function () {
    if (location.hash != '') {
      var sect = document.querySelector(location.hash);
      if (sect != null) {
        sect.classList.add('yelp-hash-highlight');
        window.setTimeout(function () {
          sect.classList.remove('yelp-hash-highlight');
        }, 500);
      }
    }
  }
  window.addEventListener('hashchange', yelp_hash_highlight, false);
  yelp_hash_highlight();
}, false);

var __yelp_generate_id_counter__ = 0;
function yelp_generate_id () {
  var ret = 'yelp--' + (++__yelp_generate_id_counter__).toString();
  if (document.getElementById(ret) != null)
    return yelp_generate_id();
  else
    return ret;
};
function yelp_ui_expander_init (expander) {
  var yelpdata = null;
  var innerdiv = null;
  var region = null;
  var contents = null;
  var title = null;
  var title_e = null;
  var title_c = null;
  var titlespan = null;
  var issect = false;



  for (var i = 0; i < expander.children.length; i++) {

    var child = expander.children[i];
    if (child.classList.contains('yelp-data-ui-expander')) {
      yelpdata = child;
    }

    else if (child.classList.contains('inner')) {
      innerdiv = child;

    }
  }
  if (innerdiv == null) {
    return;
  }

  for (var i = 0; i < innerdiv.children.length; i++) {
    var child = innerdiv.children[i];
    if (child.classList.contains('region')) {
      region = child;

    }
    else if (child.classList.contains('title')) {


      title = child;
    }
    else if (child.classList.contains('hgroup')) {
      title = child;
      issect = true;
    }
  }
  if (region == null || title == null) {
    return;



  }
  if (!region.hasAttribute('id')) {
    region.setAttribute('id', yelp_generate_id());
  }


  title.setAttribute('aria-controls', region.getAttribute('id'));







  if (yelpdata != null) {
    for (var i = 0; i < yelpdata.children.length; i++) {
      var child = yelpdata.children[i];
      if (child.classList.contains('yelp-title-expanded')) {
        title_e = child;
      }
      else if (child.classList.contains('yelp-title-collapsed')) {

        title_c = child;
      }
    }
  }
  titlespan = title.querySelector('span.title');
  if (titlespan == null) {
    return;
  }


  if (title_e == null) {
    var node = document.createElement('div');
    node.className = 'yelp-title-expanded';
    node.innerHTML = titlespan.innerHTML;
    yelpdata.appendChild(node);
    title_e = node;

  }
  if (title_c == null) {
    var node = document.createElement('div');
    node.className = 'yelp-title-collapsed';




    node.innerHTML = titlespan.innerHTML;
    yelpdata.appendChild(node);


    title_c = node;

  }






  var ui_expander_zoom_region = function (event) {



    if (yelpdata.getAttribute('data-yelp-expanded') != 'false') {


      ui_expander_toggle();

      event.preventDefault();

    }

  }
  if (expander.nodeName == 'section' || expander.nodeName == 'SECTION') {
    for (var i = 0; i < region.children.length; i++) {
      var child = region.children[i];
      if (child.classList.contains('contents')) {
        contents = child;
        break;
      }
    }
    contents.addEventListener('click', ui_expander_zoom_region, true);

  }













  else {


    region.addEventListener('click', ui_expander_zoom_region, true);
  }

  var ui_expander_toggle = function () {
    if (yelpdata.getAttribute('data-yelp-expanded') == 'false') {
      yelpdata.setAttribute('data-yelp-expanded', 'true');
      expander.classList.remove('ui-expander-e');
      expander.classList.add('ui-expander-c');
      region.setAttribute('aria-expanded', 'false');
      if (title_c != null)
        titlespan.innerHTML = title_c.innerHTML;
    }
    else {
      yelpdata.setAttribute('data-yelp-expanded', 'false');
      expander.classList.remove('ui-expander-c');
      expander.classList.add('ui-expander-e');
      region.setAttribute('aria-expanded', 'true');
      if (title_e != null)
        titlespan.innerHTML = title_e.innerHTML;



    }




  };
  expander.yelp_ui_expander_toggle = ui_expander_toggle;



  title.addEventListener('click', ui_expander_toggle, false);
  ui_expander_toggle();
}
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('.ui-expander');
  for (var i = 0; i < matches.length; i++) {
    yelp_ui_expander_init(matches[i]);
  }
  var yelp_hash_ui_expand = function () {

    if (location.hash != '') {
      var sect = document.querySelector(location.hash);
      if (sect != null) {

        for (var cur = sect; cur instanceof Element; cur = cur.parentNode) {
          if (cur.classList.contains('ui-expander')) {
            if (cur.classList.contains('ui-expander-c')) {
              cur.yelp_ui_expander_toggle();
            }



          }
        }
        sect.scrollIntoView();







      }





    }
  };
  window.addEventListener('hashchange', yelp_hash_ui_expand, false);
  yelp_hash_ui_expand();
}, false);

yelp_color_text_light = 'rgb(75,75,73)';
yelp_color_gray_background = 'rgb(244,244,244)';
yelp_color_gray_border = '#c0bfbc';
function yelp_figure_init (figure) {
  var zoom = figure.querySelector('a.figure-zoom');

  var figure_resize = function () {
    var zoomed = zoom.classList.contains('figure-zoomed');
    var imgs = figure.querySelectorAll('img');
    for (var i = 0; i < imgs.length; i++) {
      var img = imgs[i];
      var mediaDiv = null;
      for (var cur = img; cur instanceof Element; cur = cur.parentNode) {
        if ((cur.nodeName == 'div' || cur.nodeName == 'DIV') &&
            cur.classList.contains('media')) {
          mediaDiv = cur;
          break;
        }
      }


      if (mediaDiv == null)


        continue;







      if (!img.hasAttribute('data-yelp-original-width')) {
        var iwidth = null;
        if (img.hasAttribute('width'))
          iwidth = parseInt(img.getAttribute('width'));

        else


          iwidth = img.width;
        img.setAttribute('data-yelp-original-width', iwidth);
        var iheight = null;

        if (img.hasAttribute('height'))
          iheight = parseInt(img.getAttribute('height'));
        else
          iheight = img.height * (iwidth / img.width);
        img.setAttribute('data-yelp-original-height', iheight);




      }
      var owidth = img.width;
      var oheight = img.height;

      img.width = parseInt(img.getAttribute('data-yelp-original-width'));
      img.height = parseInt(img.getAttribute('data-yelp-original-height'));
      var mediaw = mediaDiv.offsetWidth;
      img.width = owidth;
      img.height = oheight;
      if (parseInt(img.getAttribute('data-yelp-original-width')) <= mediaw) {
        img.width = parseInt(img.getAttribute('data-yelp-original-width'));
        img.height = parseInt(img.getAttribute('data-yelp-original-height'));
        zoom.style.display = 'none';
      }
      else if (zoomed) {



        img.width = parseInt(img.getAttribute('data-yelp-original-width'));
        img.height = parseInt(img.getAttribute('data-yelp-original-height'));



        zoom.style.display = 'block';

      }

      else {
        img.width = mediaw;


        img.height = (parseInt(img.getAttribute('data-yelp-original-height')) *






                      img.width /



                      parseInt(img.getAttribute('data-yelp-original-width')));
        zoom.style.display = 'block';



      }

    }
  }
  figure.yelp_figure_resize = figure_resize;
  figure.yelp_figure_resize();

  zoom.onclick = function (e) {
    var zoomed = zoom.classList.contains('figure-zoomed');
    if (zoomed)
      zoom.classList.remove('figure-zoomed');
    else
      zoom.classList.add('figure-zoomed');
    figure.yelp_figure_resize();
    return false;
  };
}
window.addEventListener('load', function() {





  var figures = document.querySelectorAll('div.figure');
  for (var i = 0; i < figures.length; i++) {
    if (figures[i].querySelector('img') != null)
      yelp_figure_init(figures[i]);

  }
  var timeout = null;
  var yelp_figures_resize = function () {
    if (timeout != null)
      return;

    timeout = window.setTimeout(function () {
      for (var i = 0; i < figures.length; i++) {

        if (figures[i].querySelector('img') != null)

          figures[i].yelp_figure_resize();
      }
      window.clearTimeout(timeout);
      timeout = null;

    }, 100);
  };
  window.addEventListener('resize', yelp_figures_resize, false);
}, false);
function yelp_media_init (media) {
  media.removeAttribute('controls');
  if (media.parentNode.classList.contains('links-tile-img')) {
    return;
  }




  media.addEventListener('click', function () {
    if (media.paused)
      media.play();
    else
      media.pause();
  }, false);

  var controls = null;
  for (var cur = media.nextSibling; cur instanceof Element; cur = cur.nextSibling) {
    if (cur.classList.contains('media-controls')) {
      controls = cur;
      break;
    }


  }



  if (controls == null) {
    media.setAttribute('controls', 'controls');
    return;

  }
  var playbutton = controls.querySelector('button.media-play');
  playbutton.addEventListener('click', function () {
    if (media.paused || media.ended)
      media.play();
    else
      media.pause();
  }, false);

  var mediachange = function () {
    if (media.ended)
      media.pause()
    if (media.paused) {
      playbutton.setAttribute('value', playbutton.getAttribute('data-play-label'));
      playbutton.classList.remove('media-play-playing');
    }
    else {
      playbutton.setAttribute('value', playbutton.getAttribute('data-pause-label'));
      playbutton.classList.add('media-play-playing');
    }








  }

  media.addEventListener('play', mediachange, false);
  media.addEventListener('pause', mediachange, false);
  media.addEventListener('ended', mediachange, false);

  var mediarange = controls.querySelector('input.media-range');
  mediarange.addEventListener('input', function () {
    var pct = this.value;
    if (pct < 0)
      pct = 0;
    if (pct > 100)
      pct = 100;
    media.currentTime = (pct / 100.0) * media.duration;
  }, false);




  var curspan = controls.querySelector('span.media-current');


  var durspan = controls.querySelector('span.media-duration');
  var durationUpdate = function () {
    if (!isNaN(media.duration)) {
      mins = parseInt(media.duration / 60);
      secs = parseInt(media.duration - (60 * mins));
      durspan.textContent = (mins + (secs < 10 ? ':0' : ':') + secs);

















    }
  };



  media.addEventListener('durationchange', durationUpdate, false);


  var ttmlDiv = null;
  var ttmlNodes = null;
  for (var i = 0; i < media.parentNode.children.length; i++) {
    var child = media.parentNode.children[i];
    if (child.classList.contains('media-ttml'))
      ttmlDiv = child;

  }
  if (ttmlDiv != null) {
    ttmlNodes = ttmlDiv.querySelectorAll('.media-ttml-node');
  }








  var timeUpdate = function () {

    var pct = (media.currentTime / media.duration) * 100;
    mediarange.value = pct;
    var mins = parseInt(media.currentTime / 60);
    var secs = parseInt(media.currentTime - (60 * mins))
    curspan.textContent = (mins + (secs < 10 ? ':0' : ':') + secs);
    if (ttmlNodes != null) {


      for (var i = 0; i < ttmlNodes.length; i++) {
        var ttml = ttmlNodes[i];
        if (media.currentTime >= parseFloat(ttml.getAttribute('data-ttml-begin')) &&
            (!ttml.hasAttribute('data-ttml-end') ||
             media.currentTime < parseFloat(ttml.getAttribute('data-ttml-end')) )) {
          if (ttml.tagName == 'span' || ttml.tagName == 'SPAN')
            ttml.style.display = 'inline';
          else




            ttml.style.display = 'block';
        }
        else {
          ttml.style.display = 'none';

        }
      }
    }
  };




  media.addEventListener('timeupdate', timeUpdate, false);
};

document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('video, audio');
  for (var i = 0; i < matches.length; i++) {
    yelp_media_init(matches[i]);
  }
}, false);








document.addEventListener('DOMContentLoaded', function() {
  var tiles = document.querySelectorAll('div.links-tile');
  for (var i = 0; i < tiles.length; i++) {

    (function (tile) {
      if (!tile.parentNode.classList.contains('links-tiles') &&
          (tile.nextElementSibling &&
           tile.nextElementSibling.classList.contains('links-tile')) &&
          !(tile.previousElementSibling &&
            tile.previousElementSibling.classList.contains('links-tile'))) {
        var tilesdiv = document.createElement('div');
        tilesdiv.className = 'links-tiles';


        tile.parentNode.insertBefore(tilesdiv, tile);
        var cur = tile;
        while (cur && cur.classList.contains('links-tile')) {
          var curcur = cur;
          cur = cur.nextElementSibling;
          tilesdiv.appendChild(curcur);
        }



        for (j = 0; j < 2; j++) {
          var paddiv = document.createElement('div');
          paddiv.className = 'links-tile';







          tilesdiv.appendChild(paddiv);



        }



      }

    })(tiles[i]);
  }
});
document.addEventListener('DOMContentLoaded', function() {
  var overlays = document.querySelectorAll('a.ui-overlay');
  for (var i = 0; i < overlays.length; i++) {
    (function (ovlink) {
      var overlay = ovlink.parentNode.querySelector('div.ui-overlay');
      var ui_overlay_show = function (ev) {
        overlay.style.display = 'block';
        overlay.classList.add('ui-overlay-show');
        var screen = document.querySelector('div.ui-overlay-screen');
        if (screen == null) {
          screen = document.createElement('div');
          screen.className = 'ui-overlay-screen';
          document.body.appendChild(screen);
        }
        var inner = overlay.querySelector('div.inner');
        var close = inner.querySelector('a.ui-overlay-close');
        var media = inner.querySelectorAll('audio, video');





        var overlay_play_func = function () {
          for (var j = 0; j < media.length; j++) {
            media[j].play();







          }
        };
        var overlay_play_timeout = window.setTimeout(overlay_play_func, 1000);

        var ui_overlay_funcs = {};
        ui_overlay_funcs['hide'] = function () {
          overlay.style.display = 'none';
          document.body.removeChild(screen);
          document.removeEventListener('keydown', ui_overlay_funcs['keydown'], false);
          for (var j = 0; j < media.length; j++) {
            media[j].pause();
          }
          window.clearTimeout(overlay_play_timeout);
        };
        ui_overlay_funcs['hideclick'] = function (uiev) {
          ui_overlay_funcs['hide']();
          uiev.preventDefault();



        };

        ui_overlay_funcs['keydown'] = function (uiev) {
          if (uiev.keyCode == 27) {
            ui_overlay_funcs['hide']();

          }
        };
        screen.addEventListener('click', ui_overlay_funcs['hideclick'], false);
        close.addEventListener('click', ui_overlay_funcs['hideclick'], false);

        document.addEventListener('keydown', ui_overlay_funcs['keydown'], false);
        ev.preventDefault();
      };
      ovlink.addEventListener('click', ui_overlay_show, false);
    })(overlays[i]);

  }
});

Modified help/html/youtube.html from [dee3f42011] to [bd547aa56e].


1
2
3
4
5
6






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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Youtube</title>
<link rel="stylesheet" type="text/css" href="C.css">






<script type="text/javascript" src="jquery.js"></script><script type="text/javascript" src="jquery.syntax.js"></script><script type="text/javascript" src="yelp.js"></script>
</head>
<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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div>
<div class="body">
<div class="hgroup">
<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_youtube.png" class="media media-inline" alt=""></span></span> Youtube</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://youtube.com/" title="http://youtube.com/">//youtube.com/</a></span></span></h2>
</div>
<div class="region">
<div class="contents">





















<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>
<div class="region"><div class="contents"><div class="terms"><div class="inner"><div class="region"><dl class="terms">




<dt class="terms"><span class="code">🔠 Region</span></dt>
<dd class="terms"><p class="p">With the country dropdown you can predefine which mostPopular listings are returned.</p></dd>
<dt class="terms"><span class="code">🔠 My Channels</span></dt>
<dd class="terms">
<p class="p">You can edit the list of YT channel names to fetch some of your favourite artists/uploaders.
            To apply this setting, and have new categories show up in the genre pane, use
            <span class="guiseq"><span class="gui">Channel</span> ▸ <span class="gui">Update category tree</span></span> first.</p>
<p class="p">It's not an exact map, but utilizes the search function to find channels.</p>
</dd>
<dt class="terms"><span class="code">☑ Wadsworth constant</span></dt>
<dd class="terms"><p class="p">Only influences the video homepage link.</p></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>
<li class="links "><a href="configuration.html#plugins" title="Channel and feature plugins and settings">Channel and feature plugins and settings</a></li>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="footer"></div>
</div></body>
</html>
>






>
>
>
>
>
>
|

|
|






|
<
<




|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>













|
|
|
>
>
>
>












<
|
|
|







|

|
<
<
|

1
2
3
4
5
6
7
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
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
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title> Youtube</title>
<link rel="stylesheet" type="text/css" href="C.css">
<script type="text/javascript" src="highlight.pack.js"></script><script>
document.addEventListener('DOMContentLoaded', function() {
  var matches = document.querySelectorAll('code.syntax')
  for (var i = 0; i < matches.length; i++) {
    hljs.highlightBlock(matches[i]);
  }
}, false);</script><script type="text/javascript" src="yelp.js"></script>
</head>
<body><main><div class="page">
<header><div class="inner pagewide"><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#extra" title="Additional features">Additional features</a> » <a class="trail" href="pluginmanager2.html" title="Plugin Manager 2 - 📦 Add">Plugin Manager 2 - <span class="key"><kbd>📦 Add</kbd></span> </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="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></div></header><article><div class="hgroup pagewide">


<h1 class="title"><span class="title"><span class="media"><span class="media media-image"><img src="img/channel_youtube.png" class="media media-inline" alt=""></span></span> Youtube</span></h1>
<h2 class="subtitle"><span class="subtitle"><span class="link"><a href="http://youtube.com/" title="http://youtube.com/">//youtube.com/</a></span></span></h2>
</div>
<div class="region">
<div class="contents pagewide">
<div class="note note-bug" title="Bug">
<svg width="24" height="24" version="1.1">
 <path class="yelp-svg-fill" d="m7 8v7h0.0078a5 6.3027 0 0 0 3.9922 5.867v-6.867h2v6.871a5 6.3027 0 0 0 3.988-5.871h0.012v-7h-10z"></path>
 <path class="yelp-svg-fill" d="m12 3a4 4 0 0 0-4 4h8a4 4 0 0 0-4-4z"></path>
 <path class="yelp-svg-fill" d="m16 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m9.2045 16.361h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m21.704 4.2894h6v1h-6z"></path>
 <path class="yelp-svg-fill" d="m2 12h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(30)" d="m5.5801 4.3612h6v1h-6z"></path>
 <path class="yelp-svg-fill" transform="rotate(-30)" d="m-6.9199 16.289h6v1h-6z"></path>
</svg><div class="inner"><div class="region"><div class="contents"><p class="p">This plugin is no longer supported or a default
	channel. Due to exceeded quotas, it ceased working, and Youtube/Google
	bothered me with inane requests for video recordings of how ST2 works
	(instead of simply looking at the code or investigating their own logs).
	Btw, the exceeded quota was unlikely due to regular ST2 usage. It's
	more probable the builtin and plainly-in-sight builtin API key was
	reappropriated otherwise. Hence, you would have to
        <span class="link"><a href="https://developers.google.com/youtube/v3/getting-started" title="https://developers.google.com/youtube/v3/getting-started">get
	your own key</a></span> now, if you wanted to use this channel. Btw,
	overall it's not that interesting / worth the effort IMO.</p></div></div></div>
</div>
<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>
<section id="options"><div class="inner">
<div class="hgroup pagewide"><h2 class="title"><span class="title">Channel options.</span></h2></div>
<div class="region"><div class="contents pagewide"><div class="terms"><div class="inner"><div class="region"><dl class="terms">
<dt class="terms"><span class="code">🔠 API key</span></dt>
<dd class="terms"><p class="p">You will have to aquire your own API key now, if you want to
            test this plugin. Quite cumbersome, and not recommended, but see 
            <span class="link"><a href="https://developers.google.com/youtube/v3/getting-started" title="https://developers.google.com/youtube/v3/getting-started">YouTube Data API Overview</a></span> </p></dd>
<dt class="terms"><span class="code">🔠 Region</span></dt>
<dd class="terms"><p class="p">With the country dropdown you can predefine which mostPopular listings are returned.</p></dd>
<dt class="terms"><span class="code">🔠 My Channels</span></dt>
<dd class="terms">
<p class="p">You can edit the list of YT channel names to fetch some of your favourite artists/uploaders.
            To apply this setting, and have new categories show up in the genre pane, use
            <span class="guiseq"><span class="gui">Channel</span> ▸ <span class="gui">Update category tree</span></span> first.</p>
<p class="p">It's not an exact map, but utilizes the search function to find channels.</p>
</dd>
<dt class="terms"><span class="code">☑ Wadsworth constant</span></dt>
<dd class="terms"><p class="p">Only influences the video homepage link.</p></dd>
</dl></div></div></div></div></div>

</div></section><section class="links" role="navigation"><div class="inner">
<div class="hgroup pagewide"></div>
<div class="contents pagewide"><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>
<li class="links "><a href="index.html#channels" title="Channel tabs">Channel tabs</a></li>
</ul></div>
</div></div></div>
</div></section>
</div>
<div class="clear"></div></article><footer><div class="inner pagewide"></div></footer>


</div></main></body>
</html>

Added help/img/channel_peertube.png version [52f49dcbe9].

cannot compute difference between binary files