4 Copyright © 2010 VideoLAN and AUTHORS
6 Authors: Fabio Ritrovato <sephiroth87 at videolan dot org>
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
25 return { title
="Free Music Charts" }
29 local tree
= simplexml
.parse_url("http://www.archive.org/download/freemusiccharts.songs/fmc.xml")
30 for _
, show_node
in ipairs( tree
.children
) do
31 simplexml
.add_name_maps( show_node
)
32 local node
= vlc
.sd
.add_node( {title
=show_node
.children_map
["description"][1].children
[1]} )
33 if tonumber( show_node
.children_map
["songcount"][1].children
[1] ) > 0 then
34 local songs_node
= node
:add_node( {title
="Songs"} )
35 for _
, song_node
in ipairs( show_node
.children_map
["songs"][1].children
) do
36 _
, _
, artist
, title
= string.find( song_node
.children_map
["name"][1].children
[1], "(.+)%s*-%s*(.+)" )
37 local rank
= song_node
.children_map
["rank"][1].children
[1]
39 rank
= "Rank: " .. rank
43 local votes
= song_node
.children_map
["votes"][1].children
[1]
45 votes
= "Votes: " .. votes
49 songs_node
:add_subitem( {path
=song_node
.children_map
["url"][1].children
[1],title
=title
,artist
=artist
,description
=rank
.. ", " .. votes
} )
52 node
:add_subitem( {title
=show_node
.children_map
["date"][1].children
[1] .. " MP3 Podcast",path
=show_node
.children_map
["podcastmp3"][1].children
[1]} )
53 node
:add_subitem( {title
=show_node
.children_map
["date"][1].children
[1] .. " OGG Podcast",path
=show_node
.children_map
["podcastogg"][1].children
[1]} )