Thread: [Commits] : Tuxbox-GIT: apps branch master updated. CVS-Final-352-g62e6105
Tuxbox Sources
Brought to you by:
dbt1
|
From: Thilo G. <tux...@ne...> - 2014-02-10 18:09:14
|
Project "Tuxbox-GIT: apps":
The branch, master has been updated
via 62e610549182843a26c04ed04e5fd6b9cbd807f6 (commit)
via 84b24096d52cd105cdc2b8206675dc36acdff91f (commit)
via 1de4361b414701cca1115a97209cde79e28a1e7e (commit)
via c38c2baf0a7a599b0f3954ac422c8b1c54d69b27 (commit)
via 108db7191980288ae0913f74ac6a631099e8e4aa (commit)
via 02b79fbde6123b2c91c54e3064959766e2b0b418 (commit)
via 689aa7ef274825fe3172b39698c18a5bae0dc754 (commit)
via d1b8bc02894a76f0445e493b2d2c557f95984d39 (commit)
via da04fabe85065c3d88c4bae3b73fa2710991a8d8 (commit)
via 45971173f59debd02fcac74107b4a1c4d2506e28 (commit)
via 47eea8f986f868c062d24a483877cb59a89461ca (commit)
via 23ebc31d506f7f64e7c72ba30d43bb62050ec202 (commit)
via b8eab431be06215d2b69b6980dca2221587d3a91 (commit)
via 637f72c2b0d0a88f79212174b25ee4b9577ae17c (commit)
via f054482507a28ab8bdb40118364403629abbe8e5 (commit)
via 616b1b309489fef1848f1b976b1837ecd5ab2a99 (commit)
via 244ac84bed746f4da84f7761a2ca4633d7d8851e (commit)
via 92dbcbfe0db2303c31c600d6de3a11fdb4cf2f34 (commit)
via b3386eae7c5eea9cda4567f9cd3895bade97c56b (commit)
from a6db6293464565ac79c5e52a1358fbea51353e7d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 62e610549182843a26c04ed04e5fd6b9cbd807f6
Author: Christian Schuett <Gau...@ho...>
Date: Sat Feb 8 19:38:55 2014 +0100
Neutrino event list: consider announce time instead of start time ...
.. when asking user on timer conflict
just to be conform with EPG Viewer, EPG Plus and timer list
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/gui/eventlist.cpp b/tuxbox/neutrino/src/gui/eventlist.cpp
index a276c66..729023f 100644
--- a/tuxbox/neutrino/src/gui/eventlist.cpp
+++ b/tuxbox/neutrino/src/gui/eventlist.cpp
@@ -438,7 +438,7 @@ int EventList::exec(const t_channel_id channel_id, const std::string& channelnam
evtlist[selected].startTime - (ANNOUNCETIME + 120),
TIMERD_APIDS_CONF, true, recDir,false) == -1)
{
- if(askUserOnTimerConflict(evtlist[selected].startTime,
+ if(askUserOnTimerConflict(evtlist[selected].startTime - (ANNOUNCETIME + 120),
evtlist[selected].startTime + evtlist[selected].duration))
{
// Timer.addRecordTimerEvent(channel_id,
commit 84b24096d52cd105cdc2b8206675dc36acdff91f
Author: Christian Schuett <Gau...@ho...>
Date: Sat Feb 8 18:48:07 2014 +0100
Neutrino: don't get full EPG data if not needed
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp b/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp
index b7c9da4..814eaf1 100644
--- a/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp
+++ b/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp
@@ -1946,8 +1946,8 @@ void CControlAPI::SendTimersXML(CyhookHandler *hh)
std::string title = timer->epgTitle;
if (timer->epgID != 0)
{
- CEPGData epgdata;
- if (NeutrinoAPI->Sectionsd->getEPGid(timer->epgID, timer->epg_starttime, &epgdata))
+ CShortEPGData epgdata;
+ if (NeutrinoAPI->Sectionsd->getEPGidShort(timer->epgID, &epgdata))
title = epgdata.title;
}
diff --git a/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/neutrinoyparser.cpp b/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/neutrinoyparser.cpp
index ab8e6ad..363f1c9 100644
--- a/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/neutrinoyparser.cpp
+++ b/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/neutrinoyparser.cpp
@@ -806,8 +806,8 @@ std::string CNeutrinoYParser::func_get_timer_list(CyhookHandler */*hh*/, std::s
}
if(timer->epgID!=0)
{
- CEPGData epgdata;
- if (NeutrinoAPI->Sectionsd->getEPGid(timer->epgID, timer->epg_starttime, &epgdata))
+ CShortEPGData epgdata;
+ if (NeutrinoAPI->Sectionsd->getEPGidShort(timer->epgID, &epgdata))
sAddData+="<br/>" + epgdata.title;
else
sAddData+=std::string("<br/>")+timer->epgTitle;
diff --git a/tuxbox/neutrino/src/gui/channellist.cpp b/tuxbox/neutrino/src/gui/channellist.cpp
index eb68fab..4609d7b 100644
--- a/tuxbox/neutrino/src/gui/channellist.cpp
+++ b/tuxbox/neutrino/src/gui/channellist.cpp
@@ -1717,7 +1717,7 @@ void CChannelList::showdescription(int index)
{
ffheight = g_Font[eventFont]->getHeight();
CChannelEvent *p_event = &chanlist[index]->currentEvent;
- g_Sectionsd->getEPGid(p_event->eventID, p_event->startTime, &epgData);
+ g_Sectionsd->getEPGidShort(p_event->eventID, &epgData);
#warning fixme sectionsd should deliver data in UTF-8 format
if (!(epgData.info2.empty()))
diff --git a/tuxbox/neutrino/src/gui/channellist.h b/tuxbox/neutrino/src/gui/channellist.h
index c94b252..8a6f051 100644
--- a/tuxbox/neutrino/src/gui/channellist.h
+++ b/tuxbox/neutrino/src/gui/channellist.h
@@ -103,7 +103,7 @@ class CChannelList
int infozone_width;
int infozone_height;
- CEPGData epgData;
+ CShortEPGData epgData;
bool historyMode;
bool usedInBouquet;
bool displayNext;
diff --git a/tuxbox/neutrino/src/gui/timerlist.cpp b/tuxbox/neutrino/src/gui/timerlist.cpp
index e7fb080..7e2d2e5 100644
--- a/tuxbox/neutrino/src/gui/timerlist.cpp
+++ b/tuxbox/neutrino/src/gui/timerlist.cpp
@@ -664,8 +664,8 @@ void CTimerList::paintItem(int pos)
}
if(timer.epgID!=0)
{
- CEPGData epgdata;
- if (g_Sectionsd->getEPGid(timer.epgID, timer.epg_starttime, &epgdata))
+ CShortEPGData epgdata;
+ if (g_Sectionsd->getEPGidShort(timer.epgID, &epgdata))
{
#warning fixme sectionsd should deliver data in UTF-8 format
zAddData += " : ";
@@ -1288,9 +1288,9 @@ bool askUserOnTimerConflict(time_t announceTime, time_t stopTime)
timerbuf += CTimerList::convertChannelId2String(it->channel_id); // UTF-8
if(it->epgID != 0)
{
- CEPGData epgdata;
+ CShortEPGData epgdata;
timerbuf += ": ";
- if (g_Sectionsd->getEPGid(it->epgID, it->epg_starttime, &epgdata))
+ if (g_Sectionsd->getEPGidShort(it->epgID, &epgdata))
{
#warning fixme sectionsd should deliver data in UTF-8 format
timerbuf += Latin1_to_UTF8(epgdata.title);
diff --git a/tuxbox/neutrino/src/neutrino.cpp b/tuxbox/neutrino/src/neutrino.cpp
index ed2684b..ec360d9 100644
--- a/tuxbox/neutrino/src/neutrino.cpp
+++ b/tuxbox/neutrino/src/neutrino.cpp
@@ -3046,10 +3046,10 @@ int CNeutrinoApp::handleMsg(const neutrino_msg_t m, neutrino_msg_data_t data)
if (eventinfo->epgID != 0)
{
- CEPGData epgdata;
+ CShortEPGData epgdata;
#warning fixme sectionsd should deliver data in UTF-8 format
zAddData += " :\n";
- if (g_Sectionsd->getEPGid(eventinfo->epgID, eventinfo->epg_starttime, &epgdata))
+ if (g_Sectionsd->getEPGidShort(eventinfo->epgID, &epgdata))
zAddData += Latin1_to_UTF8(epgdata.title);
else if (strlen(eventinfo->epgTitle) != 0)
zAddData += Latin1_to_UTF8(eventinfo->epgTitle);
@@ -3120,10 +3120,10 @@ int CNeutrinoApp::handleMsg(const neutrino_msg_t m, neutrino_msg_data_t data)
if (eventinfo->epgID != 0)
{
- CEPGData epgdata;
+ CShortEPGData epgdata;
#warning fixme sectionsd should deliver data in UTF-8 format
zAddData += " :\n";
- if (g_Sectionsd->getEPGid(eventinfo->epgID, eventinfo->epg_starttime, &epgdata))
+ if (g_Sectionsd->getEPGidShort(eventinfo->epgID, &epgdata))
zAddData += Latin1_to_UTF8(epgdata.title);
else if (strlen(eventinfo->epgTitle) != 0)
zAddData += Latin1_to_UTF8(eventinfo->epgTitle);
commit 1de4361b414701cca1115a97209cde79e28a1e7e
Author: Christian Schuett <Gau...@ho...>
Date: Wed Jan 29 18:31:05 2014 +0100
nhttpd controlapi and yParser: avoid unnecessary socket communication ...
... if current EPG is not available
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp b/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp
index e1b7cb9..b7c9da4 100644
--- a/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp
+++ b/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp
@@ -1409,8 +1409,8 @@ void CControlAPI::ZaptoCGI(CyhookHandler *hh)
t_channel_id current_channel = NeutrinoAPI->Zapit->getCurrentServiceID();
CSectionsdClient::LinkageDescriptorList desc;
CSectionsdClient::responseGetCurrentNextInfoChannelID currentNextInfo;
- NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(current_channel, currentNextInfo);
- if (NeutrinoAPI->Sectionsd->getLinkageDescriptorsUniqueKey(currentNextInfo.current_uniqueKey,desc))
+ bool has_current_next = NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(current_channel, currentNextInfo);
+ if (has_current_next && NeutrinoAPI->Sectionsd->getLinkageDescriptorsUniqueKey(currentNextInfo.current_uniqueKey, desc))
{
for(unsigned int i=0;i< desc.size();i++)
{
@@ -1677,8 +1677,8 @@ void CControlAPI::SendAllCurrentVAPid(CyhookHandler *hh)
t_channel_id current_channel = NeutrinoAPI->Zapit->getCurrentServiceID();
CSectionsdClient::responseGetCurrentNextInfoChannelID currentNextInfo;
- NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(current_channel, currentNextInfo);
- if (NeutrinoAPI->Sectionsd->getComponentTagsUniqueKey(currentNextInfo.current_uniqueKey,tags))
+ bool has_current_next = NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(current_channel, currentNextInfo);
+ if (has_current_next && NeutrinoAPI->Sectionsd->getComponentTagsUniqueKey(currentNextInfo.current_uniqueKey, tags))
{
for (unsigned short j=0; j< pids.APIDs.size(); j++)
{
diff --git a/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/neutrinoyparser.cpp b/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/neutrinoyparser.cpp
index ec636f2..ab8e6ad 100644
--- a/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/neutrinoyparser.cpp
+++ b/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/neutrinoyparser.cpp
@@ -537,8 +537,8 @@ std::string CNeutrinoYParser::func_get_audio_pids_as_dropdown(CyhookHandler */*
t_channel_id current_channel = NeutrinoAPI->Zapit->getCurrentServiceID();
CSectionsdClient::responseGetCurrentNextInfoChannelID currentNextInfo;
- NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(current_channel, currentNextInfo);
- if (NeutrinoAPI->Sectionsd->getComponentTagsUniqueKey(currentNextInfo.current_uniqueKey,tags))
+ bool has_current_next = NeutrinoAPI->Sectionsd->getCurrentNextServiceKey(current_channel, currentNextInfo);
+ if (has_current_next && NeutrinoAPI->Sectionsd->getComponentTagsUniqueKey(currentNextInfo.current_uniqueKey, tags))
{
for (unsigned short j=0; j< pids.APIDs.size(); j++)
{
commit c38c2baf0a7a599b0f3954ac422c8b1c54d69b27
Author: Christian Schuett <Gau...@ho...>
Date: Tue Jan 28 21:41:54 2014 +0100
nhttpd NeutrinoAPI: fix getting channel events if sections scan is active
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/neutrinoapi.cpp b/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/neutrinoapi.cpp
index 18abee9..e128e60 100644
--- a/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/neutrinoapi.cpp
+++ b/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/neutrinoapi.cpp
@@ -241,7 +241,7 @@ bool CNeutrinoAPI::GetStreamInfo(int bitInfo[10])
bool CNeutrinoAPI::GetChannelEvents(void)
{
- eList = Sectionsd->getChannelEvents();
+ eList = Sectionsd->getChannelEvents(Zapit->getMode() != CZapitClient::MODE_RADIO);
CChannelEventList::iterator eventIterator;
ChannelListEvents.clear();
commit 108db7191980288ae0913f74ac6a631099e8e4aa
Author: Christian Schuett <Gau...@ho...>
Date: Mon Jan 27 19:08:14 2014 +0100
Neutrino SHTDCNT: init shutdown_cnt
also remove undefined method 'setlcdparameter'
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/driver/shutdown_count.cpp b/tuxbox/neutrino/src/driver/shutdown_count.cpp
index 688bd85..8c4b6d6 100644
--- a/tuxbox/neutrino/src/driver/shutdown_count.cpp
+++ b/tuxbox/neutrino/src/driver/shutdown_count.cpp
@@ -62,6 +62,7 @@ void* SHTDCNT::TimeThread(void *)
void SHTDCNT::init()
{
+ shutdown_cnt = atoi(g_settings.shutdown_count) * 60;
if (pthread_create (&thrTime, NULL, TimeThread, NULL) != 0 )
{
perror("[SHTDCNT]: pthread_create(TimeThread)");
diff --git a/tuxbox/neutrino/src/driver/shutdown_count.h b/tuxbox/neutrino/src/driver/shutdown_count.h
index 81a68a2..7eb350f 100644
--- a/tuxbox/neutrino/src/driver/shutdown_count.h
+++ b/tuxbox/neutrino/src/driver/shutdown_count.h
@@ -42,8 +42,6 @@ class SHTDCNT
public:
- void setlcdparameter(void);
-
static SHTDCNT* getInstance();
void init();
};
commit 02b79fbde6123b2c91c54e3064959766e2b0b418
Author: Thilo Graf <db...@no...>
Date: Mon Jan 27 18:27:28 2014 +0100
Neutrino CBookmarkManager: init bookmarksmodified in constructor
var bookmarksmodified was not intitialized
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/gui/bookmarkmanager.cpp b/tuxbox/neutrino/src/gui/bookmarkmanager.cpp
index 4b5e41c..51bb9bf 100644
--- a/tuxbox/neutrino/src/gui/bookmarkmanager.cpp
+++ b/tuxbox/neutrino/src/gui/bookmarkmanager.cpp
@@ -185,6 +185,7 @@ void CBookmarkManager::writeBookmarkFile() {
CBookmarkManager::CBookmarkManager() : bookmarkfile ('\t')
{
+ bookmarksmodified = false;
readBookmarkFile();
}
commit 689aa7ef274825fe3172b39698c18a5bae0dc754
Author: martii <m4...@gm...>
Date: Sun Jan 26 17:53:44 2014 +0100
nhttpd yParser: fix apparent typo
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/neutrinoyparser.cpp b/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/neutrinoyparser.cpp
index 9312c06..ec636f2 100644
--- a/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/neutrinoyparser.cpp
+++ b/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/neutrinoyparser.cpp
@@ -613,7 +613,7 @@ std::string CNeutrinoYParser::func_unmount_get_list(CyhookHandler */*hh*/, std:
in >> ymount >> ylocal_dir >> yfstype;
in.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
yfstype = trim(yfstype);
- if( (yfstype == "nfs") << (yfstype == "ftp") || (yfstype == "lufsd") )
+ if( (yfstype == "nfs") || (yfstype == "ftp") || (yfstype == "lufsd") )
{
mounts=ylocal_dir +" on "+ ymount + " ("+yfstype+")";
ysel = ((j==0) ? "checked=\"checked\"" : "");
commit d1b8bc02894a76f0445e493b2d2c557f95984d39
Author: Christian Schuett <Gau...@ho...>
Date: Sat Jan 25 14:46:53 2014 +0100
yWeb: bump version to 2.7.0.31
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/daemons/nhttpd/web/Y_Version.txt b/tuxbox/neutrino/daemons/nhttpd/web/Y_Version.txt
index a8e3b95..d98bacb 100644
--- a/tuxbox/neutrino/daemons/nhttpd/web/Y_Version.txt
+++ b/tuxbox/neutrino/daemons/nhttpd/web/Y_Version.txt
@@ -1,5 +1,5 @@
-version=2.7.0.30
-date=23.10.2013
+version=2.7.0.31
+date=11.01.2014
type=Release
info=
commit da04fabe85065c3d88c4bae3b73fa2710991a8d8
Author: Christian Schuett <Gau...@ho...>
Date: Sun Jan 19 19:33:57 2014 +0100
timerd: reset EPG ID when modifying record or zapto timer
this ensures an up-to-date EPG ID if no EPG infos available for the
modified event during modification
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/daemons/timerd/timermanager.cpp b/tuxbox/neutrino/daemons/timerd/timermanager.cpp
index 14a8b69..3dbc6da 100644
--- a/tuxbox/neutrino/daemons/timerd/timermanager.cpp
+++ b/tuxbox/neutrino/daemons/timerd/timermanager.cpp
@@ -360,13 +360,19 @@ int CTimerManager::modifyEvent(int ev_ID, time_t announceTime, time_t alarmTime,
break;
case CTimerd::TIMER_RECORD:
{
- (static_cast<CTimerEvent_Record*>(event))->recordingDir = data.recordingDir;
- (static_cast<CTimerEvent_Record*>(event))->getEpgId();
+ CTimerEvent_Record *event_record = static_cast<CTimerEvent_Record*>(event);
+ event_record->recordingDir = data.recordingDir;
+ event_record->eventInfo.epgID = 0;
+ event_record->eventInfo.epg_starttime = 0;
+ event_record->getEpgId();
break;
}
case CTimerd::TIMER_ZAPTO:
{
- (static_cast<CTimerEvent_Zapto*>(event))->getEpgId();
+ CTimerEvent_Zapto *event_zapto = static_cast<CTimerEvent_Zapto*>(event);
+ event_zapto->eventInfo.epgID = 0;
+ event_zapto->eventInfo.epg_starttime = 0;
+ event_zapto->getEpgId();
break;
}
default:
commit 45971173f59debd02fcac74107b4a1c4d2506e28
Author: Christian Schuett <Gau...@ho...>
Date: Sun Jan 19 14:38:59 2014 +0100
Neutrino timerlist: sort timer type chooser alphabetically
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/data/locale/english.locale b/tuxbox/neutrino/data/locale/english.locale
index 835ebe3..8d6f200 100644
--- a/tuxbox/neutrino/data/locale/english.locale
+++ b/tuxbox/neutrino/data/locale/english.locale
@@ -1475,7 +1475,7 @@ timerlist.standby SB mode
timerlist.standby.off Leave standby
timerlist.standby.on Enter standby
timerlist.stoptime Stop time
-timerlist.type Timer typ
+timerlist.type Timer type
timerlist.type.execplugin Execute plugin
timerlist.type.nextprogram Next program
timerlist.type.record Record
diff --git a/tuxbox/neutrino/src/gui/timerlist.cpp b/tuxbox/neutrino/src/gui/timerlist.cpp
index 41cff0f..e7fb080 100644
--- a/tuxbox/neutrino/src/gui/timerlist.cpp
+++ b/tuxbox/neutrino/src/gui/timerlist.cpp
@@ -1138,7 +1138,7 @@ int CTimerList::newTimer()
CTimerListNewNotifier notifier2((int *)&timerNew.eventType,
&timerNew.stopTime,m2,m6,m8,m9,m10,m7,
timerSettings_stopTime.getValue());
- CMenuOptionChooser* m0 = new CMenuOptionChooser(LOCALE_TIMERLIST_TYPE, (int *)&timerNew.eventType, TIMERLIST_TYPE_OPTIONS, TIMERLIST_TYPE_OPTION_COUNT, true, ¬ifier2);
+ CMenuOptionChooser* m0 = new CMenuOptionChooser(LOCALE_TIMERLIST_TYPE, (int *)&timerNew.eventType, TIMERLIST_TYPE_OPTIONS, TIMERLIST_TYPE_OPTION_COUNT, true, ¬ifier2, CRCInput::RC_nokey, "", false, true);
timerSettings.addItem( m0);
timerSettings.addItem( m1);
commit 47eea8f986f868c062d24a483877cb59a89461ca
Author: Christian Schuett <Gau...@ho...>
Date: Sat Jan 18 22:37:04 2014 +0100
Neutrino CVCRControl: always use correct EPG ID when filling movie infos
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/driver/vcrcontrol.cpp b/tuxbox/neutrino/src/driver/vcrcontrol.cpp
index a61a967..398a2a3 100644
--- a/tuxbox/neutrino/src/driver/vcrcontrol.cpp
+++ b/tuxbox/neutrino/src/driver/vcrcontrol.cpp
@@ -441,6 +441,7 @@ std::string CVCRControl::CFileAndServerDevice::getMovieInfoString(const t_channe
CMovieInfo cMovieInfo;
MI_MOVIE_INFO movieInfo;
std::string info1, info2;
+ event_id_t epg_id = epgid;
cMovieInfo.clearMovieInfo(&movieInfo);
CZapitClient::responseGetPIDs pids;
@@ -454,12 +455,12 @@ std::string CVCRControl::CFileAndServerDevice::getMovieInfoString(const t_channe
movieInfo.epgChannel = tmpstring;
tmpstring = (epgTitle.empty()) ? "not available" : Latin1_to_UTF8(epgTitle);
- if (epgid != 0)
+ if (epg_id != 0)
{
//#define SHORT_EPG
#ifdef SHORT_EPG
CShortEPGData epgdata;
- if (g_Sectionsd->getEPGidShort(epgid, &epgdata))
+ if (g_Sectionsd->getEPGidShort(epg_id, &epgdata))
{
#warning fixme sectionsd should deliver data in UTF-8 format
tmpstring = Latin1_to_UTF8(epgdata.title);
@@ -468,12 +469,14 @@ std::string CVCRControl::CFileAndServerDevice::getMovieInfoString(const t_channe
}
#else
CEPGData epgdata;
- bool has_epgdata = g_Sectionsd->getEPGid(epgid, epg_time, &epgdata);
+ bool has_epgdata = g_Sectionsd->getEPGid(epg_id, epg_time, &epgdata);
if (!has_epgdata)
{
has_epgdata = g_Sectionsd->getActualEPGServiceKey(channel_id, &epgdata);
if (has_epgdata && !epgTitle.empty() && epgTitle != epgdata.title)
has_epgdata = false;
+ if (has_epgdata)
+ epg_id = epgdata.eventID;
}
if (has_epgdata)
{
@@ -496,13 +499,13 @@ std::string CVCRControl::CFileAndServerDevice::getMovieInfoString(const t_channe
movieInfo.epgId = channel_id;
movieInfo.epgInfo1 = info1;
movieInfo.epgInfo2 = info2;
- movieInfo.epgEpgId = epgid ;
+ movieInfo.epgEpgId = epg_id;
movieInfo.epgMode = g_Zapit->getMode();
movieInfo.epgVideoPid = si.vpid;
EPG_AUDIO_PIDS audio_pids;
// super hack :-), der einfachste weg an die apid descriptions ranzukommen
- g_RemoteControl->current_EPGid = epgid;
+ g_RemoteControl->current_EPGid = epg_id;
g_RemoteControl->current_PIDs = pids;
g_RemoteControl->processAPIDnames();
APIDList apid_list;
commit 23ebc31d506f7f64e7c72ba30d43bb62050ec202
Author: Christian Schuett <Gau...@ho...>
Date: Sat Jan 18 21:19:47 2014 +0100
Neutrino CVCRControl: only use current EPG if it has wanted EPG title
based on patch by Jacek Jendrzej <cra...@go...> in Coolstream Git
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/driver/vcrcontrol.cpp b/tuxbox/neutrino/src/driver/vcrcontrol.cpp
index 0247d2d..a61a967 100644
--- a/tuxbox/neutrino/src/driver/vcrcontrol.cpp
+++ b/tuxbox/neutrino/src/driver/vcrcontrol.cpp
@@ -469,8 +469,12 @@ std::string CVCRControl::CFileAndServerDevice::getMovieInfoString(const t_channe
#else
CEPGData epgdata;
bool has_epgdata = g_Sectionsd->getEPGid(epgid, epg_time, &epgdata);
- if (!has_epgdata && epgTitle.empty())
+ if (!has_epgdata)
+ {
has_epgdata = g_Sectionsd->getActualEPGServiceKey(channel_id, &epgdata);
+ if (has_epgdata && !epgTitle.empty() && epgTitle != epgdata.title)
+ has_epgdata = false;
+ }
if (has_epgdata)
{
#warning fixme sectionsd should deliver data in UTF-8 format
commit b8eab431be06215d2b69b6980dca2221587d3a91
Author: Christian Schuett <Gau...@ho...>
Date: Sat Jan 18 19:25:45 2014 +0100
Neutrino timerlist: skip repeated timer event with blue key
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/data/locale/deutsch.locale b/tuxbox/neutrino/data/locale/deutsch.locale
index e959463..459ef9b 100644
--- a/tuxbox/neutrino/data/locale/deutsch.locale
+++ b/tuxbox/neutrino/data/locale/deutsch.locale
@@ -1432,7 +1432,6 @@ timerlist.apids_dflt Voreingestellte Tonspuren aufnehmen
timerlist.bouquetselect Bouquet wählen
timerlist.channel Kanal
timerlist.channelselect Kanal wählen
-timerlist.close SchlieÃen
timerlist.delete Löschen
timerlist.menumodify Timer bearbeiten
timerlist.menunew Neuer Timer
@@ -1471,6 +1470,7 @@ timerlist.repeatcount Wiederholungen
timerlist.repeatcount.help1 Anzahl der Timerausführungen
timerlist.repeatcount.help2 0 für unbegrenzte Anzahl
timerlist.save Timer speichern
+timerlist.skip Aussetzen
timerlist.standby SB Modus
timerlist.standby.off Aufwachen aus Standby
timerlist.standby.on Auf Standby gehen
diff --git a/tuxbox/neutrino/data/locale/english.locale b/tuxbox/neutrino/data/locale/english.locale
index d03aa0f..835ebe3 100644
--- a/tuxbox/neutrino/data/locale/english.locale
+++ b/tuxbox/neutrino/data/locale/english.locale
@@ -1432,7 +1432,6 @@ timerlist.apids_dflt record default audio streams
timerlist.bouquetselect choose bouquet
timerlist.channel Channel
timerlist.channelselect choose channel
-timerlist.close Exit
timerlist.delete Delete
timerlist.menumodify Modify timer
timerlist.menunew New timer
@@ -1471,6 +1470,7 @@ timerlist.repeatcount repeats
timerlist.repeatcount.help1 amount of timer repeats
timerlist.repeatcount.help2 0 for unlimited repeats
timerlist.save Save timer
+timerlist.skip Skip
timerlist.standby SB mode
timerlist.standby.off Leave standby
timerlist.standby.on Enter standby
diff --git a/tuxbox/neutrino/src/gui/timerlist.cpp b/tuxbox/neutrino/src/gui/timerlist.cpp
index 52b1181..41cff0f 100644
--- a/tuxbox/neutrino/src/gui/timerlist.cpp
+++ b/tuxbox/neutrino/src/gui/timerlist.cpp
@@ -515,7 +515,11 @@ int CTimerList::show()
{
update=true;
}
- else if ( msg == CRCInput::RC_blue || CRCInput::isNumeric(msg) )
+ else if (msg == CRCInput::RC_blue && !timerlist.empty())
+ {
+ update = skipTimer();
+ }
+ else if (CRCInput::isNumeric(msg))
{
//Ignore
}
@@ -751,8 +755,8 @@ const struct button_label TimerListButtons[5] =
{ NEUTRINO_ICON_BUTTON_RED , LOCALE_TIMERLIST_DELETE },
{ NEUTRINO_ICON_BUTTON_GREEN , LOCALE_TIMERLIST_NEW },
{ NEUTRINO_ICON_BUTTON_YELLOW, LOCALE_TIMERLIST_RELOAD },
- { NEUTRINO_ICON_BUTTON_HOME , LOCALE_TIMERLIST_CLOSE },
- { NEUTRINO_ICON_BUTTON_OKAY , LOCALE_TIMERLIST_MODIFY }
+ { NEUTRINO_ICON_BUTTON_OKAY , LOCALE_TIMERLIST_MODIFY },
+ { NEUTRINO_ICON_BUTTON_BLUE , LOCALE_TIMERLIST_SKIP }
};
void CTimerList::paintFoot()
@@ -761,9 +765,13 @@ void CTimerList::paintFoot()
int ButtonWidth = (width - 20) / 5;
frameBuffer->paintBoxRel(x, y_foot, width, footHeight, COL_INFOBAR_SHADOW_PLUS_1, RADIUS_MID, CORNER_BOTTOM);
if (timerlist.empty())
- ::paintButtons(frameBuffer, g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL], g_Locale, x + 10 + ButtonWidth, y_foot, ButtonWidth, 3, &(TimerListButtons[1]));
+ ::paintButtons(frameBuffer, g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL], g_Locale, x + 10 + ButtonWidth, y_foot, ButtonWidth, 2, &(TimerListButtons[1]));
else
- ::paintButtons(frameBuffer, g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL], g_Locale, x + 10, y_foot, ButtonWidth, 5, TimerListButtons);
+ {
+ CTimerd::responseGetTimer* timer = &timerlist[selected];
+ unsigned int buttonsCount = (timer->eventRepeat != CTimerd::TIMERREPEAT_ONCE && timer->repeatCount != 1) ? 5 : 4;
+ ::paintButtons(frameBuffer, g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL], g_Locale, x + 10, y_foot, ButtonWidth, buttonsCount, TimerListButtons);
+ }
}
void CTimerList::paint()
@@ -810,6 +818,8 @@ void CTimerList::updateSelection(unsigned int newpos)
paintItem(prev_selected - liststart);
paintItem(selected - liststart);
}
+
+ paintFoot();
}
}
@@ -1153,6 +1163,89 @@ int CTimerList::newTimer()
return ret;
}
+bool CTimerList::skipTimer()
+{
+ CTimerd::responseGetTimer* timer = &timerlist[selected];
+ if (timer->eventRepeat != CTimerd::TIMERREPEAT_ONCE && timer->repeatCount != 1)
+ {
+ struct tm *t = localtime(&timer->alarmTime);
+ int isdst1 = t->tm_isdst;
+ switch (timer->eventRepeat)
+ {
+ case CTimerd::TIMERREPEAT_DAILY:
+ t->tm_mday++;
+ break;
+ case CTimerd::TIMERREPEAT_WEEKLY:
+ t->tm_mday += 7;
+ break;
+ case CTimerd::TIMERREPEAT_BIWEEKLY:
+ t->tm_mday += 14;
+ break;
+ case CTimerd::TIMERREPEAT_FOURWEEKLY:
+ t->tm_mday += 28;
+ break;
+ case CTimerd::TIMERREPEAT_MONTHLY:
+ t->tm_mon++;
+ break;
+ default:
+ if (timer->eventRepeat >= CTimerd::TIMERREPEAT_WEEKDAYS)
+ {
+ int weekdays = ((int)timer->eventRepeat) >> 9;
+ if (weekdays > 0)
+ {
+ bool weekday_arr[7];
+ weekday_arr[0] = ((weekdays & 0x40) > 0); //So
+ weekday_arr[1] = ((weekdays & 0x1) > 0); //Mo
+ weekday_arr[2] = ((weekdays & 0x2) > 0); //Di
+ weekday_arr[3] = ((weekdays & 0x4) > 0); //Mi
+ weekday_arr[4] = ((weekdays & 0x8) > 0); //Do
+ weekday_arr[5] = ((weekdays & 0x10) > 0); //Fr
+ weekday_arr[6] = ((weekdays & 0x20) > 0); //Sa
+ struct tm *t2 = localtime(&timer->alarmTime);
+ int day = 1;
+ for (; !weekday_arr[(t2->tm_wday + day) % 7]; day++);
+ t2->tm_mday += day;
+ }
+ }
+ }
+ time_t diff = mktime(t) - timer->alarmTime;
+ timer->alarmTime += diff;
+ t = localtime(&timer->alarmTime);
+ int isdst2 = t->tm_isdst;
+ if (isdst2 > isdst1) //change from winter to summer
+ {
+ diff -= 3600;
+ timer->alarmTime -= 3600;
+ }
+ else if (isdst1 > isdst2) //change from summer to winter
+ {
+ diff += 3600;
+ timer->alarmTime += 3600;
+ }
+ if (timer->announceTime > 0)
+ timer->announceTime += diff;
+ if (timer->stopTime > 0)
+ timer->stopTime += diff;
+ if (timer->repeatCount > 0)
+ timer->repeatCount--;
+
+ if (timer->eventType == CTimerd::TIMER_RECORD)
+ {
+ Timer->modifyRecordTimerEvent(timer->eventID, timer->announceTime, timer->alarmTime,
+ timer->stopTime, timer->eventRepeat, timer->repeatCount, timer->recordingDir);
+ }
+ else
+ {
+ Timer->modifyTimerEvent(timer->eventID, timer->announceTime, timer->alarmTime,
+ timer->stopTime, timer->eventRepeat, timer->repeatCount);
+ }
+
+ return true;
+ }
+
+ return false;
+}
+
bool askUserOnTimerConflict(time_t announceTime, time_t stopTime)
{
CTimerdClient Timer;
diff --git a/tuxbox/neutrino/src/gui/timerlist.h b/tuxbox/neutrino/src/gui/timerlist.h
index 6317150..5d29c5e 100644
--- a/tuxbox/neutrino/src/gui/timerlist.h
+++ b/tuxbox/neutrino/src/gui/timerlist.h
@@ -84,6 +84,7 @@ class CTimerList : public CMenuTarget
void updateSelection(unsigned int newpos);
int modifyTimer();
int newTimer();
+ bool skipTimer();
public:
CTimerList();
diff --git a/tuxbox/neutrino/src/system/locals.h b/tuxbox/neutrino/src/system/locals.h
index 48c2862..bd6891e 100644
--- a/tuxbox/neutrino/src/system/locals.h
+++ b/tuxbox/neutrino/src/system/locals.h
@@ -1459,7 +1459,6 @@ typedef enum
LOCALE_TIMERLIST_BOUQUETSELECT,
LOCALE_TIMERLIST_CHAN...
[truncated message content] |