Check-in [0ea7545d8e]
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: |
0ea7545d8eebc9d628d3d900123cfa47 |
User & Date: | mario on 2020-05-15 17:21:08 |
Other Links: | manifest | tags |
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: | |
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 | html { height: 100%; } body { font-family: sans-serif; margin: 0; padding: 0; background-color: #ffffff; color: #000000; direction: ltr; } | > > > > > > > > > > > > | > | | > | > > | > > > | > | | > > > > > > > > > > > > > > > > > > | < < | | < > > > > > > > > > > > > | | | | | | | | | | | < < < | | < | | | | | | < < | < < | | | | > > | > > > > > > | | < | | > > > > > > > | | | | | > > > > > | | | | < < < < | < | < < < < < < < < < < | < | | | | < < < < < | | < > > > > > | | | < | | < < | | | < < < < | < < < < < < | < < < | < | | | < < < | | | > | | | | < | | > > > > > | | | > | > > > > > > > > > > | | | > > > | | | < | | < < < < | | > | > | | > | > > > > | | < < < < < < | | | | | < | < < | | < < | | | > | | | | | | | | | | | | | | | | | | < < < < | | | | | | | | | | | | | | | | | | > > | | | > > > > > > > > > > > > > > > > > > > | > > > > > > > > > | > > > > > | > > > > > > < | | | > | | | < < < < | < | | | | | < < | | | | | < | | < | > > > > > > > | | | < < > > | | | | | | > > > > > | > > > > > > > > > > > | > | < | > > > > | > > > | > > | > > > | > > | | < > | > > > > | > > > > > > > > > > > > > > > > > > > > | | < > | > > > > > > > > > > > | | | | > > > > | > > > | > > > > > > > | > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > | > > > > > | | | < < | | > > > | | | > | | < > | | | | | < | | | | > > > > > > > > | | | | | < | > | | | | > | > > > > > > | < | > > > > > > > > > > | | | < < > > > > < < < | < < | | | > > > | > | > > > | | > | | | < < | | | > > > > > > > > > > > | | | > | < | | < | | > | < | | > > | > > > | | < | > | > > > > | | > > > > | < < > | < | | | > > | < | < | > | > > > | < | | > > | < > < | | | < < | | > > > > > | | < < < < < > | > > > | < | > | > > > | > > > > > > > | | | | | < | < < < | > | | > > > > > | | | < | | | > < < | | | < | > > > > > | | | | | > | | | | | > > | | < < < | < | < < > > | < < < < < < | > > > > > > > > | < < < | | | | | | > > > > > | | | < < | > > > > > > > > > > > | | 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 | <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"> | > > > > > > > | | | < < | | | | | | < | | > > > > > > > > > > | | > | | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | | | < > > | | < | | | < | | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | 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 | <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> | | | | | 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 | </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> | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | 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 | 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> | | | | | 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 | <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> | > > > > | | | | | | | 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 | <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> | > > > > | | | | | | | | | < | | | > > > > > > > > > > > | > > > > > | > > > > > | > > > > > | > > > > > > > > > > > > > > > | | | | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | 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 | <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> | | | | | 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 | <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> | | | < | | | | < | | | 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 | <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> | > > > > | | > | 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 | 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> | | < | | | > > | | | | | | < | > > > > | | | | | | | | < < | | 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 | <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"> | > > > > > > > | | | < < | | | | | | | | | < | | | < | | | < < < < < < < < < < < | | | < | | | < | | | < | | | < | | | < | | | < | | | < | | | < < < < < | | | < < < < < < | | | | < | | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | < < | | | | | | | | | < | | | | | < | | | < | | > > > > | | | | | | < | | | < | | | < | | | | | < | | | < | | | | | > > > > | | > | < | | | < | | | < | | | < | | | < | | > > > > > > > > > > | | > | < | | | < | | | < | | | < | | > > > > > > | | | | | | | | < < | | 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].
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Modified help/html/dragndrop.html from [53d8691182] to [99d9f80421].
1 2 3 4 5 6 | <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"> | > > > > > > > | | | | < < | | | | > > > | | > | < | | > > > > | | | | | | | | < < | | 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 | <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"> | > > > > > > > | | | < < | | > > > > | | > | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | > > > > | | | > | | | | 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 | 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> | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | | | | | | < | | | | | < | | | | | < | | | | | < | | | 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"><?xml version="1.0" encoding="UTF-8"?> <playlist version="1" xmlns="http://xspf.org/ns/0/"> <trackList> <track> <title>Top 500 hitz station XY</title> <annotation>Paris</annotation> <location>http://123.24.67.189:8222</location> <info>Pop, Rock, Future-Jazz</info> <homepage>http://example.com/</homepage> </track> </trackList> </playlist></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 | <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> | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | | | > > > > | | | | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | 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 | <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> | > > > > > > > > > > | | > | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | 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 | <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> | | | | | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | < < | | | | | < | | | | | < < | | 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 | <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"> | > > > > > > > | < < | | | | | | | | | | < | | | < > > | | | < | | | | | | | | | | < | | | | | | < | | | | | < < < | | > | > > | | | | 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 | <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"> | > > > > > > > | | | | < < | | | | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | | | | < | | | 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 | <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> | | < | | | < | > > > > | | | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | | | > > > > > > > > > > | > < | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | | | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | | | | < | | > > > > | | | | | | | > > > > > > > > > > > > | | | > < | | | | | < < | | 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 | <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"> | > > > > > > > | | | < < | | | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | > > > > | | > | | | | | | < | | | > > | > > > > > > > > > > | | | | | | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | | | > | > > > > | | > > > > | | | | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | | | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | < < | | | | | | 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 | </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> | | < | | | < | | | < | | | < | | | 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 | </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> | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | | | | < | | | 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 | </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> | > > > > | | | | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | | | | | < < | | 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 | <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"> | > > > > > > > | | | < < | | > > > > | | > | | | | | < < | | 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 | <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"> | > > > > > > > | | | < < | | | | | | < | | | 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 | <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> | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | > > > > | | > | | | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | 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 | </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> | | | | | < | | | < | | | < | | > > > > > > > > > > | | | | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | | | | | < | | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | > > > > > > > > > > | | > | | | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | | | | 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 | <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> | | < | | > > > > | | | | | | | | | < | | > > > > | | | | | | | < < | | 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 | <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"> | > > > > > > > | | | < < | | | | | > > > > | | | | | | | < | | > > > | | | | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | | | < | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | > > > > | | > | | | | | < < | | 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 | <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"> | > > > > > > > | | | | < < | | | | | 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 | 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> | > > > > | | > < | | | | | < < | | 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 | var __yelp_generate_id_counter__ = 0; function yelp_generate_id () { var ret = 'yelp--' + (++__yelp_generate_id_counter__).toString(); | > > > > > > > > > > > > > > > > | | | | | | | > > > | < < < | < > | > < | | < > > > > | < | | | | < > | < < | > | | | > > | | < < < | > > < < > < < | < < < < | | | > | > | < | | > > > | | | < < | | | > | | < > | > | < < < < | | < < | < | < < | < < < | < < < | < < | < | < < > | > > > > > > > | < | < < < < < < < < < < < < < < < > | | > > > > > | > > > > > > > | | < < < | < < < < > | < < < | > | > > > > | < > > | < > > > | | < < < > > | < < < < < < < | < < < < < | > > > > | > > > > > | | | > > | > > > > > | | | < < | < < | < < < < < < < | | | | < | < < | > | < > | | > | < < < < > | | < | | | | | > | > > | | < < < | | < < < | < | < > | < < | < < < < < < | < < < > | < < < | < > > | | | | | | | > > > > > | | < < < < < | | | | < | > > | < | | < | < | | > | < | | > > > > > > < < < | | | | > | > > > | > | < < | < < < | | | < > | | | | | | > | | > | > > | | | > | | < < < < < < < < | < | > > > | | | | < < < < | < < | | | | > | < < < < < < < < < < < < < < < < < | | < < < > | < > > > > | | < | > > | < < < < < < < | < > > > > > | < < | | > > > | > | < < < < | > > | < > > > | < < < < > | < | | | | | | < < < < < < | < | > | < | > | | | > > | < < > | > > | > < < < > | > < < < < < < < | < < < | < < < | < | > | > | > | | > > > > > > > > > | | | < < < < | | | | < < < < < < < > | > | | > | | > > | | > | > | | < < < | < > | | < | | | | < > | | | | < > | 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 | <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"> | > > > > > > > | | | | < < | > > > > > > > > > > > > > > > > > > > > > | | | > > > > < | | | | | < < | | 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