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 | # api: streamtuner2
# title: Links to directory services
# description: Static list of various music directory websites.
# type: group
# category: web
# version: 0.2
# priority: standard
# config: -
#
# Simply adds a "links" entry in bookmarks tab, where known services
# are listed with homepage links. Registered plugins automatically
# end up on top of that list.
#
from config import *
from channels import *
import copy
# hooks into main.bookmarks
class links (object):
# plugin info
module = 'links'
meta = plugin_meta()
# list
streams = [ ]
default = [
("stream", "rad.io", "http://www.rad.io/"),
("stream", "RadioTower", "http://www.radiotower.com/"),
("stream", "8tracks", "http://8tracks.com/"),
("stream", "TuneIn", "http://tunein.com/"), |
|
|
<
<
<
<
| 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 | # api: streamtuner2
# title: Links to directory services
# description: Static list of various music directory websites.
# type: group
# category: web
# version: 0.3
# priority: standard
# config: -
#
# Simply adds a "links" entry in bookmarks tab, where known services
# are listed with homepage links. Registered plugins automatically
# end up on top of that list.
#
from config import *
from channels import *
import copy
# hooks into main.bookmarks
class links (FeaturePlugin):
# list
streams = [ ]
default = [
("stream", "rad.io", "http://www.rad.io/"),
("stream", "RadioTower", "http://www.radiotower.com/"),
("stream", "8tracks", "http://8tracks.com/"),
("stream", "TuneIn", "http://tunein.com/"), |
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 | ("commercial", "Deezer", "http://www.deezer.com/features/music.html"),
#("stream", "SurfMusik.de", "http://www.surfmusic.de/"),
]
# prepare gui
def __init__(self, parent):
if parent:
# prepare target category
bookmarks = parent.bookmarks
if not bookmarks.streams.get(self.module):
bookmarks.streams[self.module] = []
bookmarks.add_category(self.module)
# fill it up later
parent.hooks["init"].append(self.populate)
def populate(self, parent):
# Collect links from channel plugins
for name,channel in parent.channels.items():
try:
self.streams.append({
"favourite": 1,
"genre": "channel",
"title": channel.meta.get("title", channel.module),
"homepage": channel.meta.get("url", ""),
"type": "text/html",
})
except Exception as e:
log.ERR("links: adding entry failed:", e)
# Add built-in link list
for row in self.default:
(genre, title, homepage) = row |
|
<
|
>
|
|
|
|
|
|
|
|
|
| 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 | ("commercial", "Deezer", "http://www.deezer.com/features/music.html"),
#("stream", "SurfMusik.de", "http://www.surfmusic.de/"),
]
# prepare gui
def init2(self, parent):
if not parent:
return
# prepare target category
bookmarks = parent.bookmarks
if not bookmarks.streams.get(self.module):
bookmarks.streams[self.module] = []
bookmarks.add_category(self.module)
# fill it up later
parent.hooks["init"].append(self.populate)
def populate(self, parent):
# Collect links from channel plugins
for name,channel in parent.channels.items():
try:
self.streams.append({
"favourite": 1,
"genre": "channel",
"title": channel.meta.get("title", channel.module),
"homepage": channel.meta.get("url", ""),
"format": "text/html",
})
except Exception as e:
log.ERR("links: adding entry failed:", e)
# Add built-in link list
for row in self.default:
(genre, title, homepage) = row |