mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-27 15:32:59 +02:00
- add epg_save_frequently feature ...
... to provide the EPG data in frequently intervals on an external device
This commit is contained in:
@@ -956,6 +956,7 @@ menu.hint_epg_max_events Maxiale Anzahl der Events im Zwischenspeicher
|
|||||||
menu.hint_epg_old_events Veraltete EPG-Daten werden nach dieser Zeit (in Stunden) verworfen
|
menu.hint_epg_old_events Veraltete EPG-Daten werden nach dieser Zeit (in Stunden) verworfen
|
||||||
menu.hint_epg_read Liest nach einem Neustart die EPG-Daten von einem externen Datenträger wieder ein
|
menu.hint_epg_read Liest nach einem Neustart die EPG-Daten von einem externen Datenträger wieder ein
|
||||||
menu.hint_epg_save Speichert die EPG-Daten beim Herunterfahren auf einem externen Datenträger
|
menu.hint_epg_save Speichert die EPG-Daten beim Herunterfahren auf einem externen Datenträger
|
||||||
|
menu.hint_epg_save_frequently Speichert die EPG-Daten in regelmäßigen Abständen auf einem externen Datenträger
|
||||||
menu.hint_epg_save_standby Speichert die EPG-Daten auch, wenn in den Standby-Modus geschalten wird
|
menu.hint_epg_save_standby Speichert die EPG-Daten auch, wenn in den Standby-Modus geschalten wird
|
||||||
menu.hint_epg_scan Zu scannende Bouquets wählen. Aktuelles Bouquet beim Umschalten, markierte Bouquets oder alle Favoriten
|
menu.hint_epg_scan Zu scannende Bouquets wählen. Aktuelles Bouquet beim Umschalten, markierte Bouquets oder alle Favoriten
|
||||||
menu.hint_epg_scan_mode Aktivieren Sie den Hintergrundscan der EPG-Daten, wenn ein freier Tuner vorhanden ist
|
menu.hint_epg_scan_mode Aktivieren Sie den Hintergrundscan der EPG-Daten, wenn ein freier Tuner vorhanden ist
|
||||||
@@ -1390,6 +1391,7 @@ miscsettings.epg_old_events_hint1 Wie lange abgelaufene EPG-Daten aufheben?
|
|||||||
miscsettings.epg_old_events_hint2 Angabe in Stunden
|
miscsettings.epg_old_events_hint2 Angabe in Stunden
|
||||||
miscsettings.epg_read Gespeicherte EPG-Daten einlesen
|
miscsettings.epg_read Gespeicherte EPG-Daten einlesen
|
||||||
miscsettings.epg_save EPG zwischenspeichern
|
miscsettings.epg_save EPG zwischenspeichern
|
||||||
|
miscsettings.epg_save_frequently EPG regelmäßig speichern
|
||||||
miscsettings.epg_save_standby EPG speichern in Standby-Modus
|
miscsettings.epg_save_standby EPG speichern in Standby-Modus
|
||||||
miscsettings.epg_scan Hintergrundscan EPG
|
miscsettings.epg_scan Hintergrundscan EPG
|
||||||
miscsettings.epg_scan_always Immer
|
miscsettings.epg_scan_always Immer
|
||||||
|
@@ -956,6 +956,7 @@ menu.hint_epg_max_events Maximum events to cache. After reaching limit\nEPG cach
|
|||||||
menu.hint_epg_old_events Hours after event end time to consider\nevent old and remove it from cache
|
menu.hint_epg_old_events Hours after event end time to consider\nevent old and remove it from cache
|
||||||
menu.hint_epg_read Read saved EPG data after boot from an external device
|
menu.hint_epg_read Read saved EPG data after boot from an external device
|
||||||
menu.hint_epg_save Save cached EPG data to an external device
|
menu.hint_epg_save Save cached EPG data to an external device
|
||||||
|
menu.hint_epg_save_frequently Save cached EPG data in frequently intervals to an external device
|
||||||
menu.hint_epg_save_standby Save EPG on soft standby mode
|
menu.hint_epg_save_standby Save EPG on soft standby mode
|
||||||
menu.hint_epg_scan Select bouquets to scan epg, current on zap,\nall or selected favorites
|
menu.hint_epg_scan Select bouquets to scan epg, current on zap,\nall or selected favorites
|
||||||
menu.hint_epg_scan_mode Enable background epg scan using free tuner
|
menu.hint_epg_scan_mode Enable background epg scan using free tuner
|
||||||
@@ -1390,6 +1391,7 @@ miscsettings.epg_old_events_hint1 How long will EPG-Data be stored after they ti
|
|||||||
miscsettings.epg_old_events_hint2 Set in hours
|
miscsettings.epg_old_events_hint2 Set in hours
|
||||||
miscsettings.epg_read Restore EPG on boot
|
miscsettings.epg_read Restore EPG on boot
|
||||||
miscsettings.epg_save Save EPG on shutdown
|
miscsettings.epg_save Save EPG on shutdown
|
||||||
|
miscsettings.epg_save_frequently Save EPG frequently
|
||||||
miscsettings.epg_save_standby Save EPG on soft standby
|
miscsettings.epg_save_standby Save EPG on soft standby
|
||||||
miscsettings.epg_scan EPG scan mode
|
miscsettings.epg_scan EPG scan mode
|
||||||
miscsettings.epg_scan_always Always
|
miscsettings.epg_scan_always Always
|
||||||
|
@@ -101,6 +101,7 @@ struct sectionsd
|
|||||||
int epg_extendedcache;
|
int epg_extendedcache;
|
||||||
// std::string network_ntpserver;
|
// std::string network_ntpserver;
|
||||||
// std::string epg_dir;
|
// std::string epg_dir;
|
||||||
|
int epg_save_frequently;
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@@ -206,6 +206,7 @@ void CSectionsdClient::setConfig(const epg_config config)
|
|||||||
msg->network_ntprefresh = config.network_ntprefresh;
|
msg->network_ntprefresh = config.network_ntprefresh;
|
||||||
msg->network_ntpenable = config.network_ntpenable;
|
msg->network_ntpenable = config.network_ntpenable;
|
||||||
msg->epg_extendedcache = config.epg_extendedcache;
|
msg->epg_extendedcache = config.epg_extendedcache;
|
||||||
|
msg->epg_save_frequently= config.epg_save_frequently;
|
||||||
// config.network_ntpserver:
|
// config.network_ntpserver:
|
||||||
strcpy(&pData[sizeof(sectionsd::commandSetConfig)], config.network_ntpserver.c_str());
|
strcpy(&pData[sizeof(sectionsd::commandSetConfig)], config.network_ntpserver.c_str());
|
||||||
// config.epg_dir:
|
// config.epg_dir:
|
||||||
|
@@ -162,6 +162,7 @@ class CSectionsdClient : private CBasicClient
|
|||||||
int network_ntpenable;
|
int network_ntpenable;
|
||||||
int epg_extendedcache;
|
int epg_extendedcache;
|
||||||
std::string network_ntpserver;
|
std::string network_ntpserver;
|
||||||
|
int epg_save_frequently;
|
||||||
std::string epg_dir;
|
std::string epg_dir;
|
||||||
} epg_config;
|
} epg_config;
|
||||||
|
|
||||||
|
@@ -71,6 +71,7 @@ static bool notify_complete = false;
|
|||||||
/* period to clean cached sections and force restart sections read */
|
/* period to clean cached sections and force restart sections read */
|
||||||
#define META_HOUSEKEEPING_COUNT (24 * 60 * 60) / HOUSEKEEPING_SLEEP // meta housekeeping after XX housekeepings - every 24h -
|
#define META_HOUSEKEEPING_COUNT (24 * 60 * 60) / HOUSEKEEPING_SLEEP // meta housekeeping after XX housekeepings - every 24h -
|
||||||
#define STANDBY_HOUSEKEEPING_COUNT (60 * 60) / HOUSEKEEPING_SLEEP
|
#define STANDBY_HOUSEKEEPING_COUNT (60 * 60) / HOUSEKEEPING_SLEEP
|
||||||
|
#define EPG_SAVE_FREQUENTLY_COUNT (60 * 60) / HOUSEKEEPING_SLEEP
|
||||||
|
|
||||||
// Timeout bei tcp/ip connections in ms
|
// Timeout bei tcp/ip connections in ms
|
||||||
#define READ_TIMEOUT_IN_SECONDS 2
|
#define READ_TIMEOUT_IN_SECONDS 2
|
||||||
@@ -82,6 +83,7 @@ static bool notify_complete = false;
|
|||||||
// number of timeouts after which we stop waiting for an EIT version number
|
// number of timeouts after which we stop waiting for an EIT version number
|
||||||
#define TIMEOUTS_EIT_VERSION_WAIT (2 * CHECK_RESTART_DMX_AFTER_TIMEOUTS)
|
#define TIMEOUTS_EIT_VERSION_WAIT (2 * CHECK_RESTART_DMX_AFTER_TIMEOUTS)
|
||||||
|
|
||||||
|
static unsigned int epg_save_frequently;
|
||||||
static long secondsToCache;
|
static long secondsToCache;
|
||||||
static long secondsExtendedTextCache;
|
static long secondsExtendedTextCache;
|
||||||
static long oldEventsAre;
|
static long oldEventsAre;
|
||||||
@@ -1108,6 +1110,7 @@ static void commandSetConfig(int connfd, char *data, const unsigned /*dataLength
|
|||||||
oldEventsAre = (long)(pmsg->epg_old_events)*60L*60L;
|
oldEventsAre = (long)(pmsg->epg_old_events)*60L*60L;
|
||||||
secondsExtendedTextCache = (long)(pmsg->epg_extendedcache)*60L*60L;
|
secondsExtendedTextCache = (long)(pmsg->epg_extendedcache)*60L*60L;
|
||||||
max_events = pmsg->epg_max_events;
|
max_events = pmsg->epg_max_events;
|
||||||
|
epg_save_frequently = pmsg->epg_save_frequently;
|
||||||
unlockEvents();
|
unlockEvents();
|
||||||
|
|
||||||
bool time_wakeup = false;
|
bool time_wakeup = false;
|
||||||
@@ -2036,7 +2039,7 @@ static void print_meminfo(void)
|
|||||||
//---------------------------------------------------------------------
|
//---------------------------------------------------------------------
|
||||||
static void *houseKeepingThread(void *)
|
static void *houseKeepingThread(void *)
|
||||||
{
|
{
|
||||||
int count = 0, scount = 0;
|
int count = 0, scount = 0, ecount = 0;
|
||||||
|
|
||||||
dprintf("housekeeping-thread started.\n");
|
dprintf("housekeeping-thread started.\n");
|
||||||
pthread_setcanceltype (PTHREAD_CANCEL_ASYNCHRONOUS, 0);
|
pthread_setcanceltype (PTHREAD_CANCEL_ASYNCHRONOUS, 0);
|
||||||
@@ -2065,6 +2068,23 @@ static void *houseKeepingThread(void *)
|
|||||||
|
|
||||||
removeOldEvents(oldEventsAre); // alte Events
|
removeOldEvents(oldEventsAre); // alte Events
|
||||||
|
|
||||||
|
ecount++;
|
||||||
|
if (ecount == EPG_SAVE_FREQUENTLY_COUNT)
|
||||||
|
{
|
||||||
|
if (epg_save_frequently > 0)
|
||||||
|
{
|
||||||
|
std::string d = epg_dir;
|
||||||
|
if (d.length() > 1)
|
||||||
|
{
|
||||||
|
std::string::iterator it = d.end() - 1;
|
||||||
|
if (*it == '/')
|
||||||
|
d.erase(it);
|
||||||
|
}
|
||||||
|
writeEventsToFile((char *)d.c_str());
|
||||||
|
}
|
||||||
|
ecount = 0;
|
||||||
|
}
|
||||||
|
|
||||||
readLockEvents();
|
readLockEvents();
|
||||||
dprintf("Number of sptr events (event-ID): %u\n", (unsigned)mySIeventsOrderUniqueKey.size());
|
dprintf("Number of sptr events (event-ID): %u\n", (unsigned)mySIeventsOrderUniqueKey.size());
|
||||||
dprintf("Number of sptr events (service-id, start time, event-id): %u\n", (unsigned)mySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey.size());
|
dprintf("Number of sptr events (service-id, start time, event-id): %u\n", (unsigned)mySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey.size());
|
||||||
@@ -2118,6 +2138,7 @@ bool CEitManager::Start()
|
|||||||
secondsExtendedTextCache = config.epg_extendedcache*60L*60L; //hours
|
secondsExtendedTextCache = config.epg_extendedcache*60L*60L; //hours
|
||||||
oldEventsAre = config.epg_old_events*60L*60L; //hours
|
oldEventsAre = config.epg_old_events*60L*60L; //hours
|
||||||
max_events = config.epg_max_events;
|
max_events = config.epg_max_events;
|
||||||
|
epg_save_frequently = config.epg_save_frequently;
|
||||||
|
|
||||||
if (find_executable("ntpdate").empty())
|
if (find_executable("ntpdate").empty())
|
||||||
ntp_system_cmd_prefix = "ntpd -n -q -p ";
|
ntp_system_cmd_prefix = "ntpd -n -q -p ";
|
||||||
|
@@ -66,6 +66,7 @@ CMiscMenue::CMiscMenue()
|
|||||||
|
|
||||||
epg_save = NULL;
|
epg_save = NULL;
|
||||||
epg_save_standby = NULL;
|
epg_save_standby = NULL;
|
||||||
|
epg_save_frequently = NULL;
|
||||||
epg_read = NULL;
|
epg_read = NULL;
|
||||||
epg_dir = NULL;
|
epg_dir = NULL;
|
||||||
}
|
}
|
||||||
@@ -80,6 +81,10 @@ CMiscMenue::~CMiscMenue()
|
|||||||
delete epg_save_standby;
|
delete epg_save_standby;
|
||||||
epg_save_standby = NULL;
|
epg_save_standby = NULL;
|
||||||
}
|
}
|
||||||
|
if (epg_save_frequently) {
|
||||||
|
delete epg_save_frequently;
|
||||||
|
epg_save_frequently = NULL;
|
||||||
|
}
|
||||||
if (epg_read) {
|
if (epg_read) {
|
||||||
delete epg_read;
|
delete epg_read;
|
||||||
epg_read = NULL;
|
epg_read = NULL;
|
||||||
@@ -415,6 +420,9 @@ void CMiscMenue::showMiscSettingsMenuEpg(CMenuWidget *ms_epg)
|
|||||||
epg_save_standby = new CMenuOptionChooser(LOCALE_MISCSETTINGS_EPG_SAVE_STANDBY, &g_settings.epg_save_standby, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, g_settings.epg_save);
|
epg_save_standby = new CMenuOptionChooser(LOCALE_MISCSETTINGS_EPG_SAVE_STANDBY, &g_settings.epg_save_standby, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, g_settings.epg_save);
|
||||||
epg_save_standby->setHint("", LOCALE_MENU_HINT_EPG_SAVE_STANDBY);
|
epg_save_standby->setHint("", LOCALE_MENU_HINT_EPG_SAVE_STANDBY);
|
||||||
|
|
||||||
|
epg_save_frequently = new CMenuOptionChooser(LOCALE_MISCSETTINGS_EPG_SAVE_FREQUENTLY, &g_settings.epg_save_frequently, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, g_settings.epg_save, sectionsdConfigNotifier);
|
||||||
|
epg_save_frequently->setHint("", LOCALE_MENU_HINT_EPG_SAVE_FREQUENTLY);
|
||||||
|
|
||||||
epg_read = new CMenuOptionChooser(LOCALE_MISCSETTINGS_EPG_READ, &g_settings.epg_read, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this);
|
epg_read = new CMenuOptionChooser(LOCALE_MISCSETTINGS_EPG_READ, &g_settings.epg_read, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this);
|
||||||
epg_read->setHint("", LOCALE_MENU_HINT_EPG_READ);
|
epg_read->setHint("", LOCALE_MENU_HINT_EPG_READ);
|
||||||
|
|
||||||
@@ -462,6 +470,7 @@ void CMiscMenue::showMiscSettingsMenuEpg(CMenuWidget *ms_epg)
|
|||||||
|
|
||||||
ms_epg->addItem(epg_save);
|
ms_epg->addItem(epg_save);
|
||||||
ms_epg->addItem(epg_save_standby);
|
ms_epg->addItem(epg_save_standby);
|
||||||
|
ms_epg->addItem(epg_save_frequently);
|
||||||
ms_epg->addItem(epg_read);
|
ms_epg->addItem(epg_read);
|
||||||
ms_epg->addItem(epg_dir);
|
ms_epg->addItem(epg_dir);
|
||||||
ms_epg->addItem(GenericMenuSeparatorLine);
|
ms_epg->addItem(GenericMenuSeparatorLine);
|
||||||
@@ -581,8 +590,11 @@ bool CMiscMenue::changeNotify(const neutrino_locale_t OptionName, void * /*data*
|
|||||||
if (g_settings.epg_save)
|
if (g_settings.epg_save)
|
||||||
g_settings.epg_read = true;
|
g_settings.epg_read = true;
|
||||||
epg_save_standby->setActive(g_settings.epg_save);
|
epg_save_standby->setActive(g_settings.epg_save);
|
||||||
|
epg_save_frequently->setActive(g_settings.epg_save);
|
||||||
epg_dir->setActive(g_settings.epg_save || g_settings.epg_read);
|
epg_dir->setActive(g_settings.epg_save || g_settings.epg_read);
|
||||||
|
|
||||||
|
CNeutrinoApp::getInstance()->SendSectionsdConfig();
|
||||||
|
|
||||||
ret = menu_return::RETURN_REPAINT;
|
ret = menu_return::RETURN_REPAINT;
|
||||||
}
|
}
|
||||||
else if (ARE_LOCALES_EQUAL(OptionName, LOCALE_MISCSETTINGS_EPG_READ))
|
else if (ARE_LOCALES_EQUAL(OptionName, LOCALE_MISCSETTINGS_EPG_READ))
|
||||||
|
@@ -44,6 +44,7 @@ class CMiscMenue : public CMenuTarget, CChangeObserver
|
|||||||
COnOffNotifier* miscEpgScanNotifier;
|
COnOffNotifier* miscEpgScanNotifier;
|
||||||
CMenuOptionChooser * epg_save;
|
CMenuOptionChooser * epg_save;
|
||||||
CMenuOptionChooser * epg_save_standby;
|
CMenuOptionChooser * epg_save_standby;
|
||||||
|
CMenuOptionChooser * epg_save_frequently;
|
||||||
CMenuOptionChooser * epg_read;
|
CMenuOptionChooser * epg_read;
|
||||||
CMenuForwarder * epg_dir;
|
CMenuForwarder * epg_dir;
|
||||||
int width;
|
int width;
|
||||||
|
@@ -512,6 +512,7 @@ int CNeutrinoApp::loadSetup(const char * fname)
|
|||||||
|
|
||||||
g_settings.epg_save = configfile.getBool("epg_save", false);
|
g_settings.epg_save = configfile.getBool("epg_save", false);
|
||||||
g_settings.epg_save_standby = configfile.getBool("epg_save_standby", true);
|
g_settings.epg_save_standby = configfile.getBool("epg_save_standby", true);
|
||||||
|
g_settings.epg_save_frequently = configfile.getInt32("epg_save_frequently", false);
|
||||||
g_settings.epg_read = configfile.getBool("epg_read", g_settings.epg_save);
|
g_settings.epg_read = configfile.getBool("epg_read", g_settings.epg_save);
|
||||||
g_settings.epg_scan = configfile.getInt32("epg_scan", CEpgScan::SCAN_CURRENT);
|
g_settings.epg_scan = configfile.getInt32("epg_scan", CEpgScan::SCAN_CURRENT);
|
||||||
g_settings.epg_scan_mode = configfile.getInt32("epg_scan_mode", CEpgScan::MODE_OFF);
|
g_settings.epg_scan_mode = configfile.getInt32("epg_scan_mode", CEpgScan::MODE_OFF);
|
||||||
@@ -1019,6 +1020,7 @@ void CNeutrinoApp::saveSetup(const char * fname)
|
|||||||
// epg
|
// epg
|
||||||
configfile.setBool("epg_save", g_settings.epg_save);
|
configfile.setBool("epg_save", g_settings.epg_save);
|
||||||
configfile.setBool("epg_save_standby", g_settings.epg_save_standby);
|
configfile.setBool("epg_save_standby", g_settings.epg_save_standby);
|
||||||
|
configfile.setInt32("epg_save_frequently", g_settings.epg_save_frequently);
|
||||||
configfile.setBool("epg_read", g_settings.epg_read);
|
configfile.setBool("epg_read", g_settings.epg_read);
|
||||||
configfile.setInt32("epg_scan", g_settings.epg_scan);
|
configfile.setInt32("epg_scan", g_settings.epg_scan);
|
||||||
configfile.setInt32("epg_scan_mode", g_settings.epg_scan_mode);
|
configfile.setInt32("epg_scan_mode", g_settings.epg_scan_mode);
|
||||||
@@ -1674,6 +1676,7 @@ void CNeutrinoApp::MakeSectionsdConfig(CSectionsdClient::epg_config& config)
|
|||||||
config.epg_old_events = g_settings.epg_old_events;
|
config.epg_old_events = g_settings.epg_old_events;
|
||||||
config.epg_max_events = g_settings.epg_max_events;
|
config.epg_max_events = g_settings.epg_max_events;
|
||||||
config.epg_extendedcache = g_settings.epg_extendedcache;
|
config.epg_extendedcache = g_settings.epg_extendedcache;
|
||||||
|
config.epg_save_frequently = g_settings.epg_save ? g_settings.epg_save_frequently : 0;
|
||||||
config.epg_dir = g_settings.epg_dir;
|
config.epg_dir = g_settings.epg_dir;
|
||||||
config.network_ntpserver = g_settings.network_ntpserver;
|
config.network_ntpserver = g_settings.network_ntpserver;
|
||||||
config.network_ntprefresh = atoi(g_settings.network_ntprefresh.c_str());
|
config.network_ntprefresh = atoi(g_settings.network_ntprefresh.c_str());
|
||||||
|
@@ -983,6 +983,7 @@ typedef enum
|
|||||||
LOCALE_MENU_HINT_EPG_OLD_EVENTS,
|
LOCALE_MENU_HINT_EPG_OLD_EVENTS,
|
||||||
LOCALE_MENU_HINT_EPG_READ,
|
LOCALE_MENU_HINT_EPG_READ,
|
||||||
LOCALE_MENU_HINT_EPG_SAVE,
|
LOCALE_MENU_HINT_EPG_SAVE,
|
||||||
|
LOCALE_MENU_HINT_EPG_SAVE_FREQUENTLY,
|
||||||
LOCALE_MENU_HINT_EPG_SAVE_STANDBY,
|
LOCALE_MENU_HINT_EPG_SAVE_STANDBY,
|
||||||
LOCALE_MENU_HINT_EPG_SCAN,
|
LOCALE_MENU_HINT_EPG_SCAN,
|
||||||
LOCALE_MENU_HINT_EPG_SCAN_MODE,
|
LOCALE_MENU_HINT_EPG_SCAN_MODE,
|
||||||
@@ -1417,6 +1418,7 @@ typedef enum
|
|||||||
LOCALE_MISCSETTINGS_EPG_OLD_EVENTS_HINT2,
|
LOCALE_MISCSETTINGS_EPG_OLD_EVENTS_HINT2,
|
||||||
LOCALE_MISCSETTINGS_EPG_READ,
|
LOCALE_MISCSETTINGS_EPG_READ,
|
||||||
LOCALE_MISCSETTINGS_EPG_SAVE,
|
LOCALE_MISCSETTINGS_EPG_SAVE,
|
||||||
|
LOCALE_MISCSETTINGS_EPG_SAVE_FREQUENTLY,
|
||||||
LOCALE_MISCSETTINGS_EPG_SAVE_STANDBY,
|
LOCALE_MISCSETTINGS_EPG_SAVE_STANDBY,
|
||||||
LOCALE_MISCSETTINGS_EPG_SCAN,
|
LOCALE_MISCSETTINGS_EPG_SCAN,
|
||||||
LOCALE_MISCSETTINGS_EPG_SCAN_ALWAYS,
|
LOCALE_MISCSETTINGS_EPG_SCAN_ALWAYS,
|
||||||
|
@@ -983,6 +983,7 @@ const char * locale_real_names[] =
|
|||||||
"menu.hint_epg_old_events",
|
"menu.hint_epg_old_events",
|
||||||
"menu.hint_epg_read",
|
"menu.hint_epg_read",
|
||||||
"menu.hint_epg_save",
|
"menu.hint_epg_save",
|
||||||
|
"menu.hint_epg_save_frequently",
|
||||||
"menu.hint_epg_save_standby",
|
"menu.hint_epg_save_standby",
|
||||||
"menu.hint_epg_scan",
|
"menu.hint_epg_scan",
|
||||||
"menu.hint_epg_scan_mode",
|
"menu.hint_epg_scan_mode",
|
||||||
@@ -1417,6 +1418,7 @@ const char * locale_real_names[] =
|
|||||||
"miscsettings.epg_old_events_hint2",
|
"miscsettings.epg_old_events_hint2",
|
||||||
"miscsettings.epg_read",
|
"miscsettings.epg_read",
|
||||||
"miscsettings.epg_save",
|
"miscsettings.epg_save",
|
||||||
|
"miscsettings.epg_save_frequently",
|
||||||
"miscsettings.epg_save_standby",
|
"miscsettings.epg_save_standby",
|
||||||
"miscsettings.epg_scan",
|
"miscsettings.epg_scan",
|
||||||
"miscsettings.epg_scan_always",
|
"miscsettings.epg_scan_always",
|
||||||
|
@@ -219,6 +219,7 @@ struct SNeutrinoSettings
|
|||||||
// EPG
|
// EPG
|
||||||
int epg_save;
|
int epg_save;
|
||||||
int epg_save_standby;
|
int epg_save_standby;
|
||||||
|
int epg_save_frequently;
|
||||||
int epg_read;
|
int epg_read;
|
||||||
int epg_cache;
|
int epg_cache;
|
||||||
int epg_old_events;
|
int epg_old_events;
|
||||||
|
Reference in New Issue
Block a user