From a6a70301f0f3635b0a9d001051e643b5042a6f83 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Mon, 14 Nov 2016 10:09:34 +0100 Subject: [PATCH 01/20] moviebrowser: add PREVPLAYDATE/RECORDDATE sort buttons to footer Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/2f23aaedea8d219f068f569929f26d6804509e34 Author: vanhofen Date: 2016-11-14 (Mon, 14 Nov 2016) Origin message was: ------------------ - moviebrowser: add PREVPLAYDATE/RECORDDATE sort buttons to footer ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/gui/moviebrowser/mb.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/gui/moviebrowser/mb.cpp b/src/gui/moviebrowser/mb.cpp index 4a768d856..0a59121f2 100644 --- a/src/gui/moviebrowser/mb.cpp +++ b/src/gui/moviebrowser/mb.cpp @@ -2014,6 +2014,18 @@ bool CMovieBrowser::onButtonPressMainFrame(neutrino_msg_t msg) CMenuWidget m(LOCALE_MOVIEBROWSER_FOOT_SORT, NEUTRINO_ICON_SETTINGS); m.addIntroItems(); + // add PREVPLAYDATE/RECORDDATE sort buttons to footer + m.addKey(CRCInput::RC_red, selector, to_string(MB_INFO_PREVPLAYDATE).c_str()); + m.addKey(CRCInput::RC_green, selector, to_string(MB_INFO_RECORDDATE).c_str()); + + button_label footerButtons[] = { + { NEUTRINO_ICON_BUTTON_RED, LOCALE_MOVIEBROWSER_INFO_PREVPLAYDATE}, + { NEUTRINO_ICON_BUTTON_GREEN, LOCALE_MOVIEBROWSER_INFO_RECORDDATE} + }; + int footerButtonsCount = sizeof(footerButtons) / sizeof(button_label); + + m.setFooter(footerButtons, footerButtonsCount); + // just show sorting options for displayed rows; sorted by rows for (int row = 0; row < MB_MAX_ROWS && row < m_settings.browserRowNr; row++) { @@ -2022,6 +2034,10 @@ bool CMovieBrowser::onButtonPressMainFrame(neutrino_msg_t msg) if (sortBy[i] == NULL) continue; + // already added to footer + if (i == MB_INFO_PREVPLAYDATE || i == MB_INFO_RECORDDATE) + continue; + if (m_settings.browserRowItem[row] == i) m.addItem(new CMenuForwarder(g_Locale->getText(m_localizedItemName[i]), true, NULL, selector, to_string(i).c_str(), CRCInput::convertDigitToKey(directkey++))); } From 5e1630278359e8c3fa16f405ca537304849c6365 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Mon, 14 Nov 2016 19:27:09 +0100 Subject: [PATCH 02/20] src/gui/widget/menue.cpp try fix hide info_box (in channellist) Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/99c57d30751643342edc9f87720645063ef2e181 Author: Jacek Jendrzej Date: 2016-11-14 (Mon, 14 Nov 2016) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/gui/widget/menue.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/widget/menue.cpp b/src/gui/widget/menue.cpp index 25b9cc6eb..ad783f396 100644 --- a/src/gui/widget/menue.cpp +++ b/src/gui/widget/menue.cpp @@ -1429,7 +1429,7 @@ void CMenuWidget::paintHint(int pos) if (details_line) details_line->hide(); /* clear info box */ - if ((info_box) && (pos < 0)) + if ((info_box) && ((pos < 0) || savescreen)) savescreen ? info_box->hide() : info_box->kill(); if (info_box) hint_painted = info_box->isPainted(); From 715af204909cc1cbc7bcf4251c88de2ad60b4d1f Mon Sep 17 00:00:00 2001 From: vanhofen Date: Mon, 14 Nov 2016 22:58:43 +0100 Subject: [PATCH 03/20] followscreenings: allow to turn off followscreenings list Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/d6cb1d206f9535c7c9db634e9da8cc36997f94e0 Author: vanhofen Date: 2016-11-14 (Mon, 14 Nov 2016) Origin message was: ------------------ - followscreenings: allow to turn off followscreenings list ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- data/locale/deutsch.locale | 2 ++ data/locale/english.locale | 2 ++ src/gui/followscreenings.cpp | 9 +++++---- src/gui/record_setup.cpp | 7 +++++++ src/neutrino.cpp | 2 ++ src/system/locals.h | 2 ++ src/system/locals_intern.h | 2 ++ src/system/settings.h | 1 + 8 files changed, 23 insertions(+), 4 deletions(-) diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index c3de46465..60122e160 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -1429,6 +1429,7 @@ menu.hint_subchannel_pos Wählen Sie die Anzeigeposition der Unterkanäle aus menu.hint_sw_update Neutrino-HD aktualisieren, Image sichern und wiederherstellen menu.hint_theme Wählen Sie ein vordefiniertes Farbschema, speichern oder laden Sie ihre eigenen Farbschemata menu.hint_timeouts Gibt an, nach welcher Zeit in Sekunden die Menüs oder Infofenster sich automatisch schließen (0 deaktiviert) +menu.hint_timer_followscreenings Zeige Terminauswahl mit Folge-Events zur Timerprogrammierung menu.hint_timers Hinzufügen, entfernen und bearbeiten geplanter Aufnahmen oder anderer Timer menu.hint_timezone Wählen Sie ihre Zeitzone aus menu.hint_tmdb_api_key Geben Sie den TMDb API Schlüssel ein. Eine leere Eingabe schaltet die TMDb-Unterstützung aus @@ -2381,6 +2382,7 @@ timerlist.type.zapto Umschalten timerlist.weekdays Wochentage timerlist.weekdays.hint_1 Mo Di Mi Do Fr Sa So timerlist.weekdays.hint_2 'X'=Timer '-' kein Timer +timersettings.followscreenings Zeige Terminauswahl timersettings.record_safety_time_after Aufnahmeende-Korrektur timersettings.record_safety_time_after.hint_1 Korrekturzeit in Min. (00=aus), die auf die End- timersettings.record_safety_time_after.hint_2 zeit des jeweiligen Timers addiert wird diff --git a/data/locale/english.locale b/data/locale/english.locale index ed16dddb2..5650de51b 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -1429,6 +1429,7 @@ menu.hint_subchannel_pos Select subchannels menu position menu.hint_sw_update Update software menu.hint_theme Select pre-defined color theme\nSave or load theme from files menu.hint_timeouts Configure time to hide GUI windows\nin seconds +menu.hint_timer_followscreenings Show selection with followscreenings for timer programming menu.hint_timers Add/Remove/Edit scheduled\nrecording, reminders etc. menu.hint_timezone Select your timezone menu.hint_tmdb_api_key Type your TMDb API key. An empty input disables TMDb support @@ -2381,6 +2382,7 @@ timerlist.type.zapto Zap to timerlist.weekdays Days of the week timerlist.weekdays.hint_1 Mo Tu We Th Fr Sa Su timerlist.weekdays.hint_2 'X'=timer '-' no timer +timersettings.followscreenings Show screening selection timersettings.record_safety_time_after Record stop time correction timersettings.record_safety_time_after.hint_1 Correction time in min. (00=off). This time timersettings.record_safety_time_after.hint_2 will added to stop time of every record timer. diff --git a/src/gui/followscreenings.cpp b/src/gui/followscreenings.cpp index f8a63edf0..8514a5b53 100644 --- a/src/gui/followscreenings.cpp +++ b/src/gui/followscreenings.cpp @@ -66,6 +66,9 @@ CChannelEventList *CFollowScreenings::getFollowScreenings(void) if (e->description != title) continue; followlist.push_back(*e); + + if (followlist.size() == 1 && !g_settings.timer_followscreenings) + break; } } return &followlist; @@ -87,7 +90,7 @@ int CFollowScreenings::exec(CMenuTarget* /*parent*/, const std::string & actionK if (i->eventType == CTimerd::TIMER_RECORD) { if (channel_id == i->channel_id && e->startTime == i->epg_starttime) { Timer.removeTimerEvent(i->eventID); - if (!forwarders.empty()) + if (!forwarders.empty() && followlist.size() > 1) forwarders[ix]->iconName_Info_right = ""; #if 0 else @@ -106,13 +109,11 @@ int CFollowScreenings::exec(CMenuTarget* /*parent*/, const std::string & actionK e->startTime, e->startTime - (ANNOUNCETIME + 120 ), apids, true, e->startTime - (ANNOUNCETIME + 120) > time(NULL), recDir, true) == -1) { //FIXME -- no error handling, but this shouldn't happen ... } else { - if (!forwarders.empty()) + if (!forwarders.empty() && followlist.size() > 1) forwarders[ix]->iconName_Info_right = NEUTRINO_ICON_REC; -#if 0 else ShowMsg(LOCALE_TIMER_EVENTRECORD_TITLE, LOCALE_TIMER_EVENTRECORD_MSG, CMessageBox::mbrBack, CMessageBox::mbBack, NEUTRINO_ICON_INFO); -#endif return menu_return::RETURN_REPAINT; } break; // for diff --git a/src/gui/record_setup.cpp b/src/gui/record_setup.cpp index 89a5c714d..e788f2da0 100644 --- a/src/gui/record_setup.cpp +++ b/src/gui/record_setup.cpp @@ -338,6 +338,13 @@ void CRecordSetup::showRecordTimerSetup(CMenuWidget *menu_timersettings) ch->setHint("", LOCALE_MENU_HINT_RECORD_ZAP_PRE_TIME); ch->setNumberFormat(nf); menu_timersettings->addItem(ch); + + menu_timersettings->addItem(GenericMenuSeparatorLine); + + //allow followscreenings + CMenuOptionChooser* followscreenings = new CMenuOptionChooser(LOCALE_TIMERSETTINGS_FOLLOWSCREENINGS, &g_settings.timer_followscreenings, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true); + followscreenings->setHint("", LOCALE_MENU_HINT_TIMER_FOLLOWSCREENINGS); + menu_timersettings->addItem(followscreenings); } diff --git a/src/neutrino.cpp b/src/neutrino.cpp index a82795d94..4c5b09fc8 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -481,6 +481,7 @@ int CNeutrinoApp::loadSetup(const char * fname) g_settings.timer_remotebox_ip.push_back(timer_rb); } } + g_settings.timer_followscreenings = configfile.getInt32( "timer_followscreenings", 1 ); g_settings.infobar_sat_display = configfile.getBool("infobar_sat_display" , true ); g_settings.infobar_show_channeldesc = configfile.getBool("infobar_show_channeldesc" , false ); @@ -1084,6 +1085,7 @@ void CNeutrinoApp::saveSetup(const char * fname) timer_remotebox_itemcount++; } configfile.setInt32 ( "timer_remotebox_ip_count", g_settings.timer_remotebox_ip.size()); + configfile.setInt32 ("timer_followscreenings", g_settings.timer_followscreenings); configfile.setBool("infobar_sat_display" , g_settings.infobar_sat_display ); configfile.setBool("infobar_show_channeldesc" , g_settings.infobar_show_channeldesc ); diff --git a/src/system/locals.h b/src/system/locals.h index cf4336a52..993edda05 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -1456,6 +1456,7 @@ typedef enum LOCALE_MENU_HINT_SW_UPDATE, LOCALE_MENU_HINT_THEME, LOCALE_MENU_HINT_TIMEOUTS, + LOCALE_MENU_HINT_TIMER_FOLLOWSCREENINGS, LOCALE_MENU_HINT_TIMERS, LOCALE_MENU_HINT_TIMEZONE, LOCALE_MENU_HINT_TMDB_API_KEY, @@ -2408,6 +2409,7 @@ typedef enum LOCALE_TIMERLIST_WEEKDAYS, LOCALE_TIMERLIST_WEEKDAYS_HINT_1, LOCALE_TIMERLIST_WEEKDAYS_HINT_2, + LOCALE_TIMERSETTINGS_FOLLOWSCREENINGS, LOCALE_TIMERSETTINGS_RECORD_SAFETY_TIME_AFTER, LOCALE_TIMERSETTINGS_RECORD_SAFETY_TIME_AFTER_HINT_1, LOCALE_TIMERSETTINGS_RECORD_SAFETY_TIME_AFTER_HINT_2, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index da28b20bd..a062a9823 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -1456,6 +1456,7 @@ const char * locale_real_names[] = "menu.hint_sw_update", "menu.hint_theme", "menu.hint_timeouts", + "menu.hint_timer_followscreenings", "menu.hint_timers", "menu.hint_timezone", "menu.hint_tmdb_api_key", @@ -2408,6 +2409,7 @@ const char * locale_real_names[] = "timerlist.weekdays", "timerlist.weekdays.hint_1", "timerlist.weekdays.hint_2", + "timersettings.followscreenings", "timersettings.record_safety_time_after", "timersettings.record_safety_time_after.hint_1", "timersettings.record_safety_time_after.hint_2", diff --git a/src/system/settings.h b/src/system/settings.h index bf67d66fc..c95d2f25b 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -460,6 +460,7 @@ struct SNeutrinoSettings int recording_startstop_msg; int shutdown_timer_record_type; std::vector timer_remotebox_ip; + int timer_followscreenings; std::string recording_filename_template; int recording_already_found_check; From 9cab869e1704cdb036f42ab8818c03d6dac33cde Mon Sep 17 00:00:00 2001 From: vanhofen Date: Mon, 14 Nov 2016 23:05:20 +0100 Subject: [PATCH 04/20] Revert "- deutsch.locale: minor changes in menu.hint_record_tevents" This reverts commit fa63ad16f75f48a299366319b46e47c716564a60. Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/23cbcbcdb5f8c7648a4848c644e2e396f0817dbc Author: vanhofen Date: 2016-11-14 (Mon, 14 Nov 2016) ------------------ This commit was generated by Migit --- data/locale/deutsch.locale | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 7eb08e14a..e07a4273e 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -1444,7 +1444,7 @@ menu.hint_record_fill_warn Zeige Warnung, wenn das Aufnahmemedium zu voll wird menu.hint_record_slow_warn Zeige Warnung, wenn der Aufnahmepuffer zu überlaufen droht menu.hint_record_startstop_msg Schaltet die Meldung bei Aufnahmestart/ende ein oder aus. menu.hint_record_tdir Wählen Sie ein Verzeichnis für Ihre Timeshift-Aufnahmen im temporären Timeshift-Modus -menu.hint_record_tevents Beim Wählen der Aufnahme aus dem EPG heraus die Terminliste anzeigen, auch wenn keine weiteren Termine vorhanden sind +menu.hint_record_tevents Beim wählen der Aufnahme aus dem EPG heraus, Timerliste anzeigen auch wenn keine weiteren Termine vorhanden sind menu.hint_record_time Aufzeichnungsdauer vor dem Stopp bei der Verwendung von Direktaufzeichnung mit Record-Taste. menu.hint_record_time_ts Timeshiftdauer vor dem Stopp, wenn temporäres Timeshift aktiviert. menu.hint_record_timeafter Stellen Sie die Nachlaufzeit für Timer-Aufnahmen ein\nEin Wert von 2 beendet die Aufnahme 2 Minuten nach dem Sendungsende From ff9095e66b72031eacf0d03e9019c1561a119539 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Mon, 14 Nov 2016 23:05:36 +0100 Subject: [PATCH 05/20] Revert "Recording Menu: Add option "Always show timer pick list"" This reverts commit 5b4e8952faf92a6abc072aaf62608cef310d2c3d. Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/226ec2c57d9c92e43a53e371cdb11698136b9447 Author: vanhofen Date: 2016-11-14 (Mon, 14 Nov 2016) ------------------ This commit was generated by Migit --- data/locale/deutsch.locale | 2 -- data/locale/english.locale | 2 -- src/gui/followscreenings.cpp | 2 +- src/gui/record_setup.cpp | 5 ----- src/neutrino.cpp | 6 ++---- src/system/locals.h | 2 -- src/system/locals_intern.h | 2 -- src/system/settings.h | 1 - 8 files changed, 3 insertions(+), 19 deletions(-) diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index e07a4273e..0e8e33bb0 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -1444,7 +1444,6 @@ menu.hint_record_fill_warn Zeige Warnung, wenn das Aufnahmemedium zu voll wird menu.hint_record_slow_warn Zeige Warnung, wenn der Aufnahmepuffer zu überlaufen droht menu.hint_record_startstop_msg Schaltet die Meldung bei Aufnahmestart/ende ein oder aus. menu.hint_record_tdir Wählen Sie ein Verzeichnis für Ihre Timeshift-Aufnahmen im temporären Timeshift-Modus -menu.hint_record_tevents Beim wählen der Aufnahme aus dem EPG heraus, Timerliste anzeigen auch wenn keine weiteren Termine vorhanden sind menu.hint_record_time Aufzeichnungsdauer vor dem Stopp bei der Verwendung von Direktaufzeichnung mit Record-Taste. menu.hint_record_time_ts Timeshiftdauer vor dem Stopp, wenn temporäres Timeshift aktiviert. menu.hint_record_timeafter Stellen Sie die Nachlaufzeit für Timer-Aufnahmen ein\nEin Wert von 2 beendet die Aufnahme 2 Minuten nach dem Sendungsende @@ -2314,7 +2313,6 @@ recordingmenu.server Server recordingmenu.server_mac MAC-Adresse recordingmenu.setupnow Einstellungen jetzt übernehmen recordingmenu.slow_warn Warnung bei langsamen Aufnahmemedien -recordingmenu.tevents Timer Auswahlliste immer anzeigen recordingmenu.timeshift Timeshift recordingmenu.tsdir Timeshift Aufnahmeverzeichnis recordingmenu.vcr Videorekorder diff --git a/data/locale/english.locale b/data/locale/english.locale index 8a2ba091c..099dd7ef1 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -1444,7 +1444,6 @@ menu.hint_record_fill_warn Show warning, when record medium is nearly full menu.hint_record_slow_warn Show warning, when record buffer is close to overflow menu.hint_record_startstop_msg Turns the message when recording start/end on or off. menu.hint_record_tdir Select directory to save timeshift recordings\nin temporary timeshift mode -menu.hint_record_tevents When choosing recording from EPG, view Timer list even no further entries found menu.hint_record_time Record duration before stop when\nusing direct record with record button menu.hint_record_time_ts Timeshift duration before stop when\ntemporary timeshift enabled menu.hint_record_timeafter Stop record after event end\nin minutes @@ -2314,7 +2313,6 @@ recordingmenu.server server recordingmenu.server_mac MAC address recordingmenu.setupnow Activate changes recordingmenu.slow_warn Enable slow record warning -recordingmenu.tevents Always show timer pick list recordingmenu.timeshift Timeshift recordingmenu.tsdir Timeshift directory recordingmenu.vcr vcr diff --git a/src/gui/followscreenings.cpp b/src/gui/followscreenings.cpp index fd51a2fed..cd97b89c3 100644 --- a/src/gui/followscreenings.cpp +++ b/src/gui/followscreenings.cpp @@ -155,7 +155,7 @@ void CFollowScreenings::show() getFollowScreenings(); - if (followlist.size() == 1 && !g_settings.recording_tevents) { //NI + if (followlist.size() == 1) { snprintf(actionstr, sizeof(actionstr), "%lu", followlist.front().startTime); exec(NULL, actionstr); } else { diff --git a/src/gui/record_setup.cpp b/src/gui/record_setup.cpp index 55a1fc476..6c4c66c30 100644 --- a/src/gui/record_setup.cpp +++ b/src/gui/record_setup.cpp @@ -266,11 +266,6 @@ int CRecordSetup::showRecordSetup() cover->setHint("", LOCALE_MENU_HINT_RECORD_AUTO_COVER); recordingSettings->addItem(cover); - //NI configure timer events in followcreening - CMenuOptionChooser* tevents = new CMenuOptionChooser(LOCALE_RECORDINGMENU_TEVENTS, &g_settings.recording_tevents, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true); - tevents->setHint("", LOCALE_MENU_HINT_RECORD_TEVENTS); - recordingSettings->addItem(tevents); - recordingSettings->addItem(GenericMenuSeparatorLine); if (!g_settings.easymenu) { diff --git a/src/neutrino.cpp b/src/neutrino.cpp index a994cce7c..5215a8941 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -718,9 +718,8 @@ int CNeutrinoApp::loadSetup(const char * fname) g_settings.recording_epg_for_filename = configfile.getBool("recording_epg_for_filename" , true); g_settings.recording_epg_for_end = configfile.getBool("recording_epg_for_end" , true); g_settings.recording_save_in_channeldir = configfile.getBool("recording_save_in_channeldir" , false); - g_settings.recording_slow_warning = configfile.getBool("recording_slow_warning" , false); //NI - g_settings.recording_fill_warning = configfile.getInt32("recording_fill_warning", 95); //NI - g_settings.recording_tevents = configfile.getBool("recording_tevents", false); //NI + g_settings.recording_slow_warning = configfile.getBool("recording_slow_warning" , false); //NI + g_settings.recording_fill_warning = configfile.getInt32("recording_fill_warning", 95); //NI g_settings.recording_startstop_msg = configfile.getBool("recording_startstop_msg" , true); g_settings.recording_already_found_check = configfile.getBool("recording_already_found_check", false); @@ -1324,7 +1323,6 @@ void CNeutrinoApp::saveSetup(const char * fname) configfile.setBool ("recording_save_in_channeldir" , g_settings.recording_save_in_channeldir ); configfile.setBool ("recording_slow_warning" , g_settings.recording_slow_warning ); configfile.setInt32 ("recording_fill_warning" , g_settings.recording_fill_warning ); //NI - configfile.setBool ("recording_tevents" , g_settings.recording_tevents ); //NI configfile.setBool ("recording_startstop_msg" , g_settings.recording_startstop_msg ); configfile.setBool ("recording_already_found_check" , g_settings.recording_already_found_check ); diff --git a/src/system/locals.h b/src/system/locals.h index 2e0d6ef49..fc04ce8b0 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -1471,7 +1471,6 @@ typedef enum LOCALE_MENU_HINT_RECORD_SLOW_WARN, LOCALE_MENU_HINT_RECORD_STARTSTOP_MSG, LOCALE_MENU_HINT_RECORD_TDIR, - LOCALE_MENU_HINT_RECORD_TEVENTS, LOCALE_MENU_HINT_RECORD_TIME, LOCALE_MENU_HINT_RECORD_TIME_TS, LOCALE_MENU_HINT_RECORD_TIMEAFTER, @@ -2341,7 +2340,6 @@ typedef enum LOCALE_RECORDINGMENU_SERVER_MAC, LOCALE_RECORDINGMENU_SETUPNOW, LOCALE_RECORDINGMENU_SLOW_WARN, - LOCALE_RECORDINGMENU_TEVENTS, LOCALE_RECORDINGMENU_TIMESHIFT, LOCALE_RECORDINGMENU_TSDIR, LOCALE_RECORDINGMENU_VCR, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 775d124de..72e47b91e 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -1471,7 +1471,6 @@ const char * locale_real_names[] = "menu.hint_record_slow_warn", "menu.hint_record_startstop_msg", "menu.hint_record_tdir", - "menu.hint_record_tevents", "menu.hint_record_time", "menu.hint_record_time_ts", "menu.hint_record_timeafter", @@ -2341,7 +2340,6 @@ const char * locale_real_names[] = "recordingmenu.server_mac", "recordingmenu.setupnow", "recordingmenu.slow_warn", - "recordingmenu.tevents", "recordingmenu.timeshift", "recordingmenu.tsdir", "recordingmenu.vcr", diff --git a/src/system/settings.h b/src/system/settings.h index a57042a0a..09e718034 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -466,7 +466,6 @@ struct SNeutrinoSettings int recording_zap_on_announce; int recording_slow_warning; int recording_fill_warning; //NI - int recording_tevents; //NI int recording_startstop_msg; int shutdown_timer_record_type; std::vector timer_remotebox_ip; From aaf394660808bada06425b42266cb085391e7bcd Mon Sep 17 00:00:00 2001 From: vanhofen Date: Tue, 15 Nov 2016 00:05:02 +0100 Subject: [PATCH 06/20] followscreenings: re-add possibility to show followscreenings in every case This commit replaces formerly commit 5b4e8952faf92a6abc072aaf62608cef310d2c3d Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/b7838210a876c4782bf0ea4bcb1f343b6ccde844 Author: vanhofen Date: 2016-11-15 (Tue, 15 Nov 2016) Origin message was: ------------------ - followscreenings: re-add possibility to show followscreenings in every case This commit replaces formerly commit 5b4e8952faf92a6abc072aaf62608cef310d2c3d ------------------ This commit was generated by Migit --- data/locale/deutsch.locale | 3 ++- data/locale/english.locale | 3 ++- src/gui/followscreenings.cpp | 2 +- src/gui/record_setup.cpp | 11 ++++++++++- src/neutrino.cpp | 11 +++++++++++ src/system/locals.h | 1 + src/system/locals_intern.h | 1 + version_pseudo.h | 2 +- 8 files changed, 29 insertions(+), 5 deletions(-) diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 0e8e33bb0..88bd4583d 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -1587,7 +1587,7 @@ menu.hint_subchannel_pos Wählen Sie die Anzeigeposition der Unterkanäle aus menu.hint_sw_update Neutrino-HD aktualisieren, Image sichern und wiederherstellen menu.hint_theme Wählen Sie ein vordefiniertes Farbschema, speichern oder laden Sie ihre eigenen Farbschemata menu.hint_timeouts Gibt an, nach welcher Zeit in Sekunden die Menüs oder Infofenster sich automatisch schließen (0 deaktiviert) -menu.hint_timer_followscreenings Zeige Terminauswahl mit Folge-Events zur Timerprogrammierung +menu.hint_timer_followscreenings Zeige Terminauswahl mit Folge-Events zur Timerprogrammierung. "Immer" zeigt die Auswahl auch dann, wenn nur ein Event gefunden wurde. menu.hint_timers Hinzufügen, entfernen und bearbeiten geplanter Aufnahmen oder anderer Timer menu.hint_timezone Wählen Sie ihre Zeitzone aus menu.hint_tmdb_api_key Geben Sie den TMDb API Schlüssel ein. Eine leere Eingabe schaltet die TMDb-Unterstützung aus @@ -2123,6 +2123,7 @@ opkg.update.check Prüfe auf Updates... opkg.update.reading_lists Paketlisten werden eingelesen... opkg.upgrade Installierte Pakete aktualisieren opkg.warning_3rdparty_packages Drittanbieter-Pakete könnten Ihr System beschädigen! Sind Sie sicher, dieses Paket zu installieren? +options.always immer options.default Voreinstellungen benutzen options.fb framebuffer options.hint_default Setzen Sie die Werte auf die Voreinstellung zurück. diff --git a/data/locale/english.locale b/data/locale/english.locale index 099dd7ef1..baf86c6bb 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -1587,7 +1587,7 @@ menu.hint_subchannel_pos Select subchannels menu position menu.hint_sw_update Update software menu.hint_theme Select pre-defined color theme\nSave or load theme from files menu.hint_timeouts Configure time to hide GUI windows\nin seconds -menu.hint_timer_followscreenings Show selection with followscreenings for timer programming +menu.hint_timer_followscreenings Show selection with followscreenings for timer programming. "Always" shows selection even if just one event is found. menu.hint_timers Add/Remove/Edit scheduled\nrecording, reminders etc. menu.hint_timezone Select your timezone menu.hint_tmdb_api_key Type your TMDb API key. An empty input disables TMDb support @@ -2123,6 +2123,7 @@ opkg.update.check Checking for updates... opkg.update.reading_lists Reading package lists... opkg.upgrade Upgrade installed packages opkg.warning_3rdparty_packages 3rd party packages could damage your system! Are you sure install this package? +options.always always options.default Reset to defaults options.fb framebuffer options.hint_default Reset the values to their defaults diff --git a/src/gui/followscreenings.cpp b/src/gui/followscreenings.cpp index cd97b89c3..43612b78b 100644 --- a/src/gui/followscreenings.cpp +++ b/src/gui/followscreenings.cpp @@ -155,7 +155,7 @@ void CFollowScreenings::show() getFollowScreenings(); - if (followlist.size() == 1) { + if (followlist.size() == 1 && g_settings.timer_followscreenings < 2 /*always*/) { //NI snprintf(actionstr, sizeof(actionstr), "%lu", followlist.front().startTime); exec(NULL, actionstr); } else { diff --git a/src/gui/record_setup.cpp b/src/gui/record_setup.cpp index 6c4c66c30..a1848ac6c 100644 --- a/src/gui/record_setup.cpp +++ b/src/gui/record_setup.cpp @@ -173,6 +173,15 @@ const CMenuOptionChooser::keyval END_OF_RECORDING[END_OF_RECORDING_COUNT] = {1, LOCALE_RECORDINGMENU_END_OF_RECORDING_EPG} }; +//NI +const CMenuOptionChooser::keyval timer_followscreenings_options[] = +{ + {0, LOCALE_OPTIONS_OFF}, + {1, LOCALE_OPTIONS_ON}, + {2, LOCALE_OPTIONS_ALWAYS} +}; +size_t timer_followscreenings_options_count = sizeof(timer_followscreenings_options)/sizeof(CMenuOptionChooser::keyval); + int CRecordSetup::showRecordSetup() { CMenuForwarder * mf; @@ -349,7 +358,7 @@ void CRecordSetup::showRecordTimerSetup(CMenuWidget *menu_timersettings) menu_timersettings->addItem(GenericMenuSeparatorLine); //allow followscreenings - CMenuOptionChooser* followscreenings = new CMenuOptionChooser(LOCALE_TIMERSETTINGS_FOLLOWSCREENINGS, &g_settings.timer_followscreenings, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true); + CMenuOptionChooser* followscreenings = new CMenuOptionChooser(LOCALE_TIMERSETTINGS_FOLLOWSCREENINGS, &g_settings.timer_followscreenings, timer_followscreenings_options, timer_followscreenings_options_count, true); //NI followscreenings->setHint("", LOCALE_MENU_HINT_TIMER_FOLLOWSCREENINGS); menu_timersettings->addItem(followscreenings); } diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 5215a8941..70939bd43 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -1027,6 +1027,7 @@ void CNeutrinoApp::upgradeSetup(const char * fname) configfile.setString("usermenu_tv_yellow", g_settings.usermenu[SNeutrinoSettings::BUTTON_YELLOW]->items); } } + //NI if (g_settings.version_pseudo < "20160623110000") { if (g_settings.screen_xres == 112) @@ -1035,11 +1036,21 @@ void CNeutrinoApp::upgradeSetup(const char * fname) if (g_settings.screen_yres == 112) g_settings.screen_yres = 105; } + //NI if (g_settings.version_pseudo < "20160804110000") { if (g_settings.tmdb_api_key == "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") g_settings.tmdb_api_key = "7270f1b571c4ecbb5b204ddb7f8939b1"; } + //NI + if (g_settings.version_pseudo < "20161411235900") + { + //convert and remove obsolete recording_tevents key + bool recording_tevents = configfile.getBool("recording_tevents", false); + if (recording_tevents) + g_settings.timer_followscreenings = 2 /*always*/; + configfile.deleteKey("recording_tevents"); + } g_settings.version_pseudo = NEUTRINO_VERSION_PSEUDO; configfile.setString("version_pseudo", g_settings.version_pseudo); diff --git a/src/system/locals.h b/src/system/locals.h index fc04ce8b0..19483ecf8 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -2150,6 +2150,7 @@ typedef enum LOCALE_OPKG_UPDATE_READING_LISTS, LOCALE_OPKG_UPGRADE, LOCALE_OPKG_WARNING_3RDPARTY_PACKAGES, + LOCALE_OPTIONS_ALWAYS, LOCALE_OPTIONS_DEFAULT, LOCALE_OPTIONS_FB, LOCALE_OPTIONS_HINT_DEFAULT, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 72e47b91e..5bfce40fa 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -2150,6 +2150,7 @@ const char * locale_real_names[] = "opkg.update.reading_lists", "opkg.upgrade", "opkg.warning_3rdparty_packages", + "options.always", "options.default", "options.fb", "options.hint_default", diff --git a/version_pseudo.h b/version_pseudo.h index e0defae92..24beacfde 100644 --- a/version_pseudo.h +++ b/version_pseudo.h @@ -1 +1 @@ -#define NEUTRINO_VERSION_PSEUDO "20160804110000" +#define NEUTRINO_VERSION_PSEUDO "20161411235900" From 874a27d7b293f24f918c90ab07dde9c5e1a95834 Mon Sep 17 00:00:00 2001 From: TangoCash Date: Tue, 15 Nov 2016 21:30:12 +0100 Subject: [PATCH 07/20] timermanager: disable autoAdjustToEPG for repeating timers Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/b657ef8b3c01e39a6397a85410249e4a7cc2f9b3 Author: TangoCash Date: 2016-11-15 (Tue, 15 Nov 2016) Origin message was: ------------------ - timermanager: disable autoAdjustToEPG for repeating timers ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/timerd/timermanager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/timerd/timermanager.cpp b/src/timerd/timermanager.cpp index 6e17a1c01..12800323c 100644 --- a/src/timerd/timermanager.cpp +++ b/src/timerd/timermanager.cpp @@ -1143,7 +1143,7 @@ CTimerEvent_Record::CTimerEvent_Record(time_t announce_Time, time_t alarm_Time, eventInfo.apids = apids; recordingDir = recDir; epgTitle=""; - autoAdjustToEPG = _autoAdjustToEPG; + autoAdjustToEPG = (evrepeat == CTimerd::TIMERREPEAT_ONCE) ? _autoAdjustToEPG : false; recordingSafety = _recordingSafety; CShortEPGData epgdata; if (CEitManager::getInstance()->getEPGidShort(epgID, &epgdata)) From c72aac7588c5e31f527c7a5acd5d5b8421998a47 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Wed, 16 Nov 2016 00:49:45 +0100 Subject: [PATCH 08/20] record.cpp: avoid segfault in CRecordManager::getUseCI() Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/79c12ed7ad8b19a5f48cf4aa6d920dbb9eb70dec Author: vanhofen Date: 2016-11-16 (Wed, 16 Nov 2016) Origin message was: ------------------ - record.cpp: avoid segfault in CRecordManager::getUseCI() ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/driver/record.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/driver/record.cpp b/src/driver/record.cpp index 1c99b3965..110dbea8f 100644 --- a/src/driver/record.cpp +++ b/src/driver/record.cpp @@ -1820,10 +1820,14 @@ CRecordInstance* CRecordManager::getUseCI() mutex.lock(); for(recmap_iterator_t it = recmap.begin(); it != recmap.end(); it++) { CRecordInstance * inst = it->second; - CZapitChannel * channel = CServiceManager::getInstance()->FindChannel(inst->GetChannelId()); - if (channel->bUseCI) { - mutex.unlock(); - return inst; + if (inst) + { + CZapitChannel * channel = CServiceManager::getInstance()->FindChannel(inst->GetChannelId()); + if (channel && channel->bUseCI) + { + mutex.unlock(); + return inst; + } } } mutex.unlock(); From 179db9f1b47fb56ccaf0ff151c2ba011acd80688 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Wed, 16 Nov 2016 00:55:52 +0100 Subject: [PATCH 09/20] lcd4l: try to fix ModeCam detection; add some new features: * Resolution detection * AspectRatio detection * Videotext detection * DolbyDigital detection Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/6f10060211fb1f7d4d4e3f2942a5e981cf43b747 Author: vanhofen Date: 2016-11-16 (Wed, 16 Nov 2016) Origin message was: ------------------ - lcd4l: try to fix ModeCam detection; add some new features: * Resolution detection * AspectRatio detection * Videotext detection * DolbyDigital detection ------------------ This commit was generated by Migit --- src/gui/lcd4l.cpp | 86 +++++++++++++++++++++++++++++++++++++++++++++-- src/gui/lcd4l.h | 4 +++ 2 files changed, 87 insertions(+), 3 deletions(-) diff --git a/src/gui/lcd4l.cpp b/src/gui/lcd4l.cpp index 13e9fcd86..ab0465100 100644 --- a/src/gui/lcd4l.cpp +++ b/src/gui/lcd4l.cpp @@ -57,6 +57,7 @@ extern int bc_popup_icon; #endif extern CRemoteControl *g_RemoteControl; +extern cVideo *videoDecoder; #define LCD_DATADIR "/tmp/lcd/" @@ -69,6 +70,10 @@ extern CRemoteControl *g_RemoteControl; #define LOGO_DUMMY LCD_ICONSDIR "blank.png" +#define RESOLUTION LCD_DATADIR "resolution" +#define ASPECTRATIO LCD_DATADIR "aspectratio" +#define VIDEOTEXT LCD_DATADIR "videotext" +#define DOLBYDIGITAL LCD_DATADIR "dolbydigital" #define TUNER LCD_DATADIR "tuner" #define VOLUME LCD_DATADIR "volume" #define MODE_REC LCD_DATADIR "mode_rec" @@ -190,6 +195,10 @@ void CLCD4l::Init() { m_ParseID = 0; + m_Resolution = "n/a"; + m_AspectRatio = "n/a"; + m_Videotext = -1; + m_DolbyDigital = "n/a"; m_Tuner = -1; m_Volume = -1; m_ModeRec = -1; @@ -311,6 +320,76 @@ void CLCD4l::ParseInfo(uint64_t parseID, bool newID, bool firstRun) /* ----------------------------------------------------------------- */ + int x_res, y_res, framerate; + videoDecoder->getPictureInfo(x_res, y_res, framerate); + + std::string Resolution = to_string(x_res) + "x" + to_string(y_res); + //Resolution += "\n" + to_string(framerate); //TODO + + if (m_Resolution.compare(Resolution)) + { + WriteFile(RESOLUTION, Resolution); + m_Resolution = Resolution; + } + + /* ----------------------------------------------------------------- */ + + std::string AspectRatio; + switch (videoDecoder->getAspectRatio()) + { + case 0: + AspectRatio = "n/a"; + break; + case 1: + AspectRatio = "4:3"; + break; + case 2: + AspectRatio = "14:9"; + break; + case 3: + AspectRatio = "16:9"; + break; + case 4: + AspectRatio = "20:9"; + break; + default: + AspectRatio = "n/k"; + break; + } + + if (m_AspectRatio.compare(AspectRatio)) + { + WriteFile(ASPECTRATIO, AspectRatio); + m_AspectRatio = AspectRatio; + } + + /* ----------------------------------------------------------------- */ + + int Videotext = g_RemoteControl->current_PIDs.PIDs.vtxtpid; + + if (m_Videotext != Videotext) + { + WriteFile(VIDEOTEXT, Videotext ? "yes" : "no"); + m_Videotext = Videotext; + } + + /* ----------------------------------------------------------------- */ + + std::string DolbyDigital; + if ((g_RemoteControl->current_PIDs.PIDs.selected_apid < g_RemoteControl->current_PIDs.APIDs.size()) && + (g_RemoteControl->current_PIDs.APIDs[g_RemoteControl->current_PIDs.PIDs.selected_apid].is_ac3)) + DolbyDigital = "yes"; + else + DolbyDigital = g_RemoteControl->has_ac3 ? "available" : "no"; + + if (m_DolbyDigital.compare(DolbyDigital)) + { + WriteFile(DOLBYDIGITAL, DolbyDigital); + m_DolbyDigital = DolbyDigital; + } + + /* ----------------------------------------------------------------- */ + int Tuner = 1 + CFEManager::getInstance()->getLiveFE()->getNumber(); if (m_Tuner != Tuner) @@ -412,10 +491,11 @@ void CLCD4l::ParseInfo(uint64_t parseID, bool newID, bool firstRun) /* ----------------------------------------------------------------- */ - int ModeCam = 0; + bool modulePresent = false; + for (unsigned int i = 0; i < cCA::GetInstance()->GetNumberCISlots(); i++) + modulePresent |= cCA::GetInstance()->ModulePresent(CA_SLOT_TYPE_CI, i); - if (CCamManager::getInstance()->getUseCI()) - ModeCam = 1; + int ModeCam = (modulePresent && CCamManager::getInstance()->getUseCI()); if (m_ModeCam != ModeCam) { diff --git a/src/gui/lcd4l.h b/src/gui/lcd4l.h index 7506e1b1a..0d5181aaa 100644 --- a/src/gui/lcd4l.h +++ b/src/gui/lcd4l.h @@ -88,6 +88,10 @@ class CLCD4l int m_Mode; int m_ModeChannel; + std::string m_Resolution; + std::string m_AspectRatio; + int m_Videotext; + std::string m_DolbyDigital; int m_Tuner; int m_Volume; int m_ModeRec; From e413239187c71f8d1cac266bafe186e284544319 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Wed, 16 Nov 2016 01:24:31 +0100 Subject: [PATCH 10/20] lcd4l: fix nevis build Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/1b50438766135ba7db67b7aad453725b202199fa Author: vanhofen Date: 2016-11-16 (Wed, 16 Nov 2016) Origin message was: ------------------ - lcd4l: fix nevis build ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/gui/lcd4l.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/lcd4l.cpp b/src/gui/lcd4l.cpp index ab0465100..5ae2c2da9 100644 --- a/src/gui/lcd4l.cpp +++ b/src/gui/lcd4l.cpp @@ -49,6 +49,7 @@ #include #include #include +#include #include "lcd4l.h" From 70a6056d496aa6ebe9a1651b524331ec07bf55cb Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Wed, 16 Nov 2016 19:29:19 +0100 Subject: [PATCH 11/20] src/gui/channellist.cpp cancel paint_events thread on hide Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/f957bbaa374bc2922e561c66edb33d9e260371f2 Author: Jacek Jendrzej Date: 2016-11-16 (Wed, 16 Nov 2016) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/gui/channellist.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index d3653cd80..7c44d5bf4 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -960,14 +960,15 @@ int CChannelList::show() void CChannelList::hide() { + paint_events(-2); // cancel paint_events thread if ((g_settings.channellist_additional == 2) || (previous_channellist_additional == 2)) // with miniTV { if (cc_minitv) delete cc_minitv; cc_minitv = NULL; } - - header->kill(); + if(header) + header->kill(); if (CChannelLogo){ CChannelLogo->kill(); delete CChannelLogo; From f1343bb8152204affb351579372fe4bf66bc8f93 Mon Sep 17 00:00:00 2001 From: Stefan Seyfried Date: Sun, 16 Feb 2014 13:14:41 +0100 Subject: [PATCH 12/20] disable private copy of the linux dvb headers Move them into subdir private so that they are no longer used by default. They still can be used by extending the include path. Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/5e1efd222f51b8a676fcba259c8be0a9b1e8b9c6 Author: Stefan Seyfried Date: 2014-02-16 (Sun, 16 Feb 2014) ------------------ This commit was generated by Migit --- src/zapit/include/{ => private}/linux/dvb/audio.h | 0 src/zapit/include/{ => private}/linux/dvb/ca.h | 0 src/zapit/include/{ => private}/linux/dvb/dmx.h | 0 src/zapit/include/{ => private}/linux/dvb/frontend.h | 0 src/zapit/include/{ => private}/linux/dvb/net.h | 0 src/zapit/include/{ => private}/linux/dvb/osd.h | 0 src/zapit/include/{ => private}/linux/dvb/version.h | 0 src/zapit/include/{ => private}/linux/dvb/video.h | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename src/zapit/include/{ => private}/linux/dvb/audio.h (100%) rename src/zapit/include/{ => private}/linux/dvb/ca.h (100%) rename src/zapit/include/{ => private}/linux/dvb/dmx.h (100%) rename src/zapit/include/{ => private}/linux/dvb/frontend.h (100%) rename src/zapit/include/{ => private}/linux/dvb/net.h (100%) rename src/zapit/include/{ => private}/linux/dvb/osd.h (100%) rename src/zapit/include/{ => private}/linux/dvb/version.h (100%) rename src/zapit/include/{ => private}/linux/dvb/video.h (100%) diff --git a/src/zapit/include/linux/dvb/audio.h b/src/zapit/include/private/linux/dvb/audio.h similarity index 100% rename from src/zapit/include/linux/dvb/audio.h rename to src/zapit/include/private/linux/dvb/audio.h diff --git a/src/zapit/include/linux/dvb/ca.h b/src/zapit/include/private/linux/dvb/ca.h similarity index 100% rename from src/zapit/include/linux/dvb/ca.h rename to src/zapit/include/private/linux/dvb/ca.h diff --git a/src/zapit/include/linux/dvb/dmx.h b/src/zapit/include/private/linux/dvb/dmx.h similarity index 100% rename from src/zapit/include/linux/dvb/dmx.h rename to src/zapit/include/private/linux/dvb/dmx.h diff --git a/src/zapit/include/linux/dvb/frontend.h b/src/zapit/include/private/linux/dvb/frontend.h similarity index 100% rename from src/zapit/include/linux/dvb/frontend.h rename to src/zapit/include/private/linux/dvb/frontend.h diff --git a/src/zapit/include/linux/dvb/net.h b/src/zapit/include/private/linux/dvb/net.h similarity index 100% rename from src/zapit/include/linux/dvb/net.h rename to src/zapit/include/private/linux/dvb/net.h diff --git a/src/zapit/include/linux/dvb/osd.h b/src/zapit/include/private/linux/dvb/osd.h similarity index 100% rename from src/zapit/include/linux/dvb/osd.h rename to src/zapit/include/private/linux/dvb/osd.h diff --git a/src/zapit/include/linux/dvb/version.h b/src/zapit/include/private/linux/dvb/version.h similarity index 100% rename from src/zapit/include/linux/dvb/version.h rename to src/zapit/include/private/linux/dvb/version.h diff --git a/src/zapit/include/linux/dvb/video.h b/src/zapit/include/private/linux/dvb/video.h similarity index 100% rename from src/zapit/include/linux/dvb/video.h rename to src/zapit/include/private/linux/dvb/video.h From b74a76d7a572af927197ba9c96733684af4955d7 Mon Sep 17 00:00:00 2001 From: TangoCash Date: Wed, 16 Nov 2016 20:09:17 +0100 Subject: [PATCH 13/20] timermanager: try fix autoAdjustToEPG for (repeating) timers Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/8cb0bef8e156a6398101dacce1b5acb586bb70bd Author: TangoCash Date: 2016-11-16 (Wed, 16 Nov 2016) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/timerd/timermanager.cpp | 85 +++++++++++++++++++++++++------------ src/timerd/timermanager.h | 1 + 2 files changed, 59 insertions(+), 27 deletions(-) diff --git a/src/timerd/timermanager.cpp b/src/timerd/timermanager.cpp index 12800323c..a7fecdb5c 100644 --- a/src/timerd/timermanager.cpp +++ b/src/timerd/timermanager.cpp @@ -427,6 +427,38 @@ int CTimerManager::rescheduleEvent(int peventID, time_t announceTime, time_t ala pthread_mutex_unlock(&tm_eventsMutex); return res; } + +int CTimerManager::adjustEvent(int peventID, time_t announceTime, time_t alarmTime, time_t stopTime) +{ + int res = 0; + pthread_mutex_lock(&tm_eventsMutex); + + if(events.find(peventID)!=events.end()) + { + CTimerEvent *event = events[peventID]; + printf("before: EventID: %d - State %d\n",peventID,(int) event->eventState); + time_t now = time(NULL); + if(event->announceTime > 0) + event->announceTime = announceTime; + if (event->announceTime > now) + event->eventState = CTimerd::TIMERSTATE_SCHEDULED; + if(event->alarmTime > 0) + event->alarmTime = alarmTime; + if ((event->alarmTime > now) && (event->announceTime < now)) + event->eventState = CTimerd::TIMERSTATE_PREANNOUNCE; + if(event->stopTime > 0) + event->stopTime = stopTime; + if ((event->stopTime > now) && (event->alarmTime < now)) + event->eventState = CTimerd::TIMERSTATE_ISRUNNING; + m_saveEvents=true; + res = peventID; + printf("after: EventID: %d - State %d\n",peventID,(int) event->eventState); + } + else + res = 0; + pthread_mutex_unlock(&tm_eventsMutex); + return res; +} // --------------------------------------------------------------------------------- void CTimerManager::loadEventsFromConfig() { @@ -1143,7 +1175,7 @@ CTimerEvent_Record::CTimerEvent_Record(time_t announce_Time, time_t alarm_Time, eventInfo.apids = apids; recordingDir = recDir; epgTitle=""; - autoAdjustToEPG = (evrepeat == CTimerd::TIMERREPEAT_ONCE) ? _autoAdjustToEPG : false; + autoAdjustToEPG = _autoAdjustToEPG; recordingSafety = _recordingSafety; CShortEPGData epgdata; if (CEitManager::getInstance()->getEPGidShort(epgID, &epgdata)) @@ -1214,6 +1246,8 @@ void CTimerEvent_Record::announceEvent() //------------------------------------------------------------ void CTimerEvent_Record::stopEvent() { + if (adjustToCurrentEPG()) + return; CTimerd::RecordingStopInfo stopinfo; // Set EPG-ID if not set stopinfo.eventID = eventID; @@ -1306,44 +1340,41 @@ bool CTimerEvent_Record::adjustToCurrentEPG() CChannelEventList evtlist; CEitManager::getInstance()->getEventsServiceKey(eventInfo.channel_id, evtlist); - time_t now = time(NULL); - time_t compare; - int pre, post; CTimerManager::getInstance()->getRecordingSafety(pre, post); - CChannelEventList::iterator first = evtlist.end(); - for (CChannelEventList::iterator e = evtlist.begin(); e != evtlist.end(); ++e) - { - compare = e->startTime; - if (!pre) - compare += e->duration; + time_t _announceTime = announceTime; + time_t _alarmTime = alarmTime; + time_t _stopTime = stopTime; - if (compare <= now) - continue; - if (first == evtlist.end() || first->startTime > e->startTime) - first = e; - if (alarmTime <= e->startTime && e->startTime + (int)e->duration <= stopTime) - return false; + if (recordingSafety) { + _alarmTime += pre; + _stopTime -= post; + } + + // we check for a time in the middle of the recording without considering pre and post + time_t check_time=_alarmTime/2 + _stopTime/2; + for ( CChannelEventList::iterator e= evtlist.begin(); e != evtlist.end(); ++e ) + { + if ( e->startTime <= check_time && (e->startTime + (int)e->duration) >= check_time) + { + _announceTime = e->startTime - (alarmTime - announceTime); + _alarmTime = e->startTime; + _stopTime = e->startTime + e->duration; + break; + } } - if (first == evtlist.end()) - return false; - time_t _announceTime = first->startTime - (alarmTime - announceTime); - time_t _alarmTime = first->startTime; - time_t _stopTime = first->startTime + first->duration; if (recordingSafety) { _alarmTime -= pre; _stopTime += post; } - CTimerEvent_Record *event= new CTimerEvent_Record(_announceTime, _alarmTime, _stopTime, - eventInfo.channel_id, eventInfo.epgID, first->startTime, eventInfo.apids, - CTimerd::TIMERREPEAT_ONCE, 1, recordingDir, recordingSafety, autoAdjustToEPG); - CTimerManager::getInstance()->addEvent(event,false); - setState(CTimerd::TIMERSTATE_HASFINISHED); + if ((_alarmTime != alarmTime) || (_announceTime != announceTime) || (_stopTime != stopTime)) + if (CTimerManager::getInstance()->adjustEvent(eventID, _announceTime, _alarmTime, _stopTime)) + return true; - return true; + return false; } //============================================================= // Zapto Event diff --git a/src/timerd/timermanager.h b/src/timerd/timermanager.h index 188751e45..414ebf28e 100644 --- a/src/timerd/timermanager.h +++ b/src/timerd/timermanager.h @@ -249,6 +249,7 @@ public: int modifyEvent(int eventID, time_t announceTime, time_t alarmTime, time_t stopTime, uint32_t repeatcount, CTimerd::CTimerEventRepeat evrepeat, CTimerd::responseGetTimer& data); int modifyEvent(int eventID, unsigned char apids); int rescheduleEvent(int eventID, time_t announceTime, time_t alarmTime, time_t stopTime); + int adjustEvent(int eventID, time_t announceTime, time_t alarmTime, time_t stopTime); void saveEventsToConfig(); void loadEventsFromConfig(); bool shutdown(); From 0f5446036c30adcf3a51596b01531447be88b2df Mon Sep 17 00:00:00 2001 From: Stefan Seyfried Date: Wed, 16 Nov 2016 20:30:14 +0100 Subject: [PATCH 14/20] make sure the private dvb headers are used on coolstream Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/045587f6eca8b9e67814dfa97f14f1c07e86b3f9 Author: Stefan Seyfried Date: 2016-11-16 (Wed, 16 Nov 2016) ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- configure.ac | 4 ++-- lib/sectionsdclient/Makefile.am | 1 + lib/timerdclient/Makefile.am | 1 + src/nhttpd/Makefile.am | 3 ++- src/nhttpd/yhttpd_mods/Makefile.am | 1 + src/timerd/Makefile.am | 1 + src/zapit/lib/Makefile.am | 1 + 7 files changed, 9 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 1f553e6e0..7fd8adc65 100644 --- a/configure.ac +++ b/configure.ac @@ -220,7 +220,7 @@ if test "$BOXTYPE" = "coolstream"; then if test -e ${srcdir}/lib/libcoolstream/nevis_ir.h; then AC_DEFINE(HAVE_COOLSTREAM_NEVIS_IR_H,1,[Define to 1 if you have the header file.]) fi -HWLIB_CFLAGS='-I$(top_srcdir)/lib/libcoolstream' +HWLIB_CFLAGS='-I$(top_srcdir)/lib/libcoolstream -I$(top_srcdir)/src/zapit/include/private' if test "$BOXMODEL" = "apollo"; then if test -e ${srcdir}/lib/libcoolstream2/cs_ir_generic.h; then @@ -229,7 +229,7 @@ fi if test -e ${srcdir}/lib/libcoolstream2/cs_frontpanel.h; then AC_DEFINE(HAVE_COOLSTREAM_CS_FRONTPANEL_H,1,[Define to 1 if you have the header file.]) fi -HWLIB_CFLAGS='-I$(top_srcdir)/lib/libcoolstream2' +HWLIB_CFLAGS='-I$(top_srcdir)/lib/libcoolstream2 -I$(top_srcdir)/src/zapit/include/private' fi fi diff --git a/lib/sectionsdclient/Makefile.am b/lib/sectionsdclient/Makefile.am index 016fb6603..8a322cd07 100644 --- a/lib/sectionsdclient/Makefile.am +++ b/lib/sectionsdclient/Makefile.am @@ -1,4 +1,5 @@ AM_CPPFLAGS = \ + @HWLIB_CFLAGS@ \ -I$(top_srcdir)/lib \ -I$(top_srcdir)/src/zapit/include \ -I$(top_srcdir)/lib/connection \ diff --git a/lib/timerdclient/Makefile.am b/lib/timerdclient/Makefile.am index ce2f0f72d..96b51f53b 100644 --- a/lib/timerdclient/Makefile.am +++ b/lib/timerdclient/Makefile.am @@ -1,4 +1,5 @@ AM_CPPFLAGS = \ + @HWLIB_CFLAGS@ \ -I$(top_srcdir)/lib \ -I$(top_srcdir)/src/zapit/include \ -I$(top_srcdir)/lib/connection \ diff --git a/src/nhttpd/Makefile.am b/src/nhttpd/Makefile.am index d1aae8bc4..1ea01bff6 100644 --- a/src/nhttpd/Makefile.am +++ b/src/nhttpd/Makefile.am @@ -3,6 +3,7 @@ SUBDIRS = yhttpd_core yhttpd_mods tuxboxapi web AM_CPPFLAGS = -fno-rtti -fno-exceptions -D_FILE_OFFSET_BITS=64 AM_CPPFLAGS += \ + @HWLIB_CFLAGS@ \ -I$(srcdir) \ -I$(top_builddir) \ -I$(top_srcdir) \ @@ -23,4 +24,4 @@ libnhttpd_a_SOURCES = yhttpd.cpp libnhttpd_adir = @CONFIGDIR@ libnhttpd_a_DATA = nhttpd.conf -EXTRA_DIST = nhttpd.conf nhttpd.conf.in \ No newline at end of file +EXTRA_DIST = nhttpd.conf nhttpd.conf.in diff --git a/src/nhttpd/yhttpd_mods/Makefile.am b/src/nhttpd/yhttpd_mods/Makefile.am index 2e748d983..a08445dbd 100644 --- a/src/nhttpd/yhttpd_mods/Makefile.am +++ b/src/nhttpd/yhttpd_mods/Makefile.am @@ -1,4 +1,5 @@ AM_CPPFLAGS = \ + @HWLIB_CFLAGS@ \ -I$(top_builddir) \ -I$(top_srcdir)/lib \ -I$(top_srcdir)/src/zapit/include \ diff --git a/src/timerd/Makefile.am b/src/timerd/Makefile.am index 4bbe89fa6..b3c68456f 100644 --- a/src/timerd/Makefile.am +++ b/src/timerd/Makefile.am @@ -1,6 +1,7 @@ AM_CPPFLAGS = -fno-rtti -fno-exceptions -D__STDC_FORMAT_MACROS AM_CPPFLAGS += \ + @HWLIB_CFLAGS@ \ -I$(top_builddir) \ -I$(top_srcdir) \ -I$(top_srcdir)/src \ diff --git a/src/zapit/lib/Makefile.am b/src/zapit/lib/Makefile.am index 2d884b259..e62c50637 100644 --- a/src/zapit/lib/Makefile.am +++ b/src/zapit/lib/Makefile.am @@ -1,6 +1,7 @@ AM_CPPFLAGS = -fno-rtti -fno-exceptions AM_CPPFLAGS += \ + @HWLIB_CFLAGS@ \ -I$(top_builddir) \ -I$(top_srcdir) \ -I$(top_srcdir)/src/zapit/include \ From 38520024ef1f56f7979b442ed307e862337222ec Mon Sep 17 00:00:00 2001 From: vanhofen Date: Wed, 16 Nov 2016 20:43:28 +0100 Subject: [PATCH 15/20] lcd4l: reduce console spam in module detection Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/90215fc6eea670d1e8b004660ce6e1127b1954db Author: vanhofen Date: 2016-11-16 (Wed, 16 Nov 2016) Origin message was: ------------------ - lcd4l: reduce console spam in module detection ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/gui/lcd4l.cpp | 11 +++++++---- src/gui/lcd4l.h | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/gui/lcd4l.cpp b/src/gui/lcd4l.cpp index 5ae2c2da9..209cb505d 100644 --- a/src/gui/lcd4l.cpp +++ b/src/gui/lcd4l.cpp @@ -206,6 +206,7 @@ void CLCD4l::Init() m_ModeTshift = -1; m_ModeTimer = -1; m_ModeEcm = -1; + m_ModeCamPresent= false; m_ModeCam = -1; #ifdef BP m_ModeNews = -1; @@ -492,11 +493,13 @@ void CLCD4l::ParseInfo(uint64_t parseID, bool newID, bool firstRun) /* ----------------------------------------------------------------- */ - bool modulePresent = false; - for (unsigned int i = 0; i < cCA::GetInstance()->GetNumberCISlots(); i++) - modulePresent |= cCA::GetInstance()->ModulePresent(CA_SLOT_TYPE_CI, i); + if (firstRun) //FIXME; what if module is added/removed while lcd4l is running? + { + for (unsigned int i = 0; i < cCA::GetInstance()->GetNumberCISlots(); i++) + m_ModeCamPresent |= cCA::GetInstance()->ModulePresent(CA_SLOT_TYPE_CI, i); + } - int ModeCam = (modulePresent && CCamManager::getInstance()->getUseCI()); + int ModeCam = (m_ModeCamPresent && CCamManager::getInstance()->getUseCI()); if (m_ModeCam != ModeCam) { diff --git a/src/gui/lcd4l.h b/src/gui/lcd4l.h index 0d5181aaa..73ab62dfa 100644 --- a/src/gui/lcd4l.h +++ b/src/gui/lcd4l.h @@ -98,6 +98,7 @@ class CLCD4l int m_ModeTshift; int m_ModeTimer; int m_ModeEcm; + bool m_ModeCamPresent; int m_ModeCam; #ifdef BP int m_ModeNews; From 08cf7677c429e7b874600baf760c5db32b173c14 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Thu, 17 Nov 2016 00:18:09 +0100 Subject: [PATCH 16/20] timerlist: reduce flicker-effects while timerlist construction Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/0ce3513d7838ab54be6ab952a504d791968535bc Author: vanhofen Date: 2016-11-17 (Thu, 17 Nov 2016) Origin message was: ------------------ - timerlist: reduce flicker-effects while timerlist construction ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/gui/timerlist.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/timerlist.cpp b/src/gui/timerlist.cpp index ba8b76aff..44f29e802 100644 --- a/src/gui/timerlist.cpp +++ b/src/gui/timerlist.cpp @@ -1418,6 +1418,8 @@ void CTimerList::paint() CVFD::getInstance()->setMode(CVFD::MODE_MENU_UTF8, g_Locale->getText(LOCALE_TIMERLIST_NAME)); paintHead(); + frameBuffer->paintBoxRel(x, y + theight, width, height - theight - footerHeight, COL_MENUCONTENT_PLUS_0); //NI + paintFoot(); //NI for (unsigned int count=0; countpaintBoxRel(x+ width- 13, ypos+ 2+ page_nr * (sb-4)/sbc, 11, (sb-4)/sbc, COL_SCROLLBAR_ACTIVE_PLUS_0, RADIUS_SMALL); } - paintFoot(); + //NI paintFoot(); visible = true; } From 48ead0f1691f165d6ad4132c211311e04c967968 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Thu, 17 Nov 2016 01:48:32 +0100 Subject: [PATCH 17/20] moviebrowser: fix input for end mark and lastplay mark Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/86c3655e967d9adbdfcd6b0d34c9c1a47e9e6f95 Author: vanhofen Date: 2016-11-17 (Thu, 17 Nov 2016) Origin message was: ------------------ - moviebrowser: fix input for end mark and lastplay mark ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/gui/moviebrowser/mb.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/moviebrowser/mb.cpp b/src/gui/moviebrowser/mb.cpp index 0a59121f2..fc5810c15 100644 --- a/src/gui/moviebrowser/mb.cpp +++ b/src/gui/moviebrowser/mb.cpp @@ -3159,8 +3159,8 @@ int CMovieBrowser::showMovieInfoMenu(MI_MOVIE_INFO* movie_info) bookmarkMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_BOOK_CLEAR_ALL, true, NULL, this, "book_clear_all",CRCInput::RC_blue)); bookmarkMenu.addItem(GenericMenuSeparatorLine); bookmarkMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_BOOK_MOVIESTART, true, bookStartIntInput.getValue(), &bookStartIntInput)); - bookmarkMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_BOOK_MOVIEEND, true, bookEndIntInput.getValue(), &bookLastIntInput)); - bookmarkMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_BOOK_LASTMOVIESTOP, true, bookLastIntInput.getValue(), &bookEndIntInput)); + bookmarkMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_BOOK_MOVIEEND, true, bookEndIntInput.getValue(), &bookEndIntInput)); + bookmarkMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_BOOK_LASTMOVIESTOP, true, bookLastIntInput.getValue(), &bookLastIntInput)); bookmarkMenu.addItem(GenericMenuSeparatorLine); for (int li =0 ; li < MI_MOVIE_BOOK_USER_MAX && li < MAX_NUMBER_OF_BOOKMARK_ITEMS; li++) From 9d65df3050060d54e862e5032572e76459eb2530 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Thu, 17 Nov 2016 01:48:32 +0100 Subject: [PATCH 18/20] locale: small changes in moviebrowser's bookmark locales Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/7a3839c7f596a326c5a0bac9cbb49e219bcef3ae Author: vanhofen Date: 2016-11-17 (Thu, 17 Nov 2016) Origin message was: ------------------ - locale: small changes in moviebrowser's bookmark locales ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- data/locale/deutsch.locale | 8 ++++---- data/locale/english.locale | 20 ++++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 60122e160..f68a06067 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -1632,7 +1632,7 @@ moviebrowser.book_name Name: moviebrowser.book_new Neue Markierung moviebrowser.book_no_end Keine Endmarkierung gefunden moviebrowser.book_position Position: -moviebrowser.book_type Sprung (<0 zurück, >0 vor): +moviebrowser.book_type Sprung (<0: zurück, >0: vor): moviebrowser.book_type_backward Wiederholung moviebrowser.book_type_forward Überspringen moviebrowser.browser_additional Zusätzliche Informationen @@ -1655,13 +1655,13 @@ moviebrowser.delete_screenshot Lösche Screenshot? moviebrowser.dir Pfad moviebrowser.directories Verzeichnisse moviebrowser.directories_additional Zusätzliche Verzeichnisse -moviebrowser.edit_book Bookmark Ändern +moviebrowser.edit_book Markierung ändern moviebrowser.edit_book_name_info1 Neuer Markierungsname -moviebrowser.edit_book_name_info2 Markierungsname info2 +moviebrowser.edit_book_name_info2 moviebrowser.edit_book_pos_info1 Neue Position (s) moviebrowser.edit_book_pos_info2 moviebrowser.edit_book_type_info1 Neue Sprunglänge (s) -moviebrowser.edit_book_type_info2 <0 zurück , >0 vor, 0: kein +moviebrowser.edit_book_type_info2 <0: zurück, >0: vor, 0: kein moviebrowser.edit_serie Name der Serie moviebrowser.error_no_movies Keine Filme gefunden moviebrowser.filter_off Filter aus diff --git a/data/locale/english.locale b/data/locale/english.locale index 5650de51b..499b67789 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -1627,14 +1627,14 @@ moviebrowser.book_clear_all Clear all moviebrowser.book_head Bookmarks moviebrowser.book_lastmoviestop Last play stop: moviebrowser.book_movieend Movie end: -moviebrowser.book_moviestart User Movie start: +moviebrowser.book_moviestart Movie start: moviebrowser.book_name Name: -moviebrowser.book_new New Bookmark -moviebrowser.book_no_end No end bookmark defined +moviebrowser.book_new New bookmark +moviebrowser.book_no_end No end mark defined moviebrowser.book_position Position: -moviebrowser.book_type Jump (<0 back , >0 for): +moviebrowser.book_type Jump (<0: backward, >0: forward): moviebrowser.book_type_backward Repeat -moviebrowser.book_type_forward jump over +moviebrowser.book_type_forward Jump over moviebrowser.browser_additional Additional informations moviebrowser.browser_frame_high Browser height [%] moviebrowser.browser_row_head Row settings @@ -1655,13 +1655,13 @@ moviebrowser.delete_screenshot Delete screenshot? moviebrowser.dir Path moviebrowser.directories Directories moviebrowser.directories_additional Additional directories -moviebrowser.edit_book Bookmark change -moviebrowser.edit_book_name_info1 Enter new Bookmark name -moviebrowser.edit_book_name_info2 book name info2 -moviebrowser.edit_book_pos_info1 Enter new Position (s) +moviebrowser.edit_book Change bookmark +moviebrowser.edit_book_name_info1 Enter new bookmark name +moviebrowser.edit_book_name_info2 +moviebrowser.edit_book_pos_info1 Enter new position (s) moviebrowser.edit_book_pos_info2 moviebrowser.edit_book_type_info1 Enter new jump length (s) -moviebrowser.edit_book_type_info2 <0 back , >0 for, 0: none +moviebrowser.edit_book_type_info2 <0: backward, >0: forward, 0: none moviebrowser.edit_serie Enter name of serie moviebrowser.error_no_movies No movies found moviebrowser.filter_off Filter off From ac2c9e2822a93c74e7a97d0fc1199c8054ee767c Mon Sep 17 00:00:00 2001 From: vanhofen Date: Thu, 17 Nov 2016 01:48:32 +0100 Subject: [PATCH 19/20] moviebrowser: use red key to remove all user bookmarks Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/d171038a6e603ffd0dac89681a8f7e7a9dda0554 Author: vanhofen Date: 2016-11-17 (Thu, 17 Nov 2016) Origin message was: ------------------ - moviebrowser: use red key to remove all user bookmarks ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/gui/moviebrowser/mb.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/moviebrowser/mb.cpp b/src/gui/moviebrowser/mb.cpp index fc5810c15..2bb550ec3 100644 --- a/src/gui/moviebrowser/mb.cpp +++ b/src/gui/moviebrowser/mb.cpp @@ -3156,7 +3156,7 @@ int CMovieBrowser::showMovieInfoMenu(MI_MOVIE_INFO* movie_info) CMenuWidget bookmarkMenu(LOCALE_MOVIEBROWSER_HEAD, NEUTRINO_ICON_MOVIEPLAYER); bookmarkMenu.addIntroItems(LOCALE_MOVIEBROWSER_BOOK_HEAD); - bookmarkMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_BOOK_CLEAR_ALL, true, NULL, this, "book_clear_all",CRCInput::RC_blue)); + bookmarkMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_BOOK_CLEAR_ALL, true, NULL, this, "book_clear_all", CRCInput::RC_red)); bookmarkMenu.addItem(GenericMenuSeparatorLine); bookmarkMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_BOOK_MOVIESTART, true, bookStartIntInput.getValue(), &bookStartIntInput)); bookmarkMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_BOOK_MOVIEEND, true, bookEndIntInput.getValue(), &bookEndIntInput)); From 04d25db0433b437bbbd656d9e80f53a7c42048ae Mon Sep 17 00:00:00 2001 From: vanhofen Date: Thu, 17 Nov 2016 01:48:32 +0100 Subject: [PATCH 20/20] moviebrowser: more clarity in bookmark menu Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/365f36df92153790f355e1c9b1452f7dfec3b999 Author: vanhofen Date: 2016-11-17 (Thu, 17 Nov 2016) Origin message was: ------------------ - moviebrowser: more clarity in bookmark menu ------------------ No further description and justification available within origin commit message! ------------------ This commit was generated by Migit --- src/gui/moviebrowser/mb.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/gui/moviebrowser/mb.cpp b/src/gui/moviebrowser/mb.cpp index 2bb550ec3..449173685 100644 --- a/src/gui/moviebrowser/mb.cpp +++ b/src/gui/moviebrowser/mb.cpp @@ -3165,17 +3165,21 @@ int CMovieBrowser::showMovieInfoMenu(MI_MOVIE_INFO* movie_info) for (int li =0 ; li < MI_MOVIE_BOOK_USER_MAX && li < MAX_NUMBER_OF_BOOKMARK_ITEMS; li++) { - CKeyboardInput * pBookNameInput = new CKeyboardInput(LOCALE_MOVIEBROWSER_EDIT_BOOK_NAME_INFO1, &movie_info->bookmarks.user[li].name, 20); - CIntInput *pBookPosIntInput = new CIntInput(LOCALE_MOVIEBROWSER_EDIT_BOOK, (int *)&movie_info->bookmarks.user[li].pos, 20, LOCALE_MOVIEBROWSER_EDIT_BOOK_POS_INFO1, LOCALE_MOVIEBROWSER_EDIT_BOOK_POS_INFO2); - CIntInput *pBookTypeIntInput = new CIntInput(LOCALE_MOVIEBROWSER_EDIT_BOOK, (int *)&movie_info->bookmarks.user[li].length, 20, LOCALE_MOVIEBROWSER_EDIT_BOOK_TYPE_INFO1, LOCALE_MOVIEBROWSER_EDIT_BOOK_TYPE_INFO2); + std::string bookmark_user_name = g_Locale->getText(LOCALE_MOVIEBROWSER_BOOK_NEW); + if (!movie_info->bookmarks.user[li].name.empty()) + bookmark_user_name = movie_info->bookmarks.user[li].name; + + CKeyboardInput *pBookNameInput = new CKeyboardInput(LOCALE_MOVIEBROWSER_EDIT_BOOK, &movie_info->bookmarks.user[li].name, 20, NULL, NULL, LOCALE_MOVIEBROWSER_EDIT_BOOK_NAME_INFO1, LOCALE_MOVIEBROWSER_EDIT_BOOK_NAME_INFO2); + CIntInput *pBookPosIntInput = new CIntInput(LOCALE_MOVIEBROWSER_EDIT_BOOK, (int *)&movie_info->bookmarks.user[li].pos, 5, LOCALE_MOVIEBROWSER_EDIT_BOOK_POS_INFO1, LOCALE_MOVIEBROWSER_EDIT_BOOK_POS_INFO2); + CIntInput *pBookTypeIntInput = new CIntInput(LOCALE_MOVIEBROWSER_EDIT_BOOK, (int *)&movie_info->bookmarks.user[li].length, 20, LOCALE_MOVIEBROWSER_EDIT_BOOK_TYPE_INFO1, LOCALE_MOVIEBROWSER_EDIT_BOOK_TYPE_INFO2); CMenuWidget* pBookItemMenu = new CMenuWidget(LOCALE_MOVIEBROWSER_BOOK_HEAD, NEUTRINO_ICON_MOVIEPLAYER); pBookItemMenu->addItem(GenericMenuSeparator); - pBookItemMenu->addItem(new CMenuDForwarder(LOCALE_MOVIEBROWSER_BOOK_NAME, true, movie_info->bookmarks.user[li].name, pBookNameInput)); + pBookItemMenu->addItem(new CMenuDForwarder(LOCALE_MOVIEBROWSER_BOOK_NAME, true, bookmark_user_name.c_str(), pBookNameInput)); pBookItemMenu->addItem(new CMenuDForwarder(LOCALE_MOVIEBROWSER_BOOK_POSITION, true, pBookPosIntInput->getValue(), pBookPosIntInput)); pBookItemMenu->addItem(new CMenuDForwarder(LOCALE_MOVIEBROWSER_BOOK_TYPE, true, pBookTypeIntInput->getValue(), pBookTypeIntInput)); - bookmarkMenu.addItem(new CMenuDForwarder(movie_info->bookmarks.user[li].name.c_str(), true, pBookPosIntInput->getValue(), pBookItemMenu)); + bookmarkMenu.addItem(new CMenuDForwarder(bookmark_user_name.c_str(), true, pBookPosIntInput->getValue(), pBookItemMenu)); } /********************************************************************/