diff --git a/lib/timerdclient/timerdclient.cpp b/lib/timerdclient/timerdclient.cpp
index 2b6dd2863..243052c78 100644
--- a/lib/timerdclient/timerdclient.cpp
+++ b/lib/timerdclient/timerdclient.cpp
@@ -345,6 +345,7 @@ int CTimerdClient::addTimerEvent( CTimerd::CTimerEventTypes evType, void* data,
tri.epg_starttime = ri->epg_starttime;
tri.epgID = ri->epgID;
tri.recordingSafety = ri->recordingSafety;
+ tri.autoAdjustToEPG = ri->autoAdjustToEPG;
tri.channel_ci = ri->channel_ci; //NI
strncpy(tri.recordingDir, ri->recordingDir, RECORD_DIR_MAXLEN-1);
length = sizeof( CTimerd::TransferRecordingInfo);
diff --git a/lib/timerdclient/timerdclient.h b/lib/timerdclient/timerdclient.h
index acd5cedf5..40ee5a06f 100644
--- a/lib/timerdclient/timerdclient.h
+++ b/lib/timerdclient/timerdclient.h
@@ -111,7 +111,7 @@ class CTimerdClient:private CBasicClient
// adds new record timer event
int addRecordTimerEvent(const t_channel_id channel_id, time_t alarmtime, time_t stoptime,
uint64_t epgID=0, time_t epg_starttime=0, time_t announcetime = 0,
- unsigned char apids=TIMERD_APIDS_STD, bool safety=false,std::string recDir="", bool forceAdd=true, bool channel_ci=false) //NI
+ unsigned char apids=TIMERD_APIDS_STD, bool safety=false,bool autoAdjust=false, std::string recDir="", bool forceAdd=true, bool channel_ci=false) //NI
{
CTimerd::RecordingInfo eventInfo;
eventInfo.channel_id = channel_id;
@@ -119,6 +119,7 @@ class CTimerdClient:private CBasicClient
eventInfo.epg_starttime = epg_starttime;
eventInfo.apids = apids;
eventInfo.recordingSafety = safety;
+ eventInfo.autoAdjustToEPG = autoAdjust;
eventInfo.channel_ci = channel_ci; //NI
strncpy(eventInfo.recordingDir, recDir.c_str(), RECORD_DIR_MAXLEN);
return addTimerEvent(CTimerd::TIMER_RECORD, &eventInfo, announcetime, alarmtime, stoptime,CTimerd::TIMERREPEAT_ONCE, 0,forceAdd);
@@ -133,6 +134,7 @@ class CTimerdClient:private CBasicClient
eventInfo.epg_starttime = epg_starttime;
eventInfo.apids = apids;
eventInfo.recordingSafety = false;
+ eventInfo.autoAdjustToEPG = false;
return addTimerEvent(CTimerd::TIMER_IMMEDIATE_RECORD, &eventInfo, 0, alarmtime, stoptime);
};
diff --git a/lib/timerdclient/timerdtypes.h b/lib/timerdclient/timerdtypes.h
index 8c7ab2432..56e24651a 100644
--- a/lib/timerdclient/timerdtypes.h
+++ b/lib/timerdclient/timerdtypes.h
@@ -87,6 +87,7 @@ class CTimerd
t_channel_id channel_id;
unsigned char apids;
bool recordingSafety;
+ bool autoAdjustToEPG;
bool channel_ci; //NI - channel is member of CI bouquet?
};
@@ -97,6 +98,7 @@ class CTimerd
t_channel_id channel_id;
unsigned char apids;
bool recordingSafety;
+ bool autoAdjustToEPG;
bool channel_ci; //NI - channel is member of CI bouquet?
};
@@ -118,6 +120,7 @@ class CTimerd
epgID = e.epgID;
epg_starttime = e.epg_starttime;
recordingSafety = e.recordingSafety;
+ autoAdjustToEPG = e.autoAdjustToEPG;
channel_ci = e.channel_ci; //NI
};
RecordingInfo& operator = (EventInfo& e)
@@ -127,6 +130,7 @@ class CTimerd
epgID = e.epgID;
epg_starttime = e.epg_starttime;
recordingSafety = e.recordingSafety;
+ autoAdjustToEPG = e.autoAdjustToEPG;
channel_ci = e.channel_ci; //NI
return *this;
}
diff --git a/src/gui/components/cc_detailsline.cpp b/src/gui/components/cc_detailsline.cpp
index bf2401656..95cf9cc47 100644
--- a/src/gui/components/cc_detailsline.cpp
+++ b/src/gui/components/cc_detailsline.cpp
@@ -146,6 +146,6 @@ void CComponentsDetailLine::paint(bool do_save_bg)
//so you can ensure correct applied system colors in relevant objects with unchanged instances.
void CComponentsDetailLine::syncSysColors()
{
- col_body = COL_MENUCONTENT_PLUS_6;
+ col_body = COL_MENUCONTENT_PLUS_1; //NI
col_shadow = COL_SHADOW_PLUS_0;
}
diff --git a/src/gui/components/cc_detailsline.h b/src/gui/components/cc_detailsline.h
index 37d01e4f0..3228b72b2 100644
--- a/src/gui/components/cc_detailsline.h
+++ b/src/gui/components/cc_detailsline.h
@@ -57,7 +57,7 @@ class CComponentsDetailLine : public CComponents
public:
CComponentsDetailLine( const int& x_pos = 1,const int& y_pos_top = 1, const int& y_pos_down = 1,
const int& h_mark_top_ = CC_HEIGHT_MIN , const int& h_mark_down_ = CC_HEIGHT_MIN,
- fb_pixel_t color_line = COL_MENUCONTENT_PLUS_6, fb_pixel_t color_shadow = COL_SHADOW_PLUS_0);
+ fb_pixel_t color_line = COL_MENUCONTENT_PLUS_1, fb_pixel_t color_shadow = COL_SHADOW_PLUS_0); //NI
~CComponentsDetailLine();
///set colors
diff --git a/src/gui/epgview.cpp b/src/gui/epgview.cpp
index b7c529ea1..f1e5f5058 100644
--- a/src/gui/epgview.cpp
+++ b/src/gui/epgview.cpp
@@ -1182,7 +1182,7 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start
epgData.epg_times.startzeit + epgData.epg_times.dauer,
epgData.eventID, epgData.epg_times.startzeit,
epgData.epg_times.startzeit - (ANNOUNCETIME + 120 ),
- TIMERD_APIDS_CONF, true, recDir,false) == -1)
+ TIMERD_APIDS_CONF, true, epgData.epg_times.startzeit - (ANNOUNCETIME + 120) > time(NULL), recDir, false) == -1)
{
if (askUserOnTimerConflict(epgData.epg_times.startzeit - (ANNOUNCETIME + 120),
epgData.epg_times.startzeit + epgData.epg_times.dauer))
@@ -1192,7 +1192,7 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start
epgData.epg_times.startzeit + epgData.epg_times.dauer,
epgData.eventID, epgData.epg_times.startzeit,
epgData.epg_times.startzeit - (ANNOUNCETIME + 120 ),
- TIMERD_APIDS_CONF, true, recDir,true);
+ TIMERD_APIDS_CONF, true, epgData.epg_times.startzeit - (ANNOUNCETIME + 120) > time(NULL), recDir, true);
ShowMsg(LOCALE_TIMER_EVENTRECORD_TITLE, LOCALE_TIMER_EVENTRECORD_MSG, CMessageBox::mbrBack, CMessageBox::mbBack, NEUTRINO_ICON_INFO);
timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_EPG]);
}
@@ -1282,7 +1282,7 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start
picname = imdb->getFilename(channel, epgData.eventID);
CFileHelpers fh;
- if (!fh.copyFile(imdb->posterfile.c_str(), picname.c_str(), 644))
+ if (!fh.copyFile(imdb->posterfile.c_str(), picname.c_str(), 0644))
perror( "IMDb: error copy file" );
sleep(2);
diff --git a/src/gui/followscreenings.cpp b/src/gui/followscreenings.cpp
index 30034fd56..475b8cdc4 100644
--- a/src/gui/followscreenings.cpp
+++ b/src/gui/followscreenings.cpp
@@ -111,7 +111,7 @@ int CFollowScreenings::exec(CMenuTarget* /*parent*/, const std::string & actionK
CZapitChannel * ch = CServiceManager::getInstance()->FindChannel(channel_id);
if (g_Timerd->addRecordTimerEvent(channel_id, e->startTime, e->startTime + e->duration, e->eventID,
- e->startTime, e->startTime - (ANNOUNCETIME + 120 ), apids, true, recDir, true, ch->bUseCI) == -1) { //NI
+ e->startTime, e->startTime - (ANNOUNCETIME + 120 ), apids, true, e->startTime - (ANNOUNCETIME + 120) > time(NULL), recDir, true, ch->bUseCI) == -1) { //NI
//FIXME -- no error handling, but this shouldn't happen ...
} else {
#if 0
diff --git a/src/gui/hdd_info.cpp b/src/gui/hdd_info.cpp
index f8feafe1d..ad6bfb4ea 100644
--- a/src/gui/hdd_info.cpp
+++ b/src/gui/hdd_info.cpp
@@ -128,7 +128,9 @@ int CHDDInfoMenu::exec(CMenuTarget* parent, const std::string &actionKey)
} else
doLoop = false;
}
- else if((msg == CRCInput::RC_sat) || (msg == CRCInput::RC_favorites)) {
+ else if (CNeutrinoApp::getInstance()->listModeKey(msg))
+ {
+ // do nothing
}
else
{
diff --git a/src/gui/imageinfo_ni.cpp b/src/gui/imageinfo_ni.cpp
index 36fe29a22..f5769a66b 100644
--- a/src/gui/imageinfo_ni.cpp
+++ b/src/gui/imageinfo_ni.cpp
@@ -165,7 +165,7 @@ int CImageInfoNI::exec(CMenuTarget* parent, const std::string &)
res = menu_return::RETURN_EXIT_ALL;
break;
}
- else if((msg == CRCInput::RC_sat) || (msg == CRCInput::RC_favorites)) {
+ else if (CNeutrinoApp::getInstance()->listModeKey(msg)) {
g_RCInput->postMsg (msg, 0);
res = menu_return::RETURN_EXIT_ALL;
break;
diff --git a/src/gui/infoviewer_bb.cpp b/src/gui/infoviewer_bb.cpp
index 49f7906c6..f6a04825b 100644
--- a/src/gui/infoviewer_bb.cpp
+++ b/src/gui/infoviewer_bb.cpp
@@ -1084,7 +1084,7 @@ int CInfoViewerBB::check_ecmInfo()
{
int caid = 0;
CFileHelpers fh;
- if (fh.copyFile("/tmp/ecm.info", "/tmp/ecm.info.tmp", 644)) {
+ if (fh.copyFile("/tmp/ecm.info", "/tmp/ecm.info.tmp", 0644)) {
g_InfoViewer->md5_ecmInfo = filehash((char *)"/tmp/ecm.info.tmp");
caid = parse_ecmInfo("/tmp/ecm.info.tmp");
}
diff --git a/src/gui/lcd4l.cpp b/src/gui/lcd4l.cpp
index 51b93f1c4..44cfa1a1f 100644
--- a/src/gui/lcd4l.cpp
+++ b/src/gui/lcd4l.cpp
@@ -498,8 +498,8 @@ void CLCD4l::ParseInfo(uint64_t parseID, bool newID, bool firstRun)
Service = g_Locale->getText(LOCALE_RECORDINGMENU_TIMESHIFT);
else if (CMoviePlayerGui::getInstance().p_movie_info)
{
- if (!CMoviePlayerGui::getInstance().p_movie_info->epgChannel.empty())
- Service = CMoviePlayerGui::getInstance().p_movie_info->epgChannel;
+ if (!CMoviePlayerGui::getInstance().p_movie_info->channelName.empty())
+ Service = CMoviePlayerGui::getInstance().p_movie_info->channelName;
}
if (Service.empty())
@@ -519,8 +519,8 @@ void CLCD4l::ParseInfo(uint64_t parseID, bool newID, bool firstRun)
case 3: /* play */
if (ModeTshift && CMoviePlayerGui::getInstance().p_movie_info) /* show channel-logo */
{
- if (!GetLogoName(CMoviePlayerGui::getInstance().p_movie_info->epgId,
- CMoviePlayerGui::getInstance().p_movie_info->epgChannel,
+ if (!GetLogoName(CMoviePlayerGui::getInstance().p_movie_info->channelId,
+ CMoviePlayerGui::getInstance().p_movie_info->channelName,
Logo))
Logo = ICONSDIR "/" NEUTRINO_ICON_PLAY ICONSEXT;
}
diff --git a/src/gui/moviebrowser/mb.cpp b/src/gui/moviebrowser/mb.cpp
index 852cb3ef1..4c7af09a4 100644
--- a/src/gui/moviebrowser/mb.cpp
+++ b/src/gui/moviebrowser/mb.cpp
@@ -798,7 +798,7 @@ int CMovieBrowser::exec(CMenuTarget* parent, const std::string & actionKey)
poster = m_movieSelectionHandler->file.Name.substr(0, pos);
poster += ".jpg";
CFileHelpers fh;
- if (fh.copyFile(imdb->posterfile.c_str(), poster.c_str(), 644))
+ if (fh.copyFile(imdb->posterfile.c_str(), poster.c_str(), 0644))
printf("* poster: %s\n", poster.c_str());
else
printf("* poster: copy error\n");
diff --git a/src/gui/ni_menu.cpp b/src/gui/ni_menu.cpp
index b411dd47b..5e7d7e753 100644
--- a/src/gui/ni_menu.cpp
+++ b/src/gui/ni_menu.cpp
@@ -157,7 +157,7 @@ int CNIMenu::exec(CMenuTarget* parent, const std::string &actionkey)
buffer=NULL;
CFileHelpers fhlp;
- if (fhlp.copyFile("/tmp/ecm.info", "/tmp/ecm.info.tmp", 644))
+ if (fhlp.copyFile("/tmp/ecm.info", "/tmp/ecm.info.tmp", 0644))
{
if ((fh = fopen("/tmp/ecm.info.tmp", "r")))
{
diff --git a/src/gui/timerlist.cpp b/src/gui/timerlist.cpp
index fcc76fdb4..d954370fb 100644
--- a/src/gui/timerlist.cpp
+++ b/src/gui/timerlist.cpp
@@ -316,6 +316,7 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
eventinfo.channel_id=timerNew.channel_id;
eventinfo.apids = TIMERD_APIDS_CONF;
eventinfo.recordingSafety = false;
+ eventinfo.autoAdjustToEPG = false;
timerNew.standby_on = (timerNew_standby_on == 1);
void *data=NULL;
if (timerNew.eventType == CTimerd::TIMER_STANDBY)
@@ -333,6 +334,7 @@ int CTimerList::exec(CMenuTarget* parent, const std::string & actionKey)
recinfo.channel_id=timerNew.channel_id;
recinfo.apids=TIMERD_APIDS_CONF;
recinfo.recordingSafety = false;
+ recinfo.autoAdjustToEPG = false; // FIXME -- add GUI option?
timerNew.announceTime-= 120; // 2 more mins for rec timer
strncpy(recinfo.recordingDir,timerNew.recordingDir,sizeof(recinfo.recordingDir)-1);
diff --git a/src/nhttpd/web/Y_Blocks.txt b/src/nhttpd/web/Y_Blocks.txt
index 6ecaa3aad..7f08329f7 100644
--- a/src/nhttpd/web/Y_Blocks.txt
+++ b/src/nhttpd/web/Y_Blocks.txt
@@ -374,6 +374,7 @@ function do_submit()
+
@@ -446,9 +447,16 @@ start-block~frame_boxcontrol
~
{=if-equal:{=var-get:startpage=}~control~Y_Tools_Boxcontrol.yhtm
~
- {=if-equal:{=var-get:startpage=}~remote~Y_Tools_Rcsim.yhtm~Y_NI_blank.yhtm=}
+ {=if-equal:{=var-get:startpage=}~remote~Y_Tools_Rcsim.yhtm
+ ~
+ {=if-equal:{=var-get:startpage=}~screenshot~Y_Tools_Screenshot.yhtm?osd=1
+ ~
+ Y_NI_blank.yhtm
+ =}
+ =}
=}
- =}=}
+ =}
+=}
{=include-block:Y_Blocks.txt;frame_secondary=}
end-block~frame_boxcontrol
diff --git a/src/nhttpd/web/Y_Settings_yWeb.yhtm b/src/nhttpd/web/Y_Settings_yWeb.yhtm
index 6f4c4b2af..864947720 100644
--- a/src/nhttpd/web/Y_Settings_yWeb.yhtm
+++ b/src/nhttpd/web/Y_Settings_yWeb.yhtm
@@ -48,11 +48,12 @@ function do_init(){
document.f.fb.selectedIndex = sel;
obj_set_radio_value('screenshot_rc', "{=ini-get:/var/tuxbox/config/Y-Web.conf;screenshot_rc;false~cache=}");
val = "{=ini-get:/var/tuxbox/config/Y-Web.conf;start_page;bouquets~cache=}";
- var sel=3;
+ var sel=4;
switch(val){
case "bouquets": sel=0; break;
case "control": sel=1; break;
case "remote": sel=2; break;
+ case "screenshot": sel=3; break;
}
document.f.start_page.selectedIndex = sel;
style_old = "{=ini-get:/var/tuxbox/config/Y-Web.conf;style~cache=}";
@@ -171,6 +172,7 @@ select {
+
diff --git a/src/timerd/timerd.cpp b/src/timerd/timerd.cpp
index a0bfe7af7..313859c8c 100644
--- a/src/timerd/timerd.cpp
+++ b/src/timerd/timerd.cpp
@@ -305,7 +305,7 @@ bool timerd_parse_command(CBasicMessage::Header &rmsg, int connfd)
CTimerd::TransferRecordingInfo recInfo;
CBasicServer::receive_data(connfd, &recInfo, sizeof(CTimerd::TransferRecordingInfo));
- if(recInfo.recordingSafety)
+ if(recInfo.recordingSafety)
{
int pre,post;
CTimerManager::getInstance()->getRecordingSafety(pre,post);
@@ -324,6 +324,8 @@ bool timerd_parse_command(CBasicMessage::Header &rmsg, int connfd)
msgAddTimer.eventRepeat,
msgAddTimer.repeatCount,
recInfo.recordingDir,
+ recInfo.recordingSafety,
+ recInfo.autoAdjustToEPG,
recInfo.channel_ci); //NI
rspAddTimer.eventID = CTimerManager::getInstance()->addEvent(event);
diff --git a/src/timerd/timermanager.cpp b/src/timerd/timermanager.cpp
index 5ee767e2c..2547995ac 100644
--- a/src/timerd/timermanager.cpp
+++ b/src/timerd/timermanager.cpp
@@ -1134,7 +1134,9 @@ CTimerEvent_Record::CTimerEvent_Record(time_t announce_Time, time_t alarm_Time,
event_id_t epgID,
time_t epg_starttime, unsigned char apids,
CTimerd::CTimerEventRepeat evrepeat,
- uint32_t repeatcount, const std::string &recDir, bool channel_ci) : //NI
+ uint32_t repeatcount, const std::string &recDir,
+ bool _recordingSafety, bool _autoAdjustToEPG,
+ bool channel_ci) : //NI
CTimerEvent(getEventType(), announce_Time, alarm_Time, stop_Time, evrepeat, repeatcount)
{
eventInfo.epgID = epgID;
@@ -1144,6 +1146,8 @@ CTimerEvent_Record::CTimerEvent_Record(time_t announce_Time, time_t alarm_Time,
eventInfo.channel_ci = channel_ci; //NI
recordingDir = recDir;
epgTitle="";
+ autoAdjustToEPG = _autoAdjustToEPG;
+ recordingSafety = _recordingSafety;
CShortEPGData epgdata;
if (CEitManager::getInstance()->getEPGidShort(epgID, &epgdata))
epgTitle=epgdata.title;
@@ -1173,6 +1177,13 @@ CTimerEvent_Record::CTimerEvent_Record(CConfigFile *config, int iId):
epgTitle = config->getString("EPG_TITLE_"+id);
dprintf("read EPG_TITLE_%s %s (%p)\n",id.c_str(),epgTitle.c_str(),&epgTitle);
+
+ recordingSafety = config->getInt32("RECORDING_SAFETY_"+id, true);
+ dprintf("read RECORDING_SAFETY_%s %d\n",id.c_str(), recordingSafety);
+
+ autoAdjustToEPG = config->getInt32("EPG_AUTO_ADJUST_"+id, true);
+ dprintf("read EPG_AUTO_ADJUST_TO_EPG_%s %d\n",id.c_str(), autoAdjustToEPG);
+
//NI
eventInfo.channel_ci = config->getBool("EVENT_INFO_CHANNEL_CI_"+id);
dprintf("read EVENT_INFO_CHANNEL_CI_%s %i\n",id.c_str(),eventInfo.channel_ci);
@@ -1180,6 +1191,8 @@ CTimerEvent_Record::CTimerEvent_Record(CConfigFile *config, int iId):
//------------------------------------------------------------
void CTimerEvent_Record::fireEvent()
{
+ if (adjustToCurrentEPG())
+ return;
Refresh();
CTimerd::RecordingInfo ri=eventInfo;
ri.eventID=eventID;
@@ -1194,6 +1207,8 @@ void CTimerEvent_Record::fireEvent()
//------------------------------------------------------------
void CTimerEvent_Record::announceEvent()
{
+ if (adjustToCurrentEPG())
+ return;
Refresh();
CTimerd::RecordingInfo ri=eventInfo;
ri.eventID=eventID;
@@ -1242,6 +1257,13 @@ void CTimerEvent_Record::saveToConfig(CConfigFile *config)
config->setString("EPG_TITLE_"+id,epgTitle);
dprintf("set EPG_TITLE_%s to %s (%p)\n",id.c_str(),epgTitle.c_str(), &epgTitle);
+
+ config->setInt32("RECORDING_SAFETY_"+id, recordingSafety);
+ dprintf("set RECORDING_SAFETY_%s to %d\n",id.c_str(), recordingSafety);
+
+ config->setInt32("EPG_AUTO_ADJUST_"+id, autoAdjustToEPG);
+ dprintf("set EPG_AUTO_ADJUST_TO_EPG_%s to %d\n",id.c_str(), autoAdjustToEPG);
+
//NI
config->setBool("EVENT_INFO_CHANNEL_CI_"+id, eventInfo.channel_ci);
dprintf("set EVENT_INFO_CHANNEL_CI_%s to %i\n",id.c_str(),eventInfo.channel_ci);
@@ -1286,6 +1308,38 @@ void CTimerEvent_Record::Refresh()
if (eventInfo.epgID == 0)
getEpgId();
}
+//------------------------------------------------------------
+bool CTimerEvent_Record::adjustToCurrentEPG()
+{
+ if (!autoAdjustToEPG)
+ return false;
+
+ CChannelEventList evtlist;
+ CEitManager::getInstance()->getEventsServiceKey(eventInfo.channel_id, evtlist);
+
+ time_t now = time(NULL);
+ CChannelEventList::iterator first = evtlist.end();
+ for (CChannelEventList::iterator e = evtlist.begin(); e != evtlist.end(); ++e)
+ {
+ if (e->startTime < now)
+ continue;
+ if (first == evtlist.end() || first->startTime > e->startTime)
+ first = e;
+ if (alarmTime <= e->startTime && e->startTime + (int)e->duration <= stopTime)
+ return false;
+ }
+ if (first == evtlist.end())
+ return false;
+
+ CTimerEvent_Record *event= new CTimerEvent_Record(first->startTime - (alarmTime - announceTime), first->startTime, first->startTime + first->duration,
+ eventInfo.channel_id, eventInfo.epgID, first->startTime, eventInfo.apids,
+ CTimerd::TIMERREPEAT_ONCE, 1, recordingDir, recordingSafety, autoAdjustToEPG,
+ eventInfo.channel_ci); //NI
+ CTimerManager::getInstance()->addEvent(event,false);
+ setState(CTimerd::TIMERSTATE_HASFINISHED);
+
+ return true;
+}
//=============================================================
// Zapto Event
//=============================================================
diff --git a/src/timerd/timermanager.h b/src/timerd/timermanager.h
index 84f8a1af9..fbae3f2d0 100644
--- a/src/timerd/timermanager.h
+++ b/src/timerd/timermanager.h
@@ -117,13 +117,17 @@ class CTimerEvent_Record : public CTimerEvent
CTimerd::EventInfo eventInfo;
std::string recordingDir;
std::string epgTitle;
+ bool recordingSafety;
+ bool autoAdjustToEPG;
CTimerEvent_Record(time_t announceTime, time_t alarmTime, time_t stopTime,
t_channel_id channel_id,
event_id_t epgID = 0,
time_t epg_starttime = 0,
unsigned char apids = TIMERD_APIDS_STD,
CTimerd::CTimerEventRepeat evrepeat = CTimerd::TIMERREPEAT_ONCE,
- uint32_t repeatcount = 1, const std::string &recDir = "", bool channel_ci=false); //NI
+ uint32_t repeatcount = 1, const std::string &recDir = "",
+ bool _recordingSafety = true, bool _autoAdjustToEPG = true,
+ bool channel_ci=false); //NI
CTimerEvent_Record(CConfigFile *config, int iId);
virtual ~CTimerEvent_Record(){};
virtual CTimerd::CTimerEventTypes getEventType(void) const { return CTimerd::TIMER_RECORD; };
@@ -134,6 +138,7 @@ class CTimerEvent_Record : public CTimerEvent
virtual void Reschedule();
virtual void getEpgId();
virtual void Refresh();
+ virtual bool adjustToCurrentEPG();
};
class CTimerEvent_Zapto : public CTimerEvent_Record