mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-27 15:32:59 +02:00
-add pseudo AdZap timertype
This commit is contained in:
@@ -28,7 +28,7 @@
|
|||||||
#include <timerdclient/timerdmsg.h>
|
#include <timerdclient/timerdmsg.h>
|
||||||
#include <timerdclient/timerdclient.h>
|
#include <timerdclient/timerdclient.h>
|
||||||
|
|
||||||
|
int CTimerdClient::adzap_eventID = 0;
|
||||||
unsigned char CTimerdClient::getVersion () const
|
unsigned char CTimerdClient::getVersion () const
|
||||||
{
|
{
|
||||||
return CTimerdMsg::ACTVERSION;
|
return CTimerdMsg::ACTVERSION;
|
||||||
@@ -253,7 +253,11 @@ int CTimerdClient::addTimerEvent( CTimerd::CTimerEventTypes evType, void* data,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
bool adzaptimer = false;
|
||||||
|
if(evType == CTimerd::TIMER_ADZAP){
|
||||||
|
evType = CTimerd::TIMER_ZAPTO;
|
||||||
|
adzaptimer = true;
|
||||||
|
}
|
||||||
CTimerd::TransferEventInfo tei;
|
CTimerd::TransferEventInfo tei;
|
||||||
CTimerd::TransferRecordingInfo tri;
|
CTimerd::TransferRecordingInfo tri;
|
||||||
CTimerdMsg::commandAddTimer msgAddTimer;
|
CTimerdMsg::commandAddTimer msgAddTimer;
|
||||||
@@ -270,7 +274,8 @@ int CTimerdClient::addTimerEvent( CTimerd::CTimerEventTypes evType, void* data,
|
|||||||
}
|
}
|
||||||
/* else if(evType == CTimerd::TIMER_NEXTPROGRAM || evType == CTimerd::TIMER_ZAPTO || */
|
/* else if(evType == CTimerd::TIMER_NEXTPROGRAM || evType == CTimerd::TIMER_ZAPTO || */
|
||||||
else if (evType == CTimerd::TIMER_ZAPTO ||
|
else if (evType == CTimerd::TIMER_ZAPTO ||
|
||||||
evType == CTimerd::TIMER_IMMEDIATE_RECORD )
|
evType == CTimerd::TIMER_IMMEDIATE_RECORD ||
|
||||||
|
evType == CTimerd::TIMER_ADZAP)
|
||||||
{
|
{
|
||||||
CTimerd::EventInfo *ei=static_cast<CTimerd::EventInfo*>(data);
|
CTimerd::EventInfo *ei=static_cast<CTimerd::EventInfo*>(data);
|
||||||
tei.apids = ei->apids;
|
tei.apids = ei->apids;
|
||||||
@@ -319,14 +324,19 @@ int CTimerdClient::addTimerEvent( CTimerd::CTimerEventTypes evType, void* data,
|
|||||||
receive_data((char*)&response, sizeof(response));
|
receive_data((char*)&response, sizeof(response));
|
||||||
close_connection();
|
close_connection();
|
||||||
|
|
||||||
|
if(adzaptimer){
|
||||||
|
adzap_eventID = response.eventID;//set adzap flag
|
||||||
|
}
|
||||||
return( response.eventID);
|
return( response.eventID);
|
||||||
}
|
}
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
|
|
||||||
void CTimerdClient::removeTimerEvent( int evId)
|
void CTimerdClient::removeTimerEvent( int evId)
|
||||||
{
|
{
|
||||||
CTimerdMsg::commandRemoveTimer msgRemoveTimer;
|
if(evId == adzap_eventID)
|
||||||
|
adzap_eventID = 0;//reset adzap flag
|
||||||
|
|
||||||
|
CTimerdMsg::commandRemoveTimer msgRemoveTimer;
|
||||||
msgRemoveTimer.eventID = evId;
|
msgRemoveTimer.eventID = evId;
|
||||||
|
|
||||||
send(CTimerdMsg::CMD_REMOVETIMER, (char*) &msgRemoveTimer, sizeof(msgRemoveTimer));
|
send(CTimerdMsg::CMD_REMOVETIMER, (char*) &msgRemoveTimer, sizeof(msgRemoveTimer));
|
||||||
|
@@ -61,6 +61,7 @@ class CTimerdClient:private CBasicClient
|
|||||||
|
|
||||||
void registerEvent(unsigned int eventID, unsigned int clientID, const char * const udsName);
|
void registerEvent(unsigned int eventID, unsigned int clientID, const char * const udsName);
|
||||||
void unRegisterEvent(unsigned int eventID, unsigned int clientID);
|
void unRegisterEvent(unsigned int eventID, unsigned int clientID);
|
||||||
|
static int adzap_eventID;
|
||||||
|
|
||||||
bool isTimerdAvailable(); // check if timerd is running
|
bool isTimerdAvailable(); // check if timerd is running
|
||||||
|
|
||||||
@@ -151,6 +152,18 @@ class CTimerdClient:private CBasicClient
|
|||||||
eventInfo.recordingSafety = false;
|
eventInfo.recordingSafety = false;
|
||||||
return addTimerEvent(CTimerd::TIMER_ZAPTO, &eventInfo, announcetime, alarmtime, stoptime);
|
return addTimerEvent(CTimerd::TIMER_ZAPTO, &eventInfo, announcetime, alarmtime, stoptime);
|
||||||
};
|
};
|
||||||
|
// adds new adzap timer event //pseudo TIMER_ADZAP
|
||||||
|
int addAdZaptoTimerEvent(const t_channel_id channel_id, time_t alarmtime)
|
||||||
|
{
|
||||||
|
CTimerd::EventInfo eventInfo;
|
||||||
|
eventInfo.channel_id = channel_id;
|
||||||
|
eventInfo.epgID = 1;
|
||||||
|
eventInfo.epg_starttime = 0;
|
||||||
|
eventInfo.apids = 0;
|
||||||
|
eventInfo.recordingSafety = false;
|
||||||
|
return addTimerEvent(CTimerd::TIMER_ADZAP, &eventInfo, 0, alarmtime, 0);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
int addNextProgramTimerEvent(CTimerd::EventInfo eventInfo,time_t alarmtime, time_t announcetime = 0, time_t stoptime = 0)
|
int addNextProgramTimerEvent(CTimerd::EventInfo eventInfo,time_t alarmtime, time_t announcetime = 0, time_t stoptime = 0)
|
||||||
|
@@ -68,7 +68,8 @@ class CTimerd
|
|||||||
TIMER_REMIND,
|
TIMER_REMIND,
|
||||||
TIMER_SLEEPTIMER,
|
TIMER_SLEEPTIMER,
|
||||||
TIMER_EXEC_PLUGIN,
|
TIMER_EXEC_PLUGIN,
|
||||||
TIMER_IMMEDIATE_RECORD
|
TIMER_IMMEDIATE_RECORD,
|
||||||
|
TIMER_ADZAP
|
||||||
};
|
};
|
||||||
|
|
||||||
enum CTimerEventStates
|
enum CTimerEventStates
|
||||||
|
@@ -784,17 +784,24 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start
|
|||||||
break;
|
break;
|
||||||
case CRCInput::RC_page_up:
|
case CRCInput::RC_page_up:
|
||||||
if(isCurrentEPG(channel_id)){
|
if(isCurrentEPG(channel_id)){
|
||||||
g_settings.wzap_time++;
|
if(g_settings.wzap_time> 14)
|
||||||
if(g_settings.wzap_time>9)
|
g_settings.wzap_time+=5;
|
||||||
g_settings.wzap_time = 9;
|
else
|
||||||
|
g_settings.wzap_time++;
|
||||||
|
if(g_settings.wzap_time>60)
|
||||||
|
g_settings.wzap_time = 0;
|
||||||
showTimerEventBar(true, true);
|
showTimerEventBar(true, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case CRCInput::RC_page_down:
|
case CRCInput::RC_page_down:
|
||||||
if(isCurrentEPG(channel_id)){
|
if(isCurrentEPG(channel_id)){
|
||||||
g_settings.wzap_time--;
|
if(g_settings.wzap_time> 19)
|
||||||
|
g_settings.wzap_time-=5;
|
||||||
|
else
|
||||||
|
g_settings.wzap_time--;
|
||||||
|
|
||||||
if(g_settings.wzap_time<0)
|
if(g_settings.wzap_time<0)
|
||||||
g_settings.wzap_time = 0;
|
g_settings.wzap_time = 60;
|
||||||
showTimerEventBar(true, true);
|
showTimerEventBar(true, true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -886,11 +893,10 @@ int CEpgData::show(const t_channel_id channel_id, uint64_t a_id, time_t* a_start
|
|||||||
//CTimerdClient timerdclient;
|
//CTimerdClient timerdclient;
|
||||||
if (g_Timerd->isTimerdAvailable())
|
if (g_Timerd->isTimerdAvailable())
|
||||||
{
|
{
|
||||||
if(g_settings.wzap_time && isCurrentEPG(channel_id)){
|
if(!g_Timerd->adzap_eventID && g_settings.wzap_time && isCurrentEPG(channel_id)){
|
||||||
g_Timerd->addZaptoTimerEvent(channel_id,
|
g_Timerd->addAdZaptoTimerEvent(channel_id,
|
||||||
time (NULL) + (g_settings.wzap_time * 60),
|
time (NULL) + (g_settings.wzap_time * 60));
|
||||||
0, 0,
|
loop = false;
|
||||||
0, 0, 0);
|
|
||||||
}else{
|
}else{
|
||||||
g_Timerd->addZaptoTimerEvent(channel_id,
|
g_Timerd->addZaptoTimerEvent(channel_id,
|
||||||
epgData.epg_times.startzeit - (g_settings.zapto_pre_time * 60),
|
epgData.epg_times.startzeit - (g_settings.zapto_pre_time * 60),
|
||||||
@@ -1183,7 +1189,7 @@ void CEpgData::showTimerEventBar (bool pshow, bool webzap)
|
|||||||
/* 2 * ICON_LARGE_WIDTH for potential 16:9 and DD icons */
|
/* 2 * ICON_LARGE_WIDTH for potential 16:9 and DD icons */
|
||||||
int aw = ox - 20 - 2 * (ICON_LARGE_WIDTH + 2);
|
int aw = ox - 20 - 2 * (ICON_LARGE_WIDTH + 2);
|
||||||
std::string tmp_but_name;
|
std::string tmp_but_name;
|
||||||
if(g_settings.wzap_time && webzap){
|
if(g_settings.wzap_time && webzap && !g_Timerd->adzap_eventID){
|
||||||
tmp_but_name = g_Locale->getText(LOCALE_ADZAP);
|
tmp_but_name = g_Locale->getText(LOCALE_ADZAP);
|
||||||
tmp_but_name += " "+ to_string(g_settings.wzap_time) + " ";
|
tmp_but_name += " "+ to_string(g_settings.wzap_time) + " ";
|
||||||
tmp_but_name += g_Locale->getText(LOCALE_UNIT_SHORT_MINUTE);
|
tmp_but_name += g_Locale->getText(LOCALE_UNIT_SHORT_MINUTE);
|
||||||
|
@@ -1286,6 +1286,9 @@ void CTimerEvent_Zapto::announceEvent()
|
|||||||
//------------------------------------------------------------
|
//------------------------------------------------------------
|
||||||
void CTimerEvent_Zapto::fireEvent()
|
void CTimerEvent_Zapto::fireEvent()
|
||||||
{
|
{
|
||||||
|
if(CTimerdClient::adzap_eventID == eventID)
|
||||||
|
CTimerdClient::adzap_eventID = 0;//reset adzap flag
|
||||||
|
|
||||||
CTimerManager::getInstance()->getEventServer()->sendEvent(CTimerdClient::EVT_ZAPTO,
|
CTimerManager::getInstance()->getEventServer()->sendEvent(CTimerdClient::EVT_ZAPTO,
|
||||||
CEventServer::INITID_TIMERD,
|
CEventServer::INITID_TIMERD,
|
||||||
&eventInfo,
|
&eventInfo,
|
||||||
|
Reference in New Issue
Block a user