summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2008-01-01 18:08:52 +0000
committerAndreas Brachold <vdr07@deltab.de>2008-01-01 18:08:52 +0000
commite7b1e815ca77d9e4f2b7d6aa29ec986d0ac7da86 (patch)
tree1be0de63714a17c6161257b8ebda9426f863e68f
parent0b87e9e91ea49134e082888c038a8f42ae9f39e0 (diff)
downloadxxv-e7b1e815ca77d9e4f2b7d6aa29ec986d0ac7da86.tar.gz
xxv-e7b1e815ca77d9e4f2b7d6aa29ec986d0ac7da86.tar.bz2
* STREAM: Add HTTPD Streaming for recording, with starttime
* RECORDS: Start playback with start time * TIMERS: drop workaround getOldDeactivTimer - 'Search for old and deactivated Timers and delete this' cleanup etc/xxvd.cfg.example, skin.cfg rdisplay: add input field for start time
l---------skins/deltab/images/recover.gif1
l---------skins/deltab/images/recover.png1
-rw-r--r--skins/deltab/rdisplay.tmpl115
-rw-r--r--skins/deltab/rlist.tmpl12
-rw-r--r--skins/deltab/skin.cfg3
-rw-r--r--skins/deltab/skin.cfg.default3
-rw-r--r--skins/stone/rdisplay.tmpl103
-rw-r--r--skins/stone/rlist.tmpl10
-rw-r--r--skins/stone/skin.cfg3
-rw-r--r--skins/stone/skin.cfg.default1
-rw-r--r--skins/stone_flat/rdisplay.tmpl113
-rw-r--r--skins/stone_flat/rlist.tmpl10
-rw-r--r--skins/stone_flat/skin.cfg1
-rw-r--r--skins/stone_flat/skin.cfg.default1
14 files changed, 226 insertions, 151 deletions
diff --git a/skins/deltab/images/recover.gif b/skins/deltab/images/recover.gif
new file mode 120000
index 0000000..aa0bd41
--- /dev/null
+++ b/skins/deltab/images/recover.gif
@@ -0,0 +1 @@
+../../stone/images/recover.gif \ No newline at end of file
diff --git a/skins/deltab/images/recover.png b/skins/deltab/images/recover.png
new file mode 120000
index 0000000..72ee109
--- /dev/null
+++ b/skins/deltab/images/recover.png
@@ -0,0 +1 @@
+../../stone/images/recover.png \ No newline at end of file
diff --git a/skins/deltab/rdisplay.tmpl b/skins/deltab/rdisplay.tmpl
index 2da9f5d..e253b22 100644
--- a/skins/deltab/rdisplay.tmpl
+++ b/skins/deltab/rdisplay.tmpl
@@ -1,16 +1,36 @@
<!-- rdisplay -->
-<div id="body">
<?% USE date %?>
<?% title = data.Title %?>
<?% subtitle = data.SubTitle %?>
<?% id = data.RecordId %?>
+<?% allowplay = 1 IF allow('rplay') or allow('playrecord') %?>
+
+
+<script language="javascript" type="text/javascript">
+<!--
+ function setstart(wert) {
+ document.forms.offset.start.value = wert;
+ }
+ function playstart(cmd,parent) {
+ var url = '?cmd='+cmd + '&data=<?% id %?>&__start=' + document.forms.offset.start.value;
+ if(parent) {
+ top.location.href = url;
+ } else {
+ location.href = url;
+ }
+ }
+-->
+</script>
+
+<div id="body">
+<?% ######################################################################## %?>
+<?% BLOCK hfs # d in Sekunden %?>
+ <?% d div 3600 %?>:<?% d div 60 mod 60 | format('%02d') %?>:<?% d mod 60 | format('%02d') %?>
+<?% END %?>
<?% ######################################################################## %?>
<?% BLOCK dur # d in Sekunden %?>
<?% IF d > 1 %?>
- <?% Stunden = d div 3600 %?>
- <?% Minuten = d div 60 mod 60 %?>
- <?% Sekunden = d mod 60 %?>
- <br />Dauer: <?% Stunden div 1 %?>:<?% Minuten | format('%02d') %?>:<?% Sekunden | format('%02d') %?>
+ <br /><?% gettext("Duration") %?>: <?% PROCESS hfs %?>
<?% END %?>
<?% END %?>
<?% ######################################################################## %?>
@@ -29,9 +49,17 @@
<table summary="">
<tr>
<td>
- <?% FOREACH bild = files %?>
- <img class="recorddetails" src="<?% bild %?>" alt="" />
- <?% IF (loop.count) mod 4 == 0 && loop.count != loop.size %?>
+ <?% FOREACH f = files %?>
+ <?% i = f.split('/').-1 %?>
+ <?% x = ( i.split('\.').0 ) / 25 %?>
+ <?% IF allowplay %?>
+ <a href="javascript:setstart('<?% PROCESS hfs d=x %?>')" >
+ <?% END %?>
+ <img class="recorddetails" src="<?% f %?>" alt="" title="<?% PROCESS hfs d=x %?>" />
+ <?% IF allowplay %?>
+ </a>
+ <?% END %?>
+ <?% IF (loop.count) mod 5 == 0 && loop.count != loop.size %?>
</td>
</tr>
<tr>
@@ -67,7 +95,13 @@
Stunden = c div 3600;
Minuten = c div 60 mod 60 -%?>
<td width="<?% offset = (c % 3600 ? 1 : 2);(percent - offset) div 1 %?>" align='right'>
- <?% Stunden | format('%02d') %?>:<?% Minuten | format('%02d') %?>
+<?% IF allowplay %?>
+ <a href="javascript:setstart('<?% PROCESS hfs d=c %?>')" >
+<?% END %?>
+ <?% Stunden %?>:<?% Minuten | format('%02d') %?>
+<?% IF allowplay %?>
+ </a>
+<?% END %?>
</td>
<?% END %?>
</tr>
@@ -181,43 +215,10 @@
<!-- ###### Seite ###### -->
<div id="sidebar">
<p class="section"><?% gettext("Recordings",20) %?></p>
+ <form name='offset' method='get' action="">
<p>
<a href="javascript:back()"><img src="images/back.<?% global.imagetyp %?>" alt="" title="<?% gettext("Back",20) %?>" /></a>&nbsp;
<a href="javascript:back()"><?% gettext("Back",20) %?></a><br />
-<?% IF global.playbackmode == 0 %?>
- <?% IF allow('stream') %?>
- <a href="?cmd=stream&amp;data=<?% id %?>">
- <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
- </a>
- &nbsp;
- <a href="?cmd=stream&amp;data=<?% id %?>">
- <?% gettext("Watch recording",20) %?>
- </a>
- <br />
- <?% END %?>
-<?% ELSIF global.playbackmode == 1 %?>
- <?% IF allow('playrecord') %?>
- <a href="?cmd=playrecord&amp;data=<?% id %?>">
- <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
- </a>
- &nbsp;
- <a href="?cmd=playrecord&amp;data=<?% id %?>">
- <?% gettext("Watch recording",20) %?>
- </a>
- <br />
- <?% END %?>
-<?% ELSIF global.playbackmode == 2 %?>
- <?% IF allow('rplay') %?>
- <a href="?cmd=rplay&amp;data=<?% id %?>">
- <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
- </a>
- &nbsp;
- <a href="?cmd=rplay&amp;data=<?% id %?>">
- <?% gettext("Watch recording",20) %?>
- </a>
- <br />
- <?% END %?>
-<?% END %?>
<?% IF allow( 'rcut' ) %?>
<a href="?cmd=rcut&amp;data=<?% id %?>">
<img src="images/cut.<?% global.imagetyp %?>" alt="" title="<?% gettext("Cut recording") %?>" />
@@ -263,6 +264,32 @@
<a target="_blank" href="http://www.ofdb.de/view.php?page=suchergebnis&Kat=Titel&SText=<?% quest %?>">
<?% gettext("Search with OFDb") %?>
</a>
- </p>
+ <br />
+ <br />
+
+ <?% IF allow('rplay') %?>
+ <a href="javascript:playstart('rplay')" >
+ <img src="images/watch.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recordingin VDR") %?>" />
+ </a>
+ &nbsp;
+ <a href="javascript:playstart('rplay')" >
+ <?% gettext("Watch recording in VDR",15) %?>
+ </a>
+ <br />
+ <?% END %?>
+ <?% IF allow('playrecord') %?>
+ <a href="javascript:playstart('playrecord')" >
+ <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
+ </a>
+ &nbsp;
+ <a href="javascript:playstart('playrecord')" >
+ <?% gettext("Watch recording",20) %?>
+ </a>
+ <br />
+ <?% END %?>
+ <?% IF allowplay %?>
+ <input type="text" name="start" value="00:00:00.0" />
+ <?% END %?> </p>
+ </form>
</div>
<?% global.sidebar = 1 %?>
diff --git a/skins/deltab/rlist.tmpl b/skins/deltab/rlist.tmpl
index 81dc8f0..96d6f74 100644
--- a/skins/deltab/rlist.tmpl
+++ b/skins/deltab/rlist.tmpl
@@ -95,13 +95,7 @@
<?% ######################################################################## %?>
<?% BLOCK RowButtons %?>
<?% INCLUDE widgets/tooltip.inc cmd="rdisplay" linkid=id ttp_offset=-400 %?>
- <?% IF global.playbackmode == 0 %?>
- <?% IF allow('stream') %?>
- <a href="?cmd=stream&amp;data=<?% id %?>">
- <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
- </a>
- <?% END %?>
- <?% ELSIF global.playbackmode == 1 %?>
+ <?% IF global.playbackmode == 1 %?>
<?% IF allow('playrecord') %?>
<a href="?cmd=playrecord&amp;data=<?% id %?>">
<img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
@@ -110,7 +104,7 @@
<?% ELSIF global.playbackmode == 2 %?>
<?% IF allow('rplay') %?>
<a href="?cmd=rplay&amp;data=<?% id %?>">
- <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
+ <img src="images/watch.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording in VDR") %?>" />
</a>
<?% END %?>
<?% END %?>
@@ -242,10 +236,12 @@
<?% IF allow('rupdate') %?>
<a href="?cmd=rupdate"><img src="images/refresh.<?% global.imagetyp %?>" alt="Aktualisieren" title="Aktualisieren" /></a>&nbsp;
<a href="?cmd=rupdate"><?% gettext("Update recordings",20) %?></a>
+ <br />
<?% END %?>
<?% IF allow('rrecover') %?>
<a title="<?% gettext("Recover deleted recordings") %?>" href="?cmd=rrecover"><img src="images/recover.<?% global.imagetyp %?>" alt="" /></a>&nbsp;
<a title="<?% gettext("Recover deleted recordings") %?>" href="?cmd=rrecover"><?% gettext("Recover deleted recordings",20) %?></a>
+ <br />
<?% END %?>
<?% ELSE %?>
<?% directorys = browse.split('~') %?>
diff --git a/skins/deltab/skin.cfg b/skins/deltab/skin.cfg
index 0c0aaac..b508f70 100644
--- a/skins/deltab/skin.cfg
+++ b/skins/deltab/skin.cfg
@@ -2,9 +2,6 @@
<?% # 0 = Show/1 = Hide Description on program,now,search %?>
<?% SET global.hideDescription = 0 %?>
<?% ######################################################################## %?>
-<?% # 0 = Stream recording with ffmpeg %?>
<?% # 1 = Stream recording with Samba/NFS %?>
<?% # 2 = Start playback with SVDRP %?>
<?% SET global.playbackmode = 2 %?>
-
-
diff --git a/skins/deltab/skin.cfg.default b/skins/deltab/skin.cfg.default
index 0c0aaac..b508f70 100644
--- a/skins/deltab/skin.cfg.default
+++ b/skins/deltab/skin.cfg.default
@@ -2,9 +2,6 @@
<?% # 0 = Show/1 = Hide Description on program,now,search %?>
<?% SET global.hideDescription = 0 %?>
<?% ######################################################################## %?>
-<?% # 0 = Stream recording with ffmpeg %?>
<?% # 1 = Stream recording with Samba/NFS %?>
<?% # 2 = Start playback with SVDRP %?>
<?% SET global.playbackmode = 2 %?>
-
-
diff --git a/skins/stone/rdisplay.tmpl b/skins/stone/rdisplay.tmpl
index 1ab5929..d101c84 100644
--- a/skins/stone/rdisplay.tmpl
+++ b/skins/stone/rdisplay.tmpl
@@ -1,4 +1,10 @@
<!-- rdisplay -->
+<?% USE date %?>
+<?% title = data.Title %?>
+<?% subtitle = data.SubTitle %?>
+<?% id = data.RecordId %?>
+<?% allowplay = 1 IF allow('rplay') or allow('playrecord') %?>
+
<?%- IF data.Type == 'RADIO';
files = "images/audio.${global.imagetyp}";
ELSIF param.previews.size <= 0;
@@ -9,25 +15,37 @@
-%?>
<?% IF ! global.bodyinc.defined;global.bodyinc = 1 %?>
-<?% IF files.size > 3 %?>
<script language="javascript" type="text/javascript">
<!--
- window.onload = initslide;
+ var pics = <?% files.size %?>;
+ if( pics > 3) {
+ window.onload = initslide;
+ }
+ function setstart(wert) {
+ document.forms.offset.start.value = wert;
+ }
+ function playstart(cmd,parent) {
+ var url = '?cmd='+cmd + '&data=<?% id %?>&__start=' + document.forms.offset.start.value;
+ if(parent) {
+ top.location.href = url;
+ } else {
+ location.href = url;
+ }
+ }
-->
</script>
-<?% END %?>
<body class="hilfsframed">
<div>
<?% END %?>
-<?% USE date %?>
-<?% title=data.Title;subtitle=data.SubTitle %?>
+
+<?% ######################################################################## %?>
+<?% BLOCK hfs # d in Sekunden %?>
+ <?% d div 3600 %?>:<?% d div 60 mod 60 | format('%02d') %?>:<?% d mod 60 | format('%02d') %?>
+<?% END %?>
<?% ######################################################################## %?>
<?% BLOCK dur # d in Sekunden %?>
<?% IF d > 1 %?>
- <?% Stunden = d div 3600 %?>
- <?% Minuten = d div 60 mod 60 %?>
- <?% Sekunden = d mod 60 %?>
- <br /><?% gettext("Duration") %?>: <?% Stunden div 1 %?>:<?% Minuten | format('%02d') %?>:<?% Sekunden | format('%02d') %?>
+ <br /><?% gettext("Duration") %?>: <?% PROCESS hfs %?>
<?% END %?>
<?% END %?>
<?% ######################################################################## %?>
@@ -39,8 +57,16 @@
<div id="slideright"><img src="images/forward.<?% global.imagetyp %?>" title="<?% gettext("Next") %?>" alt="" /></div>
<?% END %?>
<div id="slidelist" style="left:<?% IF files.size <= 3 %?><?% 280 - (160 * ( files.size / 2 ) ) %?><?% ELSE %?>0<?% END %?>px; width:<?% files.size * 200 %?>px;" >
- <?% FOREACH f = files %?>
- <img class="recorddetails" src="<?% f %?>" alt="" />
+ <?% FOREACH f = files %?>
+ <?% i = f.split('/').-1 %?>
+ <?% x = ( i.split('\.').0 ) / 25 %?>
+ <?% IF allowplay %?>
+ <a href="javascript:setstart('<?% PROCESS hfs d=x %?>')" >
+ <?% END %?>
+ <img class="recorddetails" src="<?% f %?>" alt="" title="<?% PROCESS hfs d=x %?>" />
+ <?% IF allowplay %?>
+ </a>
+ <?% END %?>
<?% END %?>
<div id="slideend"></div>
</div>
@@ -51,32 +77,14 @@
<?% quest=data.Title;IF data.SubTitle.length > 0;quest=data.SubTitle;END %?>
<?% ######################################################################## %?>
<?% BLOCK RowButtons %?>
-<div align="right">
+<form name="offset" method="get" action="">
+<div align="right" style="white-space: nowrap">
<a target="_blank" href="http://german.imdb.com/find?s=tt&amp;site=aka&amp;q=<?% quest %?>">
<img src="images/imdb.<?% global.imagetyp %?>" title="<?% gettext("Search with IMDb") %?>" alt="IMDb" />
</a>
<a target="_blank" href="http://www.ofdb.de/view.php?page=suchergebnis&Kat=Titel&SText=<?% quest %?>">
<img src="images/ofdb.<?% global.imagetyp %?>" title="<?% gettext("Search with OFDb") %?>" alt="OFDb" />
</a>
- <?% IF global.playbackmode == 0 %?>
- <?% IF allow('stream') %?>
- <a href="?cmd=stream&amp;data=<?% id %?>">
- <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
- </a>
- <?% END %?>
- <?% ELSIF global.playbackmode == 1 %?>
- <?% IF allow('playrecord') %?>
- <a href="?cmd=playrecord&amp;data=<?% id %?>">
- <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
- </a>
- <?% END %?>
- <?% ELSIF global.playbackmode == 2 %?>
- <?% IF allow('rplay') %?>
- <a href="?cmd=rplay&amp;data=<?% id %?>">
- <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
- </a>
- <?% END %?>
- <?% END %?>
<?% IF allow('rcut') %?>
<a href="?cmd=rcut&amp;data=<?% id %?>">
<img src="images/cut.<?% global.imagetyp %?>" alt="" title="<?% gettext("Cut recording") %?>" />
@@ -92,11 +100,26 @@
<img src="images/delete.<?% global.imagetyp %?>" alt="" title="<?% gettext("Delete recording") %?>" />
</a>
<?% END %?>
+ &nbsp;
+ <?% IF allow('rplay') %?>
+ <a href="javascript:playstart('rplay',0)" >
+ <img src="images/watch.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording in VDR") %?>" />
+ </a>
+ <?% END %?>
+ <?% IF allow('playrecord') %?>
+ <a href="javascript:playstart('playrecord',1)" >
+ <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
+ </a>
+ <?% END %?>
+ <?% IF allowplay %?>
+ <input style="width:60px;" size="10" type="text" name="start" value="00:00:00.0" />
+ <?% END %?>
</div>
+</form>
<?% END %?>
<?% ######################################################################## %?>
<?% BLOCK marks # (c) xpix %?>
- <?% width = 450 #data.Duration > 7200 ? 600 : 500 %?>
+ <?% width = 500 #data.Duration > 7200 ? 600 : 500 %?>
<table width="<?% width %?>" align="center" summary="">
<tr>
<?%- c = 0;
@@ -118,7 +141,15 @@
Stunden = c div 3600;
Minuten = c div 60 mod 60 -%?>
<td width="<?% offset = (c % 3600 ? 1 : 2);(percent - offset) div 1 %?>" align='right'>
- <font size='1'><?% Stunden | format('%02d') %?>:<?% Minuten | format('%02d') %?></font>
+ <font size='1'>
+<?% IF allowplay %?>
+ <a href="javascript:setstart('<?% PROCESS hfs d=c %?>')" >
+<?% END %?>
+ <?% Stunden %?>:<?% Minuten | format('%02d') %?>
+<?% IF allowplay %?>
+ </a>
+<?% END %?>
+ </font>
</td>
<?% END %?>
</tr>
@@ -155,7 +186,7 @@
IF data.Duration > secold;
class = (class == 'marksright2' ? 'marksright1' : 'marksright2');
percent = ((data.Duration - secold) / data.Duration) * width;
- -%?><img class="<?% class %?>" src="images/blank.gif" width="<?% ( percent - 1 ) div 1 %?>" height="12" title="<?% (c < 0 ? "0:00:00.00" : ml.$c) %?> - <?% data.Duration div 3600 %?>:<?% data.Duration div 60 mod 60 | format('%02d') %?>:<?% data.Duration mod 60 | format('%02d') %?>" />
+ -%?><img class="<?% class %?>" src="images/blank.gif" width="<?% ( percent - 1 ) div 1 %?>" height="12" title="<?% (c < 0 ? "0:00:00.00" : ml.$c) %?> - "<?% PROCESS hfs d=data.Duration %?>" />
<?% END %?>
<?% ELSE %?>
<img class="marksleft" src="images/blank.gif" width="0" height="12" /><img class="marksright2" src="images/blank.gif" width="<?% width %?>" height="12" />
@@ -203,7 +234,7 @@
<select name='data' onchange="di('?cmd=rconvert&amp;data=',this.form.data.options[this.form.data.options.selectedIndex].value)">
<option value='0'><?% gettext("Choose a command to edit this recording ...") %?></option>
<?% FOREACH cmd = param.reccmds %?>
- <option value='<?% loop.count %?>_<?% data.RecordId %?>'><?% cmd.split(':').first %?></option>
+ <option value='<?% loop.count %?>_<?% id %?>'><?% cmd.split(':').first %?></option>
<?% END %?>
</select>
</form>
@@ -229,7 +260,7 @@
<?% gettext('Priority') %?>&nbsp;:&nbsp;<?% data.Prio %?>
</td>
<td class="push">
- <?% PROCESS RowButtons id=data.RecordId%?>
+ <?% PROCESS RowButtons %?>
</td>
</tr>
</table>
diff --git a/skins/stone/rlist.tmpl b/skins/stone/rlist.tmpl
index 1002a8b..f22beaa 100644
--- a/skins/stone/rlist.tmpl
+++ b/skins/stone/rlist.tmpl
@@ -76,13 +76,7 @@
<?% END %?>
<?% ######################################################################## %?>
<?% BLOCK RowButtons %?>
- <?% IF global.playbackmode == 0 %?>
- <?% IF allow('stream') %?>
- <a href="javascript:popup('stream','<?% id %?>',620,670,1)">
- <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
- </a>
- <?% END %?>
- <?% ELSIF global.playbackmode == 1 %?>
+ <?% IF global.playbackmode == 1 %?>
<?% IF allow('playrecord') %?>
<a href="?cmd=playrecord&amp;data=<?% id %?>">
<img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
@@ -91,7 +85,7 @@
<?% ELSIF global.playbackmode == 2 %?>
<?% IF allow('rplay') %?>
<a href="javascript:popup('rplay','<?% id %?>',620,670,1)">
- <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
+ <img src="images/watch.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording in VDR") %?>" />
</a>
<?% END %?>
<?% END %?>
diff --git a/skins/stone/skin.cfg b/skins/stone/skin.cfg
index d6bf351..0682ed0 100644
--- a/skins/stone/skin.cfg
+++ b/skins/stone/skin.cfg
@@ -2,8 +2,7 @@
<?% # 0 = Show/1 = Hide Description on program,now,search %?>
<?% SET global.hideDescription = 0 %?>
<?% ######################################################################## %?>
-<?% # 0 = Stream recording with ffmpeg %?>
<?% # 1 = Stream recording with Samba/NFS %?>
<?% # 2 = Start playback with SVDRP %?>
-<?% SET global.playbackmode = 2 %?>
+<?% SET global.playbackmode = 1 %?>
diff --git a/skins/stone/skin.cfg.default b/skins/stone/skin.cfg.default
index 32e24b9..0682ed0 100644
--- a/skins/stone/skin.cfg.default
+++ b/skins/stone/skin.cfg.default
@@ -2,7 +2,6 @@
<?% # 0 = Show/1 = Hide Description on program,now,search %?>
<?% SET global.hideDescription = 0 %?>
<?% ######################################################################## %?>
-<?% # 0 = Stream recording with ffmpeg %?>
<?% # 1 = Stream recording with Samba/NFS %?>
<?% # 2 = Start playback with SVDRP %?>
<?% SET global.playbackmode = 1 %?>
diff --git a/skins/stone_flat/rdisplay.tmpl b/skins/stone_flat/rdisplay.tmpl
index e9c9b7f..0a44df8 100644
--- a/skins/stone_flat/rdisplay.tmpl
+++ b/skins/stone_flat/rdisplay.tmpl
@@ -1,4 +1,10 @@
<!-- rdisplay -->
+<?% USE date %?>
+<?% title = data.Title %?>
+<?% subtitle = data.SubTitle %?>
+<?% id = data.RecordId %?>
+<?% allowplay = 1 IF allow('rplay') or allow('playrecord') %?>
+
<?%- IF data.Type == 'RADIO';
files = "images/audio.${global.imagetyp}";
ELSIF param.previews.size <= 0;
@@ -9,28 +15,50 @@
-%?>
<?% IF ! global.bodyinc.defined;global.bodyinc = 1 %?>
-<?% IF files.size > 3 %?>
<script language="javascript" type="text/javascript">
<!--
- window.onload = initslide;
+ var pics = <?% files.size %?>;
+ if( pics > 3) {
+ window.onload = initslide;
+ }
+ function setstart(wert) {
+ document.forms.offset.start.value = wert;
+ }
+ function playstart(cmd,parent) {
+ var url = '?cmd='+cmd + '&data=<?% id %?>&__start=' + document.forms.offset.start.value;
+ if(parent) {
+ top.location.href = url;
+ } else {
+ location.href = url;
+ }
+ }
-->
</script>
-<?% END %?>
<body class="hilfsframed">
<div>
<?% END %?>
-<?% USE date %?>
-<?% title=data.Title;subtitle=data.SubTitle %?>
+
+<?% ######################################################################## %?>
+<?% BLOCK hfs # d in Sekunden %?>
+ <?% d div 3600 %?>:<?% d div 60 mod 60 | format('%02d') %?>:<?% d mod 60 | format('%02d') %?>
+<?% END %?>
<?% ######################################################################## %?>
<?% BLOCK dur # d in Sekunden %?>
<?% IF d > 1 %?>
- <?% Stunden = d div 3600 %?>
- <?% Minuten = d div 60 mod 60 %?>
- <?% Sekunden = d mod 60 %?>
- <br /><?% gettext("Duration") %?>: <?% Stunden div 1 %?>:<?% Minuten | format('%02d') %?>:<?% Sekunden | format('%02d') %?>
+ <br /><?% gettext("Duration") %?>: <?% PROCESS hfs %?>
<?% END %?>
<?% END %?>
<?% ######################################################################## %?>
+ <?% IF global.playbackmode == 1 %?>
+ <?% IF allow('playrecord') %?>
+ <?% playbackcmd = 'playrecord' %?>
+ <?% END %?>
+ <?% ELSIF global.playbackmode == 2 %?>
+ <?% IF allow('rplay') %?>
+ <?% playbackcmd = 'rplay' %?>
+ <?% END %?>
+ <?% END %?>
+<?% ######################################################################## %?>
<?% BLOCK image %?>
<?% IF files.size %?>
<div id="slideframe">
@@ -39,8 +67,16 @@
<div id="slideright"><img src="images/forward.<?% global.imagetyp %?>" title="<?% gettext("Next") %?>" alt="" /></div>
<?% END %?>
<div id="slidelist" style="left:<?% IF files.size <= 3 %?><?% 280 - (160 * ( files.size / 2 ) ) %?><?% ELSE %?>0<?% END %?>px; width:<?% files.size * 200 %?>px;" >
- <?% FOREACH f = files %?>
- <img class="recorddetails" src="<?% f %?>" alt="" />
+ <?% FOREACH f = files %?>
+ <?% i = f.split('/').-1 %?>
+ <?% x = ( i.split('\.').0 ) / 25 %?>
+ <?% IF allowplay %?>
+ <a href="javascript:setstart('<?% PROCESS hfs d=x %?>')" >
+ <?% END %?>
+ <img class="recorddetails" src="<?% f %?>" alt="" title="<?% PROCESS hfs d=x %?>" />
+ <?% IF allowplay %?>
+ </a>
+ <?% END %?>
<?% END %?>
<div id="slideend"></div>
</div>
@@ -51,32 +87,14 @@
<?% quest=data.Title;IF data.SubTitle.length > 0;quest=data.SubTitle;END %?>
<?% ######################################################################## %?>
<?% BLOCK RowButtons %?>
-<div align="right">
+<form name="offset" method="get" action="">
+<div align="right" style="white-space: nowrap">
<a target="_blank" href="http://german.imdb.com/find?s=tt&amp;site=aka&amp;q=<?% quest %?>">
<img src="images/imdb.<?% global.imagetyp %?>" title="<?% gettext("Search with IMDb") %?>" alt="IMDb" />
</a>
- <a target="_blank" href="http://www.ofdb.de/view.php?page=suchergebnis&Kat=Titel&SText=<?% quest %?>">
+ <a target="_blank" href="http://www.ofdb.de/view.php?page=suchergebnis&Kat=Titel&SText=<?% quest %?>">
<img src="images/ofdb.<?% global.imagetyp %?>" title="<?% gettext("Search with OFDb") %?>" alt="OFDb" />
</a>
- <?% IF global.playbackmode == 0 %?>
- <?% IF allow('stream') %?>
- <a href="?cmd=stream&amp;data=<?% id %?>">
- <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
- </a>
- <?% END %?>
- <?% ELSIF global.playbackmode == 1 %?>
- <?% IF allow('playrecord') %?>
- <a href="?cmd=playrecord&amp;data=<?% id %?>">
- <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
- </a>
- <?% END %?>
- <?% ELSIF global.playbackmode == 2 %?>
- <?% IF allow('rplay') %?>
- <a href="?cmd=rplay&amp;data=<?% id %?>">
- <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
- </a>
- <?% END %?>
- <?% END %?>
<?% IF allow('rcut') %?>
<a href="?cmd=rcut&amp;data=<?% id %?>">
<img src="images/cut.<?% global.imagetyp %?>" alt="" title="<?% gettext("Cut recording") %?>" />
@@ -88,11 +106,26 @@
</a>
<?% END %?>
<?% IF allow('rdelete') %?>
- <a href="javascript:sure('<?% gettext("Do you want to delete the following recordings?") %?> : \'<?% escape(title) %?>\' ?','?cmd=rdelete&amp;data=<?% id %?>')">
+ <a href="javascript:sure('<?% gettext("Do you want to delete the following recordings?") %?>','<?% escape(title) %?><?% IF subtitle.length > 0 %?>~<?% escape(subtitle) %?><?% END %?>','rdelete','<?% id %?>')">
<img src="images/delete.<?% global.imagetyp %?>" alt="" title="<?% gettext("Delete recording") %?>" />
</a>
<?% END %?>
+ &nbsp;
+ <?% IF allow('rplay') %?>
+ <a href="javascript:playstart('rplay',0)" >
+ <img src="images/watch.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording in VDR") %?>" />
+ </a>
+ <?% END %?>
+ <?% IF allow('playrecord') %?>
+ <a href="javascript:playstart('playrecord',1)" >
+ <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
+ </a>
+ <?% END %?>
+ <?% IF allowplay %?>
+ <input style="width:60px;" size="10" type="text" name="start" value="00:00:00.0" />
+ <?% END %?>
</div>
+</form>
<?% END %?>
<?% ######################################################################## %?>
<?% BLOCK marks # (c) xpix %?>
@@ -118,7 +151,15 @@
Stunden = c div 3600;
Minuten = c div 60 mod 60 -%?>
<td width="<?% offset = (c % 3600 ? 1 : 2);(percent - offset) div 1 %?>" align='right'>
- <font size='1'><?% Stunden | format('%02d') %?>:<?% Minuten | format('%02d') %?></font>
+ <font size='1'>
+<?% IF allowplay %?>
+ <a href="javascript:setstart('<?% PROCESS hfs d=c %?>')" >
+<?% END %?>
+ <?% Stunden %?>:<?% Minuten | format('%02d') %?>
+<?% IF allowplay %?>
+ </a>
+<?% END %?>
+ </font>
</td>
<?% END %?>
</tr>
@@ -203,7 +244,7 @@
<select name='data' onchange="di('?cmd=rconvert&amp;data=',this.form.data.options[this.form.data.options.selectedIndex].value)">
<option value='0'><?% gettext("Choose a command to edit this recording ...") %?></option>
<?% FOREACH cmd = param.reccmds %?>
- <option value='<?% loop.count %?>_<?% data.RecordId %?>'><?% cmd.split(':').first %?></option>
+ <option value='<?% loop.count %?>_<?% id %?>'><?% cmd.split(':').first %?></option>
<?% END %?>
</select>
</form>
@@ -229,7 +270,7 @@
<?% gettext('Priority') %?>&nbsp;:&nbsp;<?% data.Prio %?>
</td>
<td class="push">
- <?% PROCESS RowButtons id=data.RecordId%?>
+ <?% PROCESS RowButtons %?>
</td>
</tr>
</table>
diff --git a/skins/stone_flat/rlist.tmpl b/skins/stone_flat/rlist.tmpl
index 7099043..ad70c04 100644
--- a/skins/stone_flat/rlist.tmpl
+++ b/skins/stone_flat/rlist.tmpl
@@ -78,13 +78,7 @@
<?% END %?>
<?% ######################################################################## %?>
<?% BLOCK RowButtons %?>
- <?% IF global.playbackmode == 0 %?>
- <?% IF allow('stream') %?>
- <a href="javascript:popup('stream','<?% id %?>',620,670,0)">
- <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
- </a>
- <?% END %?>
- <?% ELSIF global.playbackmode == 1 %?>
+ <?% IF global.playbackmode == 1 %?>
<?% IF allow('playrecord') %?>
<a href="?cmd=playrecord&amp;data=<?% id %?>">
<img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
@@ -93,7 +87,7 @@
<?% ELSIF global.playbackmode == 2 %?>
<?% IF allow('rplay') %?>
<a href="javascript:popup('rplay','<?% id %?>',620,670,0)">
- <img src="images/play.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording") %?>" />
+ <img src="images/watch.<?% global.imagetyp %?>" alt="" title="<?% gettext("Watch recording in VDR") %?>" />
</a>
<?% END %?>
<?% END %?>
diff --git a/skins/stone_flat/skin.cfg b/skins/stone_flat/skin.cfg
index d6bf351..4a5ae7c 100644
--- a/skins/stone_flat/skin.cfg
+++ b/skins/stone_flat/skin.cfg
@@ -2,7 +2,6 @@
<?% # 0 = Show/1 = Hide Description on program,now,search %?>
<?% SET global.hideDescription = 0 %?>
<?% ######################################################################## %?>
-<?% # 0 = Stream recording with ffmpeg %?>
<?% # 1 = Stream recording with Samba/NFS %?>
<?% # 2 = Start playback with SVDRP %?>
<?% SET global.playbackmode = 2 %?>
diff --git a/skins/stone_flat/skin.cfg.default b/skins/stone_flat/skin.cfg.default
index 32e24b9..0682ed0 100644
--- a/skins/stone_flat/skin.cfg.default
+++ b/skins/stone_flat/skin.cfg.default
@@ -2,7 +2,6 @@
<?% # 0 = Show/1 = Hide Description on program,now,search %?>
<?% SET global.hideDescription = 0 %?>
<?% ######################################################################## %?>
-<?% # 0 = Stream recording with ffmpeg %?>
<?% # 1 = Stream recording with Samba/NFS %?>
<?% # 2 = Start playback with SVDRP %?>
<?% SET global.playbackmode = 1 %?>