mixwit downloader

By Nemanja Stefanovic Last update Apr 1, 2008 — Installed 401 times.
// ==UserScript==
// @name           mixwit downloader
// @namespace      http://userscripts.org/scripts/source/24637.user.js
// @description    download mixwit songs
// @include        http://www.mixwit.com/*
// ==/UserScript==
//

var playlist_url = "http://www.mixwit.com/playlists/"+unsafeWindow.flashvars["playlist"]+".xml";

function node_value(root_node, node)
{
	try
	{
		var r = root_node.getElementsByTagName(node)[0].firstChild.nodeValue;
		return r;
	}
	catch(err)
	{
		return "";
	}
}

function display_songs(xml_data)
{
	var parser = new DOMParser();
	var xml = parser.parseFromString(xml_data, 'application/xml');
	var tracks = xml.getElementsByTagName("track");
	
	var song_div = document.createElement('div');

	for(var i=0; i<tracks.length; i++)
	{
		var song_location = node_value(tracks[i], "location");
		var song_artist = node_value(tracks[i], "creator");
		var song_title = node_value(tracks[i], "title");

		var song_a = document.createElement('a');
		if(song_location != null)
		{
			song_a.setAttribute('href', song_location);
			song_a.innerHTML= "<b>"+song_artist+" - "+song_title+"</b>";
			song_div.appendChild(song_a);
			song_div.appendChild(document.createElement('br'));
		}
	}

	var widget = document.getElementById("widget");
	widget.appendChild(song_div);
}

GM_xmlhttpRequest
(
{
	method: 'GET',
	url: playlist_url,
	headers:
	{
		'User-agent': navigator.userAgent,
		'Accept': 'application/atom+xml,application/xml,text/xml',
	},
	onload: function(resp)
	{
		var playlist_xml = resp.responseText;
		display_songs(playlist_xml);
	}
}
);