From 59875c10d77355d34b864445e63f635fcc60d853 Mon Sep 17 00:00:00 2001 From: horchi Date: Fri, 9 Feb 2018 17:15:09 +0100 Subject: 2018-02-09 version 1.1.82 (horchi)\n - added: Switch timer\n\n --- menu.c | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) (limited to 'menu.c') diff --git a/menu.c b/menu.c index d24a92a..ee1aebb 100644 --- a/menu.c +++ b/menu.c @@ -667,6 +667,7 @@ int cMenuDb::modifyTimer(cDbRow* timerRow, const char* destUuid) timerDb->setValue("VDRUUID", destUuid); timerDb->setCharValue("ACTION", taCreate); timerDb->setValue("SOURCE", Epg2VdrConfig.uuid); + timerDb->setCharValue("TYPE", ttRecord); timerDb->insert(); tell(0, "Created 'move' request for timer (%d) at vdr '%s'", @@ -681,6 +682,7 @@ int cMenuDb::modifyTimer(cDbRow* timerRow, const char* destUuid) timerDb->setCharValue("ACTION", knownTimer ? taModify : taCreate); timerDb->getValue("STATE")->setNull(); timerDb->setValue("SOURCE", Epg2VdrConfig.uuid); + timerDb->setCharValue("TYPE", ttRecord); if (!knownTimer) timerDb->setValue("NAMINGMODE", tnmAuto); @@ -701,11 +703,39 @@ int cMenuDb::modifyTimer(cDbRow* timerRow, const char* destUuid) return success; } +//*************************************************************************** +// Create Switch Timer +//*************************************************************************** + +int cMenuDb::createSwitchTimer(const cEvent* event) +{ + int timerMatch = tmNone; + int remote = no; + + // alredy or nearly started? + + if (!event || event->StartTime() <= time(0)+tmeSecondsPerMinute) + return done; + + // already created? + + if (lookupTimer(event, timerMatch, remote)) + return done; + + cDbRow* timerRow = newTimerRowFromEvent(event); + createTimer(timerRow, Epg2VdrConfig.uuid, ttView); + + tell(0, "Switch timer for '%s' at '%s' created", + event->Title(), l2pTime(event->StartTime()).c_str()); + + return done; +} + //*************************************************************************** // Create Timer //*************************************************************************** -int cMenuDb::createTimer(cDbRow* timerRow, const char* destUuid) +int cMenuDb::createTimer(cDbRow* timerRow, const char* destUuid, int type) { long int manualTimer2Done; @@ -717,11 +747,13 @@ int cMenuDb::createTimer(cDbRow* timerRow, const char* destUuid) timerDb->copyValues(timerRow, cDBS::ftData); timerDb->setValue("VDRUUID", destUuid); + timerDb->setCharValue("TYPE", type); + // timerDb->setCharValue("ACTIVE", type != ttView); // #TODO will this better? timerDb->setCharValue("ACTION", taCreate); timerDb->setValue("SOURCE", Epg2VdrConfig.uuid); timerDb->setValue("NAMINGMODE", tnmAuto); - if (manualTimer2Done) + if (manualTimer2Done && type != ttView) { useeventsDb->clear(); useeventsDb->setValue("USEID", timerRow->getIntValue("EVENTID")); -- cgit v1.2.3