summaryrefslogtreecommitdiff
path: root/pages/ibox.ecpp
diff options
context:
space:
mode:
authorDieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>2007-05-08 22:59:40 +0000
committerDieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>2007-05-08 22:59:40 +0000
commit70f268b6fff0037cbff265cf849663755223ffed (patch)
tree26806a8fa7fe319be310ba12266c80e2b2fee34a /pages/ibox.ecpp
parent805c2d6fec9d9b88d9d3d6e4cd8dcac33d062533 (diff)
downloadvdr-plugin-live-70f268b6fff0037cbff265cf849663755223ffed.tar.gz
vdr-plugin-live-70f268b6fff0037cbff265cf849663755223ffed.tar.bz2
- Control recordings playback from Infobox
- Added button images (Buttons by skiller2k1) - Made recordings look more like schedule - Made all tables 100% width to have a common look over all pages - some cleanup in ajax xml responses - common file for xmlresponses - Added translations for recordings related strings - Javascript updates in vdr_status.js for new playback control functions - Added tasks for playback control actions
Diffstat (limited to 'pages/ibox.ecpp')
-rw-r--r--pages/ibox.ecpp65
1 files changed, 18 insertions, 47 deletions
diff --git a/pages/ibox.ecpp b/pages/ibox.ecpp
index e2b2fb8..0ed2f8c 100644
--- a/pages/ibox.ecpp
+++ b/pages/ibox.ecpp
@@ -10,6 +10,7 @@
#include "setup.h"
#include "tools.h"
#include "epg_events.h"
+#include "recordings.h"
using namespace vdrlive;
using namespace std;
@@ -30,18 +31,22 @@ bool logged_in(false);
reply.setContentType( "application/xml" );
if (cReplayControl::NowReplaying()) {
- cThreadLock RecordingsLock(&Recordings);
- cRecording *Recording = Recordings.GetByName(cReplayControl::NowReplaying());
- if (Recording) {
- const cRecordingInfo* info = Recording->Info();
+ RecordingsManagerPtr recManager = LiveRecordingsManager();
+ cRecording *recording = Recordings.GetByName(cReplayControl::NowReplaying());
+ if (recording) {
+ string name(recording->Name());
+ size_t index = name.find_last_of('~');
+ if (index != string::npos)
+ name = name.substr(index, name.length());
+ const cRecordingInfo* info = recording->Info();
if (info) {
- EpgEventPtr epgEvent(new EpgEvent("recording",
- Recording->Name(),
- info->Title() ? info->Title() : Recording->Name(),
+ EpgEventPtr epgEvent(new EpgEvent(recManager->Md5Hash(recording),
+ tr("playing recording"),
+ info->Title() ? info->Title() : name,
info->ShortText() ? info->ShortText() : "",
info->Description() ? info->Description() : "",
- Recording->start,
- Recording->start));
+ recording->start,
+ recording->start));
epgEvents.push_back(epgEvent);
}
}
@@ -124,59 +129,25 @@ bool logged_in(false);
if (prev_chan.Valid() && next_chan.Valid())
{
</%cpp>
-<& xmlresponse update=(update) type=(epg->Id()) caption=(epg->Caption()) currentTime=(epg->CurrentTime(tr("%I:%M:%S %p"))) duration=(epg->StartTime(tr("%I:%M %p")) + string(" - ") + epg->EndTime(tr("%I:%M %p"))) title=(epg->Title()) elapsed=(epg->Elapsed()) prev_chan=(prev_chan) next_chan=(next_chan) &>
+<& xmlresponse.ibox update=(update) type=(epg->Id()) caption=(epg->Caption()) currentTime=(epg->CurrentTime(tr("%I:%M:%S %p"))) duration=(epg->StartTime(tr("%I:%M %p")) + string(" - ") + epg->EndTime(tr("%I:%M %p"))) title=(epg->Title()) elapsed=(epg->Elapsed()) prev_chan=(prev_chan) next_chan=(next_chan) &>
<%cpp>
}
else if (prev_chan.Valid()) {
</%cpp>
-<& xmlresponse update=(update) type=(epg->Id()) caption=(epg->Caption()) currentTime=(epg->CurrentTime(tr("%I:%M:%S %p"))) duration=(epg->StartTime(tr("%I:%M %p")) + string(" - ") + epg->EndTime(tr("%I:%M %p"))) title=(epg->Title()) elapsed=(epg->Elapsed()) prev_chan=(prev_chan) &>
+<& xmlresponse.ibox update=(update) type=(epg->Id()) caption=(epg->Caption()) currentTime=(epg->CurrentTime(tr("%I:%M:%S %p"))) duration=(epg->StartTime(tr("%I:%M %p")) + string(" - ") + epg->EndTime(tr("%I:%M %p"))) title=(epg->Title()) elapsed=(epg->Elapsed()) prev_chan=(prev_chan) &>
<%cpp>
}
else if (next_chan.Valid()) {
</%cpp>
-<& xmlresponse update=(update) type=(epg->Id()) caption=(epg->Caption()) currentTime=(epg->CurrentTime(tr("%I:%M:%S %p"))) duration=(epg->StartTime(tr("%I:%M %p")) + string(" - ") + epg->EndTime(tr("%I:%M %p"))) title=(epg->Title()) elapsed=(epg->Elapsed()) next_chan=(next_chan) &>
+<& xmlresponse.ibox update=(update) type=(epg->Id()) caption=(epg->Caption()) currentTime=(epg->CurrentTime(tr("%I:%M:%S %p"))) duration=(epg->StartTime(tr("%I:%M %p")) + string(" - ") + epg->EndTime(tr("%I:%M %p"))) title=(epg->Title()) elapsed=(epg->Elapsed()) next_chan=(next_chan) &>
<%cpp>
}
else {
</%cpp>
-<& xmlresponse update=(update) type=(epg->Id()) caption=(epg->Caption()) currentTime=(epg->CurrentTime(tr("%I:%M:%S %p"))) duration=(epg->StartTime(tr("%I:%M %p")) + string(" - ") + epg->EndTime(tr("%I:%M %p"))) title=(epg->Title()) elapsed=(epg->Elapsed()) &>
+<& xmlresponse.ibox update=(update) type=(epg->Id()) caption=(epg->Caption()) currentTime=(epg->CurrentTime(tr("%I:%M:%S %p"))) duration=(epg->StartTime(tr("%I:%M %p")) + string(" - ") + epg->EndTime(tr("%I:%M %p"))) title=(epg->Title()) elapsed=(epg->Elapsed()) &>
<%cpp>
}
break;
}
</%cpp>
-<%def xmlresponse>
-<%args>
- int update;
- string type;
- string currentTime;
- string caption;
- string title;
- string duration;
- int elapsed;
- string prev_chan;
- string next_chan;
-</%args>
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<service>
- <request name="ibox">
- <param name="update"><$ update $></param>
- </request>
- <response>1</response>
- <error></error>
- <values>
- <update><$ update $></update>
- <epginfo>
- <type><$ type $></type>
- <caption><$ caption $></caption>
- <timenow><$ currentTime $></timenow>
- <name><$ title $></name>
- <duration><$ duration $></duration>
- <elapsed><$ elapsed $></elapsed>
- <nextchan><$ next_chan $></nextchan>
- <prevchan><$ prev_chan $></prevchan>
- </epginfo>
- </values>
-</service>
-</%def>