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.
this for example is the Enigma inteface with all Channels sortet by Satellite
and this is for the Remote
this calls up VLC in Mozilla
wich brings up VLC with the following HTTP Stream
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]
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()
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]