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 |
# configuration settings
config = [ ]
# list
streams = [ ]
default = {
"radio.de": "http://www.radio.de/",
"musicgoal": "http://www.musicgoal.com/",
"streamfinder": "http://www.streamfinder.com/",
"last.fm": "http://www.last.fm/",
"rhapsody (US-only)": "http://www.rhapsody.com/",
"pandora (US-only)": "http://www.pandora.com/",
"radiotower": "http://www.radiotower.com/",
"pirateradio": "http://www.pirateradionetwork.com/",
"R-L": "http://www.radio-locator.com/",
"radio station world": "http://radiostationworld.com/",
"surfmusik.de": "http://www.surfmusic.de/",
}
# prepare gui
def __init__(self, parent):
if parent:
# target channel
bookmarks = parent.bookmarks
if not bookmarks.streams.get(self.module):
bookmarks.streams[self.module] = []
bookmarks.add_category(self.module)
# collect links from channel plugins
for name,channel in parent.channels.items():
try:
self.streams.append({
"favourite": 1,
"title": channel.title,
"homepage": channel.homepage,
})
except: pass
for title,homepage in self.default.items():
self.streams.append({
"title": title,
"homepage": homepage,
})
# add to bookmarks
bookmarks.streams[self.module] = self.streams
|
|
|
|
>
>
|
|
|
|
<
|
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
>
>
|
>
|
|
|
|
|
|
>
>
>
>
>
>
>
|
>
>
>
|
|
| | 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 |
# configuration settings
config = [ ]
# 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/"),
("stream", "Jango", "http://www.jango.com/"),
("stream", "last.fm", "http://www.last.fm/"),
("stream", "StreamFinder", "http://www.streamfinder.com/"),
("stream", "Rhapsody (US-only)", "http://www.rhapsody.com/"),
("stream", "Pirateradio Network", "http://www.pirateradionetwork.com/"),
("stream", "radio-locator", "http://www.radio-locator.com/"),
("stream", "Radio Station World", "http://radiostationworld.com/"),
("download", "Live Music Archive(.org)", "https://archive.org/details/etree"),
("download", "FMA, free music archive", "http://freemusicarchive.org/"),
("download", "Audiofarm", "http://audiofarm.org/"),
("stream", "SoundCloud", "https://soundcloud.com/"),
("download", "ccMixter", "http://dig.ccmixter.org/"),
("download", "mySpoonful", "http://myspoonful.com/"),
("download", "NoiseTrade", "http://noisetrade.com/"),
("stream", "Hype Machine", "http://hypem.com/"),
("download", "Amazon Free MP3s", "http://www.amazon.com/b/ref=dm_hp_bb_atw?node=7933257011"),
("stream", "Shuffler.fm", "http://shuffler.fm/"),
("download", "ccTrax", "http://www.cctrax.com/"),
("list", "WP: Streaming music services", "http://en.wikipedia.org/wiki/Comparison_of_on-demand_streaming_music_services"),
("list", "WP: Music databases", "http://en.wikipedia.org/wiki/List_of_online_music_databases"),
("commercial", "Google Play Music", "https://play.google.com/about/music/"),
("commercial", "Deezer", "http://www.deezer.com/features/music.html"),
#("stream", "SurfMusik.de", "http://www.surfmusic.de/"),
#("stream", "MusicGOAL", "http://www.musicgoal.com/"),
]
# 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.title,
"homepage": channel.homepage,
"type": "text/html",
})
except: pass
for row in self.default:
(genre, title, homepage) = row
self.streams.append({
"genre": genre,
"title": title,
"homepage": homepage,
"type": "text/html",
})
# add to bookmarks
parent.bookmarks.streams[self.module] = self.streams
|