another Dreambox attempt (1 Viewer)

xxxomxxx

Portal Member
January 8, 2005
37
0
Zurich, Siwtzerland
Hi all

i was wondering if we couldnt manage to integrate the enigma Dreambox interface into Media Portal.

It can be accessed by Web and streams can be played with VLC fairly simple if one uses Mozilla.

all Data is already in XML format like the Satellite information, the Channel info etc.

Code:
<html>
	<head>
		<title>Enigma Web Interface - Dreambox</title>
		<link rel="stylesheet" type="text/css" href="webif.css">
		<script language="javascript" type="text/javascript" src="dhtml.js"></script>
		<script language="javascript" type="text/javascript" src="index.js"></script>
		<script>
			function headerUpdateVolumeBar(volume, mute)
			{
				for (var i = 9; i <= 63; i += 6)
				{
					var vol = 0;
					if (mute == 0)
						vol = volume;
					if (i <= vol)
						getElem("id", "imgVol" + i, null).src = "led_on.gif";
					else
						getElem("id", "imgVol" + i, null).src = "led_off.gif";
				}
				if (mute == 0)
					getElem("id", "mute", null).src = "speak_on.gif";
				else
					getElem("id", "mute", null).src = "speak_off.gif";
			}
			function headerUpdateRecording(recording)
			{
				if (recording == 1)
					getElem("id", "recording", null).src = "blinking_red.gif";
				else
					getElem("id", "recording", null).src = "trans.gif";
			}
			function headerUpdateChannelStatusBar(dolby, crypt, format)
			{
				if (dolby == 1)
					getElem("id", "imgDolby", null).src = "dolby_on.png";
				else
					getElem("id", "imgDolby", null).src = "dolby_off.png";
				if (crypt == 1)
					getElem("id", "imgCrypt", null).src = "crypt_on.png";
				else
					getElem("id", "imgCrypt", null).src = "crypt_off.png";
				if (format == 1)
					getElem("id", "imgFormat", null).src = "format_on.png";
				else
					getElem("id", "imgFormat", null).src = "format_off.png";
			}
			function headerUpdateStatusBar(diskGB, diskH, vpid, apid, ip, lock, upTime)
			{
				getElem("id", "diskgb", null).firstChild.nodeValue = diskGB;
				getElem("id", "diskh", null).firstChild.nodeValue = diskH;
				getElem("id", "vpid", null).firstChild.nodeValue = vpid;
				getElem("id", "apid", null).firstChild.nodeValue = apid;
				getElem("id", "ip", null).firstChild.nodeValue = ip;
				getElem("id", "lock", null).firstChild.nodeValue = lock;
				getElem("id", "uptime", null).firstChild.nodeValue = upTime;
			}
			function headerUpdateEPGData(serviceName, nowT, nowD, nowSt, nextT, nextD, nextSt)
			{
				getElem("id", "servicename", null).firstChild.nodeValue = serviceName;
				getElem("id", "nowt", null).firstChild.nodeValue = nowT;
				getElem("id", "nowd", null).firstChild.nodeValue = nowD;
				if (!MS)
					nowSt = nowSt.substr(0, 40);
				getElem("id", "nowst", null).firstChild.nodeValue = nowSt;
				getElem("id", "nextt", null).firstChild.nodeValue = nextT;
 				getElem("id", "nextd", null).firstChild.nodeValue = nextD;
				if (!MS)
					nextSt = nextSt.substr(0, 40);
				getElem("id", "nextst", null).firstChild.nodeValue = nextSt;
			}
			function topnavi(command)
			{
				parent.body.location = "body" + command;
				parent.leftnavi.location = "leftnavi" + command;
			}
			function setTitle(title)
			{
				getElem("id", "title", null).firstChild.nodeValue = title;
			}
			function init()
			{
				data.location = "data";
				var refresh = 10000;
				if (data.updateCycleTime)
					refresh = data.updateCycleTime;
				setTimeout("init()", refresh);
			}
		</script>

	</head>
	<body id="index_big" style="margin: 0px; border: 0px; padding: 0px" background="bg.png" onLoad="init()">
		<table width="780px" height="100%" align="center" border="0" cellspacing="0" cellpadding="0">
		<tbody valign="top">
		<tr>
			<td colspan="2">
				
				<table id="headTable" style="table-layout: fixed" width="780px" height="112px" border="0" cellpadding="0" cellspacing="0" background="topbalk.png">
				<tr>

					<td width="150px"></td>
					<td width="620px">
						<table id="headercell" style="table-layout: fixed" width="620px" border="0" cellpadding="0" cellspacing="0">
						<tr>
							<td width="620px">
								<table style="table-layout: fixed" width="620px" border="0" height="60px" cellpadding="0" cellspacing="0">
								<tr>
									<td id="servicename" width="440px" class="servicename" align="left"></td>
									<td width="180px" id="empty" align=right></td>

								</tr>
								<tr>
									<td width="440px">
										<table style="table-layout:fixed" border="0" cellspacing="0" cellpadding="0">
										<tr>
											<td id="nowt" class="epgzeit_bold" width="50px" align=left></td>
											<td id="nowd" class="epgdur" width="40px" align=left></td>
											<td id="nowst" class="epgname_bold" width="350px" height="20px" align=left></td>

										</tr>
										</table>
									</td>
									<td width="180px" align=right>
										<table border="0" cellspacing="0" cellpadding="0">
										<tr>
											<td>[url="javascript:setVol(9)"][img]led_on.gif[/img][/url]</td>
											<td>[url="javascript:setVol(15)"][img]led_on.gif[/img][/url]</td>
											<td>[url="javascript:setVol(21)"][img]led_on.gif[/img][/url]</td>

											<td>[url="javascript:setVol(27)"][img]led_on.gif[/img][/url]</td>
											<td>[url="javascript:setVol(33)"][img]led_on.gif[/img][/url]</td>
											<td>[url="javascript:setVol(39)"][img]led_on.gif[/img][/url]</td>
											<td>[url="javascript:setVol(45)"][img]led_on.gif[/img][/url]</td>
											<td>[url="javascript:setVol(51)"][img]led_on.gif[/img][/url]</td>
											<td>[url="javascript:setVol(57)"][img]led_on.gif[/img][/url]</td>
											<td>[url="javascript:setVol(63)"][img]led_on.gif[/img][/url]</td>
											<td></td>
											<td>[url="javascript:toggleMute()"][img]speak_on.gif[/img][/url]</td>

										</tr>
										</table>
									</td>
								</tr>
								<tr>
									<td width="440px">
										<table style="table-layout:fixed" border="0" cellspacing="0" cellpadding="0">
										<tr>
											<td id="nextt" class="epgzeit_bold" width="50px" align=left></td>

											<td id="nextd" class="epgdur" width="40px" align=left></td>
											<td id="nextst" class="epgname_bold" width="350px" height="20px" align=left></td>

										</tr>
										</table>
									</td>
									<td width="180px" align="right">
										<table border="0" cellpadding="0" cellspacing="0">
										<tr>

											<td>[img]trans.gif[/img]</td>
											<td>[img]trans.gif[/img]</td>
											<td>[img]crypt_off.png[/img]</td>
											<td>[img]trans.gif[/img]</td>
											<td>[img]format_off.png[/img]</td>
											<td>[img]trans.gif[/img]</td>
											<td>[img]dolby_off.png[/img]</td>
										</tr>
										</table>

									</td>
								</tr>
								</table>
								<table style="table-layout: fixed" width="620px" height="7px" border="0" cellspacing="0" cellpadding="0">
								<tr>
									<td width="630px" height="7px"></td>
								</tr>
								</table>
								<table id="statcell" border="0" cellpadding="0" cellspacing="0" height="20px">

								<tr>
									<td id="lock"></td>
									<td>[img]squ.png[/img]</td>
									<td>disk space:</td>
									<td id="diskgb"></td>
									<td></td>
									<td id="diskh"></td>
									<td></td>

									<td>[img]squ.png[/img]</td>
									<td id="uptime"></td>
									<td></td>
									<td>[img]squ.png[/img]</td>
									<td id="ip"></td>
									<td>[img]squ.png[/img]</td>
									<td>vpid:[url="javascript:vlc()"][/url]</td>
									<td>[img]squ.png[/img]</td>

									<td>apid:[url="audio.m3u"][/url]</td>
								</tr>
								</table>
								<table style="table-layout: fixed" width="620px" height="5px" border="0" cellspacing="0" cellpadding="0">
								<tr>
									<td width="630px" height="5px"></td>
								</tr>
								</table>

							</td>
						</tr>
						</table>
					</td>
				</tr>
				</table>
				
			</td>
		</tr>

		<tr>
			<td colspan="2"><iframe name="channavi" width="100%" height="24px" src="channavi" scrolling="no" frameborder="0" marginwidth="0" marginheight="0"></iframe></td>
		</tr>
		<tr>
			<td colspan="2">
				
				<table id="topnavi" border="0" width="100%" height="22px" cellspacing="0" cellpadding="0">
				<tbody align="left">
				<tr>

					<td width="120"></td>
					<td align="left"><input name="ZAP"type="button" style='width: 100px;height:22px;' value="ZAP" onclick=javascript:topnavi('?mode=zap')><input name="CONTROL"type="button" style='width: 100px;height:22px;' value="CONTROL" onclick=javascript:topnavi('?mode=control')><input name="CONFIG"type="button" style='width: 100px;height:22px;' value="CONFIG" onclick=javascript:topnavi('?mode=config')><input name="UPDATES"type="button" style='width: 100px;height:22px;' value="UPDATES" onclick=javascript:topnavi('?mode=updates')><input name="HELP"type="button" style='width: 100px;height:22px;' value="HELP" onclick=javascript:topnavi('?mode=help')></td>
				</tr>
				</tbody>
				</table>
				
			</td>
		</tr>
		<tr>

			<td colspan="2">
				<table id="titletable" width="100%" height="26px" border="0" cellspacing="0" cellpadding="0" background="mepg_grad.png">
				<tr>
					<td width="120px" background="mepg_grad.png"></td>
					<td id="title" align="left" valign="middle" background="mepg_grad.png"></td>
				</tr>
				</table>
			</td>
		</tr>

		<tr height="100%">
			<td><iframe name="leftnavi" width="110px" height="100%" src="leftnavi" scrolling="no" frameborder="0" marginwidth="0" marginheight="0"></iframe></td>
			<td><iframe name="body" width="670px" height="100%" src="body" scrolling="auto" frameborder="0" marginwidth="0" marginheight="0" style="background-color: #F4F4F4F4"></iframe></td>
		</tr>
		<tr>
			<td colspan="2"><iframe name="data" src="blank" width="100%" height="0" frameborder="0" framemargin="0" framewidth="0"></iframe></td>
		</tr>
		</tbody>
		</table>

	</body>
</html>

this for example is the Enigma inteface with all Channels sortet by Satellite

Code:
<html>
	<head>
		<title>Remote Control</title>
		<link rel="stylesheet" type="text/css" href="webif.css">
		<script>
			function key(code)
			{
				document.location="/cgi-bin/rc?" + code;
			}
		</script>
	</head>
	<body>
	<map name="remotecontrol">

		<area shape="circle" coords="129, 54, 10" href="javascript:key(116)" alt="Power">
		
		<area shape="circle" coords="63, 123, 10" href="javascript:key(2)" alt="1">
		<area shape="circle" coords="109, 123, 10" href="javascript:key(3)" alt="2">
		<area shape="circle" coords="153, 123, 10" href="javascript:key(4)" alt="3">
		
		<area shape="circle" coords="63, 148, 10" href="javascript:key(5)" alt="4">
		<area shape="circle" coords="109, 148, 10" href="javascript:key(6)" alt="5">
		<area shape="circle" coords="153, 148, 10" href="javascript:key(7)" alt="6">
		
		<area shape="circle" coords="63, 173, 10" href="javascript:key(8)" alt="7">
		<area shape="circle" coords="109, 173, 10" href="javascript:key(9)" alt="8">

		<area shape="circle" coords="153, 173, 10" href="javascript:key(10)" alt="9">
		
		<area shape="circle" coords="63, 197, 10" href="javascript:key(412)" alt="previous">
		<area shape="circle" coords="109, 197, 10" href="javascript:key(11)" alt="0">
		<area shape="circle" coords="153, 197, 10" href="javascript:key(407)" alt="next">
		
		<area shape="circle" coords="54, 243, 15" href="javascript:key(115)" alt="volume up">
		<area shape="circle" coords="107, 233, 10" href="javascript:key(113)" alt="mute">
		<area shape="circle" coords="159, 243, 15" href="javascript:key(402)" alt="bouquet up">
		
		<area shape="circle" coords="66, 274, 15" href="javascript:key(114)" alt="volume down">
		<area shape="circle" coords="107, 258, 10" href="javascript:key(1)" alt="lame">

		<area shape="circle" coords="147, 274, 15" href="javascript:key(403)" alt="bouquet down">
		
		<area shape="circle" coords="48, 306, 10" href="javascript:key(358)" alt="info">
		<area shape="circle" coords="106, 310, 15" href="javascript:key(103)" alt="up">
		<area shape="circle" coords="167, 306, 10" href="javascript:key(141)" alt="dream">
		
		<area shape="circle" coords="70, 343, 15" href="javascript:key(105)" alt="left">
		<area shape="circle" coords="108, 340, 15" href="javascript:key(352)" alt="OK">
		<area shape="circle" coords="146, 343, 15" href="javascript:key(106)" alt="right">
		
		<area shape="circle" coords="53, 381, 10" href="javascript:key(392)" alt="audio">
		<area shape="circle" coords="106, 374, 15" href="javascript:key(108)" alt="down">

		<area shape="circle" coords="162, 381, 10" href="javascript:key(393)" alt="video">
		
		<area shape="circle" coords="56, 421, 10" href="javascript:key(398)" alt="red">
		<area shape="circle" coords="90, 422, 10" href="javascript:key(399)" alt="green">
		<area shape="circle" coords="123, 422, 10" href="javascript:key(400)" alt="yellow">
		<area shape="circle" coords="158, 421, 10" href="javascript:key(401)" alt="blue">
		
		<area shape="circle" coords="61, 460, 10" href="javascript:key(385)" alt="tv">
		<area shape="circle" coords="90, 461, 10" href="javascript:key(377)" alt="radio">
		<area shape="circle" coords="123, 461, 10" href="javascript:key(66)" alt="text">
		<area shape="circle" coords="153, 460, 10" href="javascript:key(138)" alt="help">

	</map>
	[img]rc_big.jpg[/img]
	</body>
</html>

and this is for the Remote

this calls up VLC in Mozilla
Code:
javascript:vlc()
wich brings up VLC with the following HTTP Stream
Code:
http://(IP Dreambox):31339/0.0030(?),00a2(Video),0036(audio),00a2

the only thing i think would be needed is to map OSD items to the Javascript options and integrate the rest of the interface...

since i might be able to do it, i'd need a little help to get started off here...

How would i actually write a plugin for MP?

[/code]
 
K

kaisersose

Guest
I cant code so im no help im afraid :) , but it would be cool to have the web interface accessible from mediaportal. It would be cool also to be able to watch movies that are recorded on your dreambox HD through mediaportal. And finally :) , if xmltv in mediaportal could be setup to record stuff on the dreambox. If the coder of dreamboxTV for Xbox media center had any interest id say he'd do something good.
 

Users who are viewing this thread

Top Bottom