diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 3b4b48321..d678b9b7b 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -309,6 +309,7 @@ ci.ignore_msg CA Meldungen ignorieren ci.init_failed CAM-Init fehlgeschlagen ci.init_ok CAM-Init beendet ci.inserted CAM im Slot +ci.rec_zapto Umschalten bei Aufnahmen mit CAM ci.removed CAM entfernt -> Slot ci.reset Reset ci.reset_standby Reset nach Standby diff --git a/data/locale/english.locale b/data/locale/english.locale index 974f90872..f5d6fd869 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -309,6 +309,7 @@ ci.ignore_msg Ignore CA messages ci.init_failed CAM init failed ci.init_ok CAM init complete ci.inserted CAM inserted in slot +ci.rec_zapto Zap when recording needs CAM ci.removed CAM removed from slot ci.reset Reset ci.reset_standby Reset after standby diff --git a/src/gui/cam_menu.cpp b/src/gui/cam_menu.cpp index 7934a87e1..2ba4d8a19 100644 --- a/src/gui/cam_menu.cpp +++ b/src/gui/cam_menu.cpp @@ -139,6 +139,8 @@ int CCAMMenuHandler::doMainMenu() } cammenu->addItem( new CMenuOptionChooser(LOCALE_CI_IGNORE_MSG, &g_settings.ci_ignore_messages, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true)); cammenu->addItem( new CMenuOptionChooser(LOCALE_CI_SAVE_PINCODE, &g_settings.ci_save_pincode, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this)); + //NI + cammenu->addItem( new CMenuOptionChooser(LOCALE_CI_REC_ZAPTO, &g_settings.ci_rec_zapto, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this)); #ifdef BOXMODEL_APOLLO CMenuOptionChooser::keyval_ext feselect[fecount+1]; diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 0e6f5f65d..4cdc4df8f 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -453,6 +453,7 @@ int CNeutrinoApp::loadSetup(const char * fname) g_settings.ci_save_pincode = configfile.getInt32("ci_save_pincode", 0); g_settings.ci_pincode = configfile.getString("ci_pincode", ""); g_settings.ci_tuner = configfile.getInt32("ci_tuner", -1); + g_settings.ci_rec_zapto = configfile.getInt32("ci_rec_zapto", 0); //NI #ifndef CPU_FREQ g_settings.cpufreq = 0; @@ -1071,6 +1072,7 @@ void CNeutrinoApp::saveSetup(const char * fname) configfile.setInt32("ci_save_pincode", g_settings.ci_save_pincode); configfile.setString("ci_pincode", g_settings.ci_pincode); configfile.setInt32("ci_tuner", g_settings.ci_tuner); + configfile.setInt32("ci_rec_zapto", g_settings.ci_rec_zapto); //NI configfile.setInt32( "make_hd_list", g_settings.make_hd_list); configfile.setInt32( "make_webtv_list", g_settings.make_webtv_list); @@ -3252,7 +3254,12 @@ int CNeutrinoApp::handleMsg(const neutrino_msg_t _msg, neutrino_msg_data_t data) if((eventinfo->channel_id != live_channel_id) && !(SAME_TRANSPONDER(live_channel_id, eventinfo->channel_id))) zapTo(eventinfo->channel_id); } - + //NI zap to CI Channel + if(g_settings.ci_rec_zapto){ + CZapitChannel * ch = CServiceManager::getInstance()->FindChannel(eventinfo->channel_id); + if (ch && ch->bUseCI && (eventinfo->channel_id != live_channel_id)) + zapTo(eventinfo->channel_id); + } if (g_settings.recording_type != CNeutrinoApp::RECORDING_OFF) { CRecordManager::getInstance()->Record(eventinfo); autoshift = CRecordManager::getInstance()->TimeshiftOnly(); diff --git a/src/system/locals.h b/src/system/locals.h index 29bd4ae9d..31ad2fb6f 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -336,6 +336,7 @@ typedef enum LOCALE_CI_INIT_FAILED, LOCALE_CI_INIT_OK, LOCALE_CI_INSERTED, + LOCALE_CI_REC_ZAPTO, LOCALE_CI_REMOVED, LOCALE_CI_RESET, LOCALE_CI_RESET_STANDBY, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 4e5e52f30..06b4d09fd 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -336,6 +336,7 @@ const char * locale_real_names[] = "ci.init_failed", "ci.init_ok", "ci.inserted", + "ci.rec_zapto", "ci.removed", "ci.reset", "ci.reset_standby", diff --git a/src/system/settings.h b/src/system/settings.h index 5da98790b..e2eb86aef 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -235,6 +235,7 @@ struct SNeutrinoSettings int ci_ignore_messages; int ci_save_pincode; int ci_tuner; + int ci_rec_zapto; //NI std::string ci_pincode; int radiotext_enable; int easymenu;