
Updated it a bit. Be careful, as the forum seems to tear apart some of the rather long lines occasionally. Well, you'll find out, heh.
CODE
list streams = ["http://www.glassworks.co.uk/search_archive/jobs/bjork_all/bjork_allisfulloflove.mov","http://www.hahnlink.com/img/allyourbase.swf","http://download.uol.com.br/jogos/videos/pc_jediknight3.mov"];
list names = ["bjork1","allyourbase","jedi"];
list formats = [".mov",".mpg",".swf",".png",".jpg"];
// Do not edit below this line
integer myListener = 0;
default
{
state_entry()
{
llListenRemove(myListener);
llListen(0,"",NULL_KEY,"");
}
listen(integer channel, string name, key id, string message)
{
list params;
string cmd;
string curstream;
string curstreamname;
curstream = llList2String(llParcelMediaQuery([PARCEL_MEDIA_COMMAND_URL]),0);
integer curstreamnameindex = llListFindList(streams,[curstream]);
if (curstreamnameindex == -1)
{
curstreamname = "External Source";
} else
{
curstreamname = llList2String(names,llListFindList(streams,[curstream]));
}
params = llParseString2List(message,[" "],[]);
cmd = llToLower(llList2String(params,0));
if (cmd == "mpplay")
{
llSay(0,"Playing " + curstreamname + ": " + curstream);
llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_PLAY]);
}
if (cmd == "mpstop")
{
llSay(0,"Stopping " + curstreamname + ": " + curstream);
llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_STOP]);
}
if (cmd == "mppause")
{
llSay(0,"Pausing " + curstreamname + ": " + curstream);
llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_PAUSE]);
}
if (cmd == "mpload")
{
integer index;
index = llListFindList(names,[llToLower(llList2String(params,1))]);
if (index == -1)
{
llSay(0,"The stream name " + llList2String(params,1) + " is not defined!");
return;
}
llSay(0,"Setting the stream to: " + llList2String(names,index));
llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_STOP]);
llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_URL,llList2String(streams,index)]);
}
if (cmd == "mploadurl")
{
if (llListFindList(formats,[llToLower(llGetSubString(llList2String(params,1),llStringLength(llList2String(params,1)) - 4,llStringLength(llList2String(params,1)) - 1))]) == -1)
{
llSay(0,"The file submitted is now a known format, sorry.");
return;
}
llSay(0,"Setting the stream to: " + llList2String(params,1));
llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_STOP]);
llParcelMediaCommandList([PARCEL_MEDIA_COMMAND_URL,llList2String(params,1)]);
}
}
}