From 14191a0c62eb8ed5b7182eb259ec5f4152ec5ce7 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Tue, 30 Apr 2013 10:14:13 +0400 Subject: [PATCH 01/62] system/settings.h: comment unused in next branch FONT_TYPE_EVENTLIST_EVENT --- src/system/settings.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/system/settings.h b/src/system/settings.h index 983cb2c8e..c5fb45755 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -493,7 +493,7 @@ struct SNeutrinoSettings FONT_TYPE_EVENTLIST_ITEMLARGE, FONT_TYPE_EVENTLIST_ITEMSMALL, FONT_TYPE_EVENTLIST_DATETIME, - FONT_TYPE_EVENTLIST_EVENT, + //FONT_TYPE_EVENTLIST_EVENT, FONT_TYPE_GAMELIST_ITEMLARGE, FONT_TYPE_GAMELIST_ITEMSMALL, FONT_TYPE_CHANNELLIST, From 1d1aacf42ce358e77e54636998028d5081deddab Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Tue, 30 Apr 2013 10:14:36 +0400 Subject: [PATCH 02/62] zapit/src/femanager.cpp: set independent mode for all tuners if box canble-only --- src/zapit/src/femanager.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/zapit/src/femanager.cpp b/src/zapit/src/femanager.cpp index d152438c6..0d871c8cd 100644 --- a/src/zapit/src/femanager.cpp +++ b/src/zapit/src/femanager.cpp @@ -206,6 +206,9 @@ bool CFEManager::loadSettings() int def_mode0 = CFrontend::FE_MODE_INDEPENDENT; int def_modeX = CFrontend::FE_MODE_UNUSED; + if (cableOnly()) + def_modeX = CFrontend::FE_MODE_INDEPENDENT; + int newmode = (fe_mode_t) configfile.getInt32("mode", -1); if (newmode >= 0) { INFO("old mode param: %d\n", newmode); From 2cfb8d487acc44b1d34561ec31941a959bb0bf41 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Tue, 30 Apr 2013 10:14:59 +0400 Subject: [PATCH 03/62] gui/scan_setup.cpp: dont show rotor options on cable-only box --- src/gui/scan_setup.cpp | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/src/gui/scan_setup.cpp b/src/gui/scan_setup.cpp index 6047b5579..8a8098222 100644 --- a/src/gui/scan_setup.cpp +++ b/src/gui/scan_setup.cpp @@ -623,31 +623,33 @@ int CScanSetup::showScanMenuFrontendSetup() nc->setHint("", LOCALE_MENU_HINT_SCAN_FETIMEOUT); setupMenu->addItem(nc); - sprintf(zapit_lat, "%02.6f", zapitCfg.gotoXXLatitude); - sprintf(zapit_long, "%02.6f", zapitCfg.gotoXXLongitude); + if (CFEManager::getInstance()->haveSat()) { + sprintf(zapit_lat, "%02.6f", zapitCfg.gotoXXLatitude); + sprintf(zapit_long, "%02.6f", zapitCfg.gotoXXLongitude); - setupMenu->addItem(new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_SATSETUP_EXTENDED_MOTOR)); - CMenuOptionChooser * mc = new CMenuOptionChooser(LOCALE_EXTRA_LADIRECTION, (int *)&zapitCfg.gotoXXLaDirection, OPTIONS_SOUTH0_NORTH1_OPTIONS, OPTIONS_SOUTH0_NORTH1_OPTION_COUNT, true, NULL, CRCInput::convertDigitToKey(shortcut++)); - mc->setHint("", LOCALE_MENU_HINT_SCAN_LADIRECTION); - setupMenu->addItem(mc); + setupMenu->addItem(new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_SATSETUP_EXTENDED_MOTOR)); + CMenuOptionChooser * mc = new CMenuOptionChooser(LOCALE_EXTRA_LADIRECTION, (int *)&zapitCfg.gotoXXLaDirection, OPTIONS_SOUTH0_NORTH1_OPTIONS, OPTIONS_SOUTH0_NORTH1_OPTION_COUNT, true, NULL, CRCInput::convertDigitToKey(shortcut++)); + mc->setHint("", LOCALE_MENU_HINT_SCAN_LADIRECTION); + setupMenu->addItem(mc); - CStringInput * toff1 = new CStringInput(LOCALE_EXTRA_LATITUDE, (char *) zapit_lat, 10, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "0123456789."); - mf = new CMenuDForwarder(LOCALE_EXTRA_LATITUDE, true, zapit_lat, toff1, "", CRCInput::convertDigitToKey(shortcut++)); - mf->setHint("", LOCALE_MENU_HINT_SCAN_LATITUDE); - setupMenu->addItem(mf); + CStringInput * toff1 = new CStringInput(LOCALE_EXTRA_LATITUDE, (char *) zapit_lat, 10, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "0123456789."); + mf = new CMenuDForwarder(LOCALE_EXTRA_LATITUDE, true, zapit_lat, toff1, "", CRCInput::convertDigitToKey(shortcut++)); + mf->setHint("", LOCALE_MENU_HINT_SCAN_LATITUDE); + setupMenu->addItem(mf); - mc = new CMenuOptionChooser(LOCALE_EXTRA_LODIRECTION, (int *)&zapitCfg.gotoXXLoDirection, OPTIONS_EAST0_WEST1_OPTIONS, OPTIONS_EAST0_WEST1_OPTION_COUNT, true, NULL, CRCInput::convertDigitToKey(shortcut++)); - mc->setHint("", LOCALE_MENU_HINT_SCAN_LODIRECTION); - setupMenu->addItem(mc); + mc = new CMenuOptionChooser(LOCALE_EXTRA_LODIRECTION, (int *)&zapitCfg.gotoXXLoDirection, OPTIONS_EAST0_WEST1_OPTIONS, OPTIONS_EAST0_WEST1_OPTION_COUNT, true, NULL, CRCInput::convertDigitToKey(shortcut++)); + mc->setHint("", LOCALE_MENU_HINT_SCAN_LODIRECTION); + setupMenu->addItem(mc); - CStringInput * toff2 = new CStringInput(LOCALE_EXTRA_LONGITUDE, (char *) zapit_long, 10, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "0123456789."); - mf = new CMenuDForwarder(LOCALE_EXTRA_LONGITUDE, true, zapit_long, toff2, "", CRCInput::convertDigitToKey(shortcut++)); - mf->setHint("", LOCALE_MENU_HINT_SCAN_LONGITUDE); - setupMenu->addItem(mf); + CStringInput * toff2 = new CStringInput(LOCALE_EXTRA_LONGITUDE, (char *) zapit_long, 10, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "0123456789."); + mf = new CMenuDForwarder(LOCALE_EXTRA_LONGITUDE, true, zapit_long, toff2, "", CRCInput::convertDigitToKey(shortcut++)); + mf->setHint("", LOCALE_MENU_HINT_SCAN_LONGITUDE); + setupMenu->addItem(mf); - nc = new CMenuOptionNumberChooser(LOCALE_SATSETUP_USALS_REPEAT, (int *)&zapitCfg.repeatUsals, true, 0, 10, NULL, 0, 0, LOCALE_OPTIONS_OFF); - nc->setHint("", LOCALE_MENU_HINT_SCAN_USALS_REPEAT); - setupMenu->addItem(nc); + nc = new CMenuOptionNumberChooser(LOCALE_SATSETUP_USALS_REPEAT, (int *)&zapitCfg.repeatUsals, true, 0, 10, NULL, 0, 0, LOCALE_OPTIONS_OFF); + nc->setHint("", LOCALE_MENU_HINT_SCAN_USALS_REPEAT); + setupMenu->addItem(nc); + } int res = setupMenu->exec(NULL, ""); delete setupMenu; From 6f37b8a7b6ae4e0396bc9c85f0ca965018f848d5 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Tue, 30 Apr 2013 12:10:03 +0400 Subject: [PATCH 04/62] neutrino.cpp, settings: add key for file play subtitle select --- src/neutrino.cpp | 2 ++ src/system/settings.h | 1 + 2 files changed, 3 insertions(+) diff --git a/src/neutrino.cpp b/src/neutrino.cpp index c8b9f5ef5..26c5af5df 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -3701,6 +3701,7 @@ void CNeutrinoApp::loadKeys(const char * fname) g_settings.mpkey_time = tconfig.getInt32( "mpkey.time", CRCInput::RC_setup ); g_settings.mpkey_bookmark = tconfig.getInt32( "mpkey.bookmark", CRCInput::RC_blue ); g_settings.mpkey_plugin = tconfig.getInt32( "mpkey.plugin", CRCInput::RC_red ); + g_settings.mpkey_subtitle = tconfig.getInt32( "mpkey.subtitle", CRCInput::RC_sub ); /* options */ g_settings.menu_left_exit = tconfig.getInt32( "menu_left_exit", 0 ); @@ -3764,6 +3765,7 @@ void CNeutrinoApp::saveKeys(const char * fname) tconfig.setInt32( "mpkey.time", g_settings.mpkey_time ); tconfig.setInt32( "mpkey.bookmark", g_settings.mpkey_bookmark ); tconfig.setInt32( "mpkey.plugin", g_settings.mpkey_plugin ); + tconfig.setInt32( "mpkey.subtitle", g_settings.mpkey_subtitle ); tconfig.setInt32( "menu_left_exit", g_settings.menu_left_exit ); tconfig.setInt32( "audio_run_player", g_settings.audio_run_player ); diff --git a/src/system/settings.h b/src/system/settings.h index c5fb45755..54ccf2847 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -393,6 +393,7 @@ struct SNeutrinoSettings int mpkey_time; int mpkey_bookmark; int mpkey_plugin; + int mpkey_subtitle; int key_timeshift; int key_plugin; From 95d6580b378ad3b7109b8d4d8fb709ba9afa4bae Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Tue, 30 Apr 2013 12:10:24 +0400 Subject: [PATCH 05/62] gui/keybind_setup.cpp add key for file play subtitle select --- src/gui/keybind_setup.cpp | 1 + src/gui/keybind_setup.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/gui/keybind_setup.cpp b/src/gui/keybind_setup.cpp index 98839eb20..e59c52c30 100644 --- a/src/gui/keybind_setup.cpp +++ b/src/gui/keybind_setup.cpp @@ -178,6 +178,7 @@ const key_settings_struct_t key_settings[CKeybindSetup::KEYBINDS_COUNT] = {LOCALE_MPKEY_STOP, &g_settings.mpkey_stop, LOCALE_MENU_HINT_KEY_MPSTOP }, {LOCALE_MPKEY_PLAY, &g_settings.mpkey_play, LOCALE_MENU_HINT_KEY_MPPLAY }, {LOCALE_MPKEY_AUDIO, &g_settings.mpkey_audio, LOCALE_MENU_HINT_KEY_MPAUDIO }, + {LOCALE_MPKEY_SUBTITLE, &g_settings.mpkey_subtitle, LOCALE_MENU_HINT_KEY_MPSUBTITLE }, {LOCALE_MPKEY_TIME, &g_settings.mpkey_time, LOCALE_MENU_HINT_KEY_MPTIME }, {LOCALE_MPKEY_BOOKMARK, &g_settings.mpkey_bookmark, LOCALE_MENU_HINT_KEY_MPBOOKMARK }, {LOCALE_EXTRA_KEY_TIMESHIFT, &g_settings.key_timeshift, LOCALE_MENU_HINT_KEY_MPTIMESHIFT }, diff --git a/src/gui/keybind_setup.h b/src/gui/keybind_setup.h index 2a4c15ae1..fcbb47a8c 100644 --- a/src/gui/keybind_setup.h +++ b/src/gui/keybind_setup.h @@ -69,6 +69,7 @@ class CKeybindSetup : public CMenuTarget, public CChangeObserver MPKEY_STOP, MPKEY_PLAY, MPKEY_AUDIO, + MPKEY_SUBTITLE, MPKEY_TIME, MPKEY_BOOKMARK, KEY_TIMESHIFT, From 1e7589747ca2bef97a2d315022539806a71889dd Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Tue, 30 Apr 2013 12:10:53 +0400 Subject: [PATCH 06/62] locals: add locale for file play subtitle select --- data/locale/english.locale | 2 ++ src/system/locals.h | 2 ++ src/system/locals_intern.h | 2 ++ 3 files changed, 6 insertions(+) diff --git a/data/locale/english.locale b/data/locale/english.locale index 63d8d2571..55ff3757a 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -844,6 +844,7 @@ menu.hint_key_mpplay Assign button to resume record/file playback menu.hint_key_mpplugin Assign button to start selected plugin\nwhile playing record/file menu.hint_key_mprewind Assign button to rewind record playback menu.hint_key_mpstop Assign button to stop record/file playback +menu.hint_key_mpsubtitle Assign button to show subtitle selection menu.hint_key_mptime Assign button to show play time\nleft time menu.hint_key_mptimeshift Assign button to start timeshift menu.hint_key_pagedown Assign button to show next items page @@ -1366,6 +1367,7 @@ mpkey.play Play mpkey.plugin Run plugin mpkey.rewind Rewind mpkey.stop Stop +mpkey.subtitle Subtitles mpkey.time Show time networkmenu.apply_settings Changes are applied... networkmenu.apply_settings_now Do you want to apply settings now? diff --git a/src/system/locals.h b/src/system/locals.h index 970327326..c4b56b5f1 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -871,6 +871,7 @@ typedef enum LOCALE_MENU_HINT_KEY_MPPLUGIN, LOCALE_MENU_HINT_KEY_MPREWIND, LOCALE_MENU_HINT_KEY_MPSTOP, + LOCALE_MENU_HINT_KEY_MPSUBTITLE, LOCALE_MENU_HINT_KEY_MPTIME, LOCALE_MENU_HINT_KEY_MPTIMESHIFT, LOCALE_MENU_HINT_KEY_PAGEDOWN, @@ -1393,6 +1394,7 @@ typedef enum LOCALE_MPKEY_PLUGIN, LOCALE_MPKEY_REWIND, LOCALE_MPKEY_STOP, + LOCALE_MPKEY_SUBTITLE, LOCALE_MPKEY_TIME, LOCALE_NETWORKMENU_APPLY_SETTINGS, LOCALE_NETWORKMENU_APPLY_SETTINGS_NOW, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 909e97512..e7de3b0ab 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -871,6 +871,7 @@ const char * locale_real_names[] = "menu.hint_key_mpplugin", "menu.hint_key_mprewind", "menu.hint_key_mpstop", + "menu.hint_key_mpsubtitle", "menu.hint_key_mptime", "menu.hint_key_mptimeshift", "menu.hint_key_pagedown", @@ -1393,6 +1394,7 @@ const char * locale_real_names[] = "mpkey.plugin", "mpkey.rewind", "mpkey.stop", + "mpkey.subtitle", "mpkey.time", "networkmenu.apply_settings", "networkmenu.apply_settings_now", From 708e018994f53370730d2f1a3a2714870f2e5976 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Tue, 30 Apr 2013 12:15:52 +0400 Subject: [PATCH 07/62] neutrinoMessages.h: add EVT_SUBT_MESSAGE --- src/neutrinoMessages.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/neutrinoMessages.h b/src/neutrinoMessages.h index 7eeaaae4a..b349eb19e 100644 --- a/src/neutrinoMessages.h +++ b/src/neutrinoMessages.h @@ -110,6 +110,7 @@ struct NeutrinoMessages { EVT_PMT_CHANGED = CRCInput::RC_Events + 40, /* NEVER CHANGE THIS */ EVT_CA_MESSAGE = CRCInput::RC_Events + 60, /* data = CA_MESSAGE pointer */ + EVT_SUBT_MESSAGE = CRCInput::RC_Events + 61, /* data = subtitles pointer */ /* END */ EVT_CURRENTEPG = CRCInput::RC_WithData + 1, From 7a0c1e96746586271ceb336a977a645f239631d4 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Tue, 30 Apr 2013 12:28:15 +0400 Subject: [PATCH 08/62] gui/movieplayer.cpp: add subtitle display support for file playback --- src/gui/movieplayer.cpp | 241 +++++++++++++++++++++++++++++++++++++++- src/gui/movieplayer.h | 13 +++ 2 files changed, 248 insertions(+), 6 deletions(-) diff --git a/src/gui/movieplayer.cpp b/src/gui/movieplayer.cpp index 1250969a8..26aa9d97b 100644 --- a/src/gui/movieplayer.cpp +++ b/src/gui/movieplayer.cpp @@ -27,6 +27,7 @@ #include #endif +#define __STDC_CONSTANT_MACROS #include #include @@ -38,6 +39,7 @@ #include #include #include +#include #include #include @@ -304,6 +306,8 @@ bool CMoviePlayerGui::SelectFile() language[i].clear(); } numpida = 0; currentapid = 0; + currentspid = -1; + numsubs = 0; is_file_player = false; p_movie_info = NULL; @@ -356,7 +360,7 @@ bool CMoviePlayerGui::SelectFile() } } else menu_ret = moviebrowser->getMenuRet(); - } + } else { // filebrowser if (filebrowser->exec(Path_local.c_str()) == true) { Path_local = filebrowser->getCurrentDir(); @@ -430,6 +434,8 @@ void CMoviePlayerGui::PlayFile(void) handleMovieBrowser(CRCInput::RC_nokey, position); cutNeutrino(); + clearSubtitle(); + playback->Open(is_file_player ? PLAYMODE_FILE : PLAYMODE_TS); printf("IS FILE PLAYER: %s\n", is_file_player ? "true": "false" ); @@ -528,6 +534,7 @@ void CMoviePlayerGui::PlayFile(void) handleMovieBrowser(0, position); FileTime.update(position, duration); } + showSubtitle(0); if (msg == (neutrino_msg_t) g_settings.mpkey_plugin) { //g_PluginList->start_plugin_by_name (g_settings.movieplayer_plugin.c_str (), pidt); @@ -569,10 +576,15 @@ void CMoviePlayerGui::PlayFile(void) } else if (msg == (neutrino_msg_t) g_settings.mpkey_audio) { selectAudioPid(is_file_player); update_lcd = true; + clearSubtitle(); + } else if ( msg == (neutrino_msg_t) g_settings.mpkey_subtitle) { + selectSubtitle(is_file_player); + clearSubtitle(); + update_lcd = true; } else if (msg == (neutrino_msg_t) g_settings.mpkey_time) { FileTime.switchMode(position, duration); - } else if ((msg == (neutrino_msg_t) g_settings.mpkey_rewind) || - (msg == (neutrino_msg_t) g_settings.mpkey_forward)) { + } else if (!is_file_player && ((msg == (neutrino_msg_t) g_settings.mpkey_rewind) || + (msg == (neutrino_msg_t) g_settings.mpkey_forward))) { int newspeed; if (msg == (neutrino_msg_t) g_settings.mpkey_rewind) { @@ -600,32 +612,44 @@ void CMoviePlayerGui::PlayFile(void) time_forced = true; } } else if (msg == CRCInput::RC_1) { // Jump Backwards 1 minute + clearSubtitle(); playback->SetPosition(-60 * 1000); } else if (msg == CRCInput::RC_3) { // Jump Forward 1 minute + clearSubtitle(); playback->SetPosition(60 * 1000); } else if (msg == CRCInput::RC_4) { // Jump Backwards 5 minutes + clearSubtitle(); playback->SetPosition(-5 * 60 * 1000); } else if (msg == CRCInput::RC_6) { // Jump Forward 5 minutes + clearSubtitle(); playback->SetPosition(5 * 60 * 1000); } else if (msg == CRCInput::RC_7) { // Jump Backwards 10 minutes + clearSubtitle(); playback->SetPosition(-10 * 60 * 1000); } else if (msg == CRCInput::RC_9) { // Jump Forward 10 minutes + clearSubtitle(); playback->SetPosition(10 * 60 * 1000); } else if (msg == CRCInput::RC_2) { // goto start + clearSubtitle(); playback->SetPosition(0, true); } else if (msg == CRCInput::RC_5) { // goto middle + clearSubtitle(); playback->SetPosition(duration/2, true); } else if (msg == CRCInput::RC_8) { // goto end + clearSubtitle(); playback->SetPosition(duration - 60 * 1000, true); } else if (msg == CRCInput::RC_page_up) { + clearSubtitle(); playback->SetPosition(10 * 1000); } else if (msg == CRCInput::RC_page_down) { + clearSubtitle(); playback->SetPosition(-10 * 1000); } else if (msg == CRCInput::RC_0) { // cancel bookmark jump handleMovieBrowser(CRCInput::RC_0, position); } else if (msg == CRCInput::RC_help || msg == CRCInput::RC_info) { callInfoViewer(/*duration, position*/); update_lcd = true; + clearSubtitle(); //showHelpTS(); } else if(timeshift && (msg == CRCInput::RC_text || msg == CRCInput::RC_epg || msg == NeutrinoMessages::SHOW_EPG)) { bool restore = FileTime.IsVisible(); @@ -672,6 +696,8 @@ void CMoviePlayerGui::PlayFile(void) sc->EnableVideo(true); sc->Start(); + } else if ( msg == NeutrinoMessages::EVT_SUBT_MESSAGE) { + showSubtitle(data); } else if ( msg == NeutrinoMessages::ANNOUNCE_RECORD || msg == NeutrinoMessages::RECORD_START) { CNeutrinoApp::getInstance()->handleMsg(msg, data); @@ -697,6 +723,7 @@ void CMoviePlayerGui::PlayFile(void) } else if ( msg <= CRCInput::RC_MaxRC ) { update_lcd = true; + clearSubtitle(); } } @@ -708,6 +735,7 @@ void CMoviePlayerGui::PlayFile(void) } FileTime.hide(); + clearSubtitle(); playback->SetSpeed(1); playback->Close(); @@ -802,7 +830,6 @@ void CMoviePlayerGui::getCurrentAudioName( bool file_player, std::string &audion } bool dumm = true; for (unsigned int count = 0; count < numpida; count++) { - if(currentapid == apids[count]){ if(!file_player){ getAudioName(apids[count], audioname); @@ -1052,7 +1079,7 @@ void CMoviePlayerGui::handleMovieBrowser(neutrino_msg_t msg, int /*position*/) jump_not_until = (position / 1000) + 10; // avoid bookmark jumping for the next 10 seconds, , TODO: might be moved to another key } return; - } + } else if (msg == (neutrino_msg_t) g_settings.mpkey_bookmark) { if (newComHintBox.isPainted() == true) { // yes, let's get the end pos of the jump forward @@ -1112,7 +1139,7 @@ void CMoviePlayerGui::handleMovieBrowser(neutrino_msg_t msg, int /*position*/) DisplayErrorMessage(g_Locale->getText(LOCALE_MOVIEPLAYER_TOOMANYBOOKMARKS)); // UTF-8 } cSelectedMenuBookStart[0].selected = false; // clear for next bookmark menu - } else + } else #endif if (cSelectedMenuBookStart[1].selected == true) { /* Moviebrowser plain bookmark */ @@ -1181,3 +1208,205 @@ void CMoviePlayerGui::showHelpTS() helpbox.addLine(g_Locale->getText(LOCALE_MOVIEPLAYER_TSHELP12)); helpbox.show(LOCALE_MESSAGEBOX_INFO); } + +void CMoviePlayerGui::selectSubtitle(bool file_player) +{ + if (!file_player) + return; + + CMenuWidget APIDSelector(LOCALE_SUBTITLES_HEAD, NEUTRINO_ICON_AUDIO); + APIDSelector.addIntroItems(); + + int select = -1; + CMenuSelectorTarget * selector = new CMenuSelectorTarget(&select); + if(!numsubs) { + playback->FindAllSubs(spids, sub_supported, &numsubs, slanguage); + } + char cnt[5]; + unsigned int count; + for (count = 0; count < numsubs; count++) { + bool enabled = sub_supported[count]; + bool defpid = currentspid >= 0 ? (currentspid == spids[count]) : (count == 0); + std::string title = slanguage[count]; + if (title.empty()) { + char pidnumber[20]; + sprintf(pidnumber, "Stream %d %X", count + 1, spids[count]); + title = pidnumber; + } + sprintf(cnt, "%d", count); + CMenuForwarderNonLocalized * item = new CMenuForwarderNonLocalized(title.c_str(), enabled, NULL, selector, cnt, CRCInput::convertDigitToKey(count + 1)); + APIDSelector.addItem(item, defpid); + } + sprintf(cnt, "%d", count); + APIDSelector.addItem(new CMenuForwarder(LOCALE_SUBTITLES_STOP, true, NULL, selector, cnt, CRCInput::RC_stop), currentspid < 0); + + APIDSelector.exec(NULL, ""); + delete selector; + printf("CMoviePlayerGui::selectSubtitle: selected %d (%x) current %x\n", select, (select >= 0) ? spids[select] : -1, currentspid); + if((select >= 0) && (select < numsubs) && (currentspid != spids[select])) { + currentspid = spids[select]; + playback->SelectSubtitles(currentspid); + printf("[movieplayer] spid changed to %d\n", currentspid); + } else if ( select > 0) { + currentspid = -1; + playback->SelectSubtitles(currentspid); + printf("[movieplayer] spid changed to %d\n", currentspid); + } +} + +extern "C" { +#include +#include +} + +void CMoviePlayerGui::clearSubtitle() +{ + if ((max_x-min_x > 0) && (max_y-min_y > 0)) + frameBuffer->paintBackgroundBoxRel(min_x, min_y, max_x-min_x, max_y-min_y); + + min_x = CFrameBuffer::getInstance()->getScreenWidth(); + min_y = CFrameBuffer::getInstance()->getScreenHeight(); + max_x = CFrameBuffer::getInstance()->getScreenX(); + max_y = CFrameBuffer::getInstance()->getScreenY(); + end_time = 0; +} + +fb_pixel_t * simple_resize32(uint8_t * orgin, uint32_t * colors, int nb_colors, int ox, int oy, int dx, int dy); + +void CMoviePlayerGui::showSubtitle(neutrino_msg_data_t data) +{ + if (!data) { + if (end_time && time_monotonic_ms() > end_time) { + printf("************************* hide subs *************************\n"); + clearSubtitle(); + } + return; + } + AVSubtitle * sub = (AVSubtitle *) data; + + printf("************************* EVT_SUBT_MESSAGE: num_rects %d fmt %d *************************\n", sub->num_rects, sub->format); + if (!sub->num_rects) + return; + + if (sub->format == 0) { + int xres = 0, yres = 0, framerate; + videoDecoder->getPictureInfo(xres, yres, framerate); + + double xc = (double) CFrameBuffer::getInstance()->getScreenWidth(/*true*/)/(double) xres; + double yc = (double) CFrameBuffer::getInstance()->getScreenHeight(/*true*/)/(double) yres; + + clearSubtitle(); + + for (unsigned i = 0; i < sub->num_rects; i++) { + uint32_t * colors = (uint32_t *) sub->rects[i]->pict.data[1]; + + int nw = (double) sub->rects[i]->w * xc; + int nh = (double) sub->rects[i]->h * yc; + int xoff = (double) sub->rects[i]->x * xc; + int yoff = (double) sub->rects[i]->y * yc; + + printf("Draw: #%d at %d,%d size %dx%d colors %d (x=%d y=%d w=%d h=%d) \n", i+1, + sub->rects[i]->x, sub->rects[i]->y, sub->rects[i]->w, sub->rects[i]->h, + sub->rects[i]->nb_colors, xoff, yoff, nw, nh); + + fb_pixel_t * newdata = simple_resize32 (sub->rects[i]->pict.data[0], colors, + sub->rects[i]->nb_colors, sub->rects[i]->w, sub->rects[i]->h, nw, nh); + frameBuffer->blit2FB(newdata, nw, nh, xoff, yoff); + free(newdata); + + min_x = std::min(min_x, xoff); + max_x = std::max(max_x, xoff + nw); + min_y = std::min(min_y, yoff); + max_y = std::max(max_y, yoff + nh); + } + end_time = sub->end_display_time + time_monotonic_ms(); + avsubtitle_free(sub); + delete sub; + return; + } + std::vector subtext; + for (unsigned i = 0; i < sub->num_rects; i++) { + char * txt = NULL; + if (sub->rects[i]->type == SUBTITLE_TEXT) + txt = sub->rects[i]->text; + else if (sub->rects[i]->type == SUBTITLE_ASS) + txt = sub->rects[i]->ass; + printf("subt[%d] type %d [%s]\n", i, sub->rects[i]->type, txt ? txt : ""); + if (txt) { + int len = strlen(txt); + if (len > 10 && memcmp(txt, "Dialogue: ", 10) == 0) { + char* p = txt; + int skip_commas = 4; + /* skip ass times */ + for (int j = 0; j < skip_commas && *p != '\0'; p++) + if (*p == ',') + j++; + /* skip ass tags */ + if (*p == '{') { + char * d = strchr(p, '}'); + if (d) + p += d - p + 1; + } + char * d = strchr(p, '{'); + if (d && strchr(d, '}')) + *d = 0; + + len = strlen(p); + /* remove newline */ + for (int j = len-1; j > 0; j--) { + if (p[j] == '\n' || p[j] == '\r') + p[j] = 0; + else + break; + } + if (*p == '\0') + continue; + txt = p; + } + //printf("title: [%s]\n", txt); + std::string str(txt); + int start = 0, end = 0; + /* split string with \N as newline */ + std::string delim("\\N"); + while ((end = str.find(delim, start)) != string::npos) { + subtext.push_back(str.substr(start, end - start)); + start = end + 2; + } + subtext.push_back(str.substr(start)); + + } + } + for (unsigned i = 0; i < subtext.size(); i++) + printf("subtext %d: [%s]\n", i, subtext[i].c_str()); + printf("********************************************************************\n"); + + if (!subtext.empty()) { + int sh = frameBuffer->getScreenHeight(); + int sw = frameBuffer->getScreenWidth(); + int h = g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getHeight(); + int height = h*subtext.size(); + + clearSubtitle(); + + int x[subtext.size()]; + int y[subtext.size()]; + for (unsigned i = 0; i < subtext.size(); i++) { + int w = g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getRenderWidth (subtext[i].c_str(), true); + x[i] = (sw - w) / 2; + y[i] = sh - height + h*(i + 1); + min_x = std::min(min_x, x[i]); + max_x = std::max(max_x, x[i]+w); + min_y = std::min(min_y, y[i]-h); + max_y = std::max(max_y, y[i]); + } + + frameBuffer->paintBoxRel(min_x, min_y, max_x - min_x, max_y-min_y, COL_MENUCONTENT_PLUS_0); + + for (unsigned i = 0; i < subtext.size(); i++) + g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x[i], y[i], sw, subtext[i].c_str(), COL_MENUCONTENT, 0, true); + + end_time = sub->end_display_time + time_monotonic_ms(); + } + avsubtitle_free(sub); + delete sub; +} diff --git a/src/gui/movieplayer.h b/src/gui/movieplayer.h index df8434f67..febe09fec 100644 --- a/src/gui/movieplayer.h +++ b/src/gui/movieplayer.h @@ -87,6 +87,15 @@ class CMoviePlayerGui : public CMenuTarget unsigned short ac3flags[REC_MAX_APIDS]; unsigned short currentapid, currentac3; + /* subtitles vars */ + unsigned short numsubs; + std::string slanguage[REC_MAX_APIDS]; + unsigned short spids[REC_MAX_APIDS]; + unsigned short sub_supported[REC_MAX_APIDS]; + int currentspid; + int min_x, min_y, max_x, max_y; + time_t end_time; + /* playback from MB */ bool isMovieBrowser; CMovieBrowser* moviebrowser; @@ -124,6 +133,10 @@ class CMoviePlayerGui : public CMenuTarget bool SelectFile(); void updateLcd(); + void selectSubtitle(bool file_player); + void showSubtitle(neutrino_msg_data_t data); + void clearSubtitle(); + CMoviePlayerGui(const CMoviePlayerGui&) {}; CMoviePlayerGui(); From a780c078155f854fc4342c570cd13ccafe630388 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Tue, 30 Apr 2013 12:48:24 +0400 Subject: [PATCH 09/62] libcoolstream2/playback_cs.h: sync header --- lib/libcoolstream2/playback_cs.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/libcoolstream2/playback_cs.h b/lib/libcoolstream2/playback_cs.h index 80ecb4ccd..f7e68fcf2 100644 --- a/lib/libcoolstream2/playback_cs.h +++ b/lib/libcoolstream2/playback_cs.h @@ -62,7 +62,8 @@ public: bool IsEnabled(void) const { return enabled; } void FindAllPids(playback_audio_pid_info_t *audiopids, uint16_t size, uint16_t *numpida); void FindAllPids(uint16_t *apids, unsigned short *ac3flags, uint16_t *numpida, std::string *language); - + void FindAllSubs(uint16_t *pids, unsigned short *supported, uint16_t *numpida, std::string *language); + bool SelectSubtitles(int pid); }; #endif // __PLAYBACK_CS_H_ From 2d54786f4b5bbb0715a7517815e5cd9e10cf8023 Mon Sep 17 00:00:00 2001 From: svenhoefer Date: Thu, 18 Apr 2013 17:20:43 +0200 Subject: [PATCH 10/62] - channellist: use the bigger menu-icon --- src/gui/channellist.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index 7f08a50ea..024eba80d 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -1727,7 +1727,7 @@ struct button_label SChannelListButtons_SMode[NUM_LIST_BUTTONS_SORT] = { NEUTRINO_ICON_BUTTON_RECORD_INACTIVE, NONEXISTANT_LOCALE}, { NEUTRINO_ICON_BUTTON_PLAY, LOCALE_EXTRA_KEY_PIP_CLOSE}, { NEUTRINO_ICON_BUTTON_INFO, NONEXISTANT_LOCALE}, - { NEUTRINO_ICON_BUTTON_MENU_SMALL, NONEXISTANT_LOCALE}, + { NEUTRINO_ICON_BUTTON_MENU, NONEXISTANT_LOCALE}, { NEUTRINO_ICON_BUTTON_MUTE_ZAP_ACTIVE, NONEXISTANT_LOCALE} }; From e2bbf2aa441c6fcc7edd35cbb1d4a87f7ff308bd Mon Sep 17 00:00:00 2001 From: svenhoefer Date: Thu, 18 Apr 2013 18:09:32 +0200 Subject: [PATCH 11/62] - channellist: remove some unneeded calculations Conflicts: src/gui/channellist.cpp --- src/gui/channellist.cpp | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index 024eba80d..65f6654eb 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -512,20 +512,6 @@ void CChannelList::calcSize() const int pic_h = 39; theight = std::max(theight, pic_h); - int icol_w, icol_h; - frameBuffer->getIconSize(NEUTRINO_ICON_BUTTON_HELP, &icol_w, &icol_h); - theight = std::max(theight, icol_h); - - frameBuffer->getIconSize(NEUTRINO_ICON_BUTTON_MENU, &icol_w, &icol_h); - theight = std::max(theight, icol_h); - -#if 0 - if(new_zap_mode) - { - frameBuffer->getIconSize(NEUTRINO_ICON_BUTTON_MUTE_ZAP_ACTIVE, &icol_w, &icol_h); - theight = std::max(theight, icol_h); - } -#endif // calculate max entrys in mainbox listmaxshow = (height - theight - footerHeight) / fheight; From b386f7bbd2c9f87ed0538f10d44e02e74d2704dc Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Thu, 18 Apr 2013 19:19:30 +0200 Subject: [PATCH 12/62] use var passed by reference Conflicts: src/gui/components/cc_frm.h src/gui/components/cc_frm_icons.cpp --- lib/libconfigfile/configfile.cpp | 4 ++-- lib/libconfigfile/configfile.h | 4 ++-- lib/libnet/network_interfaces.cpp | 20 ++++++++++---------- lib/libnet/network_interfaces.h | 8 ++++---- src/gui/moviebrowser.h | 2 +- src/gui/movieinfo.cpp | 2 +- src/gui/widget/messagebox.cpp | 12 ++++++------ src/gui/widget/messagebox.h | 12 ++++++------ src/timerd/timermanager.cpp | 2 +- src/timerd/timermanager.h | 2 +- 10 files changed, 34 insertions(+), 34 deletions(-) diff --git a/lib/libconfigfile/configfile.cpp b/lib/libconfigfile/configfile.cpp index d7713ab2e..354d5ec97 100644 --- a/lib/libconfigfile/configfile.cpp +++ b/lib/libconfigfile/configfile.cpp @@ -394,7 +394,7 @@ void CConfigFile::setString(const std::string & key, const std::string & val) unknownKeyQueryedFlag = tmpUnknownKeyQueryedFlag; } -void CConfigFile::setInt32Vector(const std::string & key, const std::vector vec) +void CConfigFile::setInt32Vector(const std::string & key, const std::vector &vec) { bool tmpUnknownKeyQueryedFlag = unknownKeyQueryedFlag; unknownKeyQueryedFlag = false; @@ -419,7 +419,7 @@ void CConfigFile::setInt32Vector(const std::string & key, const std::vector vec) +void CConfigFile::setStringVector(const std::string & key, const std::vector &vec) { bool tmpUnknownKeyQueryedFlag = unknownKeyQueryedFlag; unknownKeyQueryedFlag = false; diff --git a/lib/libconfigfile/configfile.h b/lib/libconfigfile/configfile.h index 9d2c39853..5a247a556 100644 --- a/lib/libconfigfile/configfile.h +++ b/lib/libconfigfile/configfile.h @@ -91,10 +91,10 @@ class CConfigFile // vectors // std::vector getStringVector(const std::string & key); - void setStringVector(const std::string & key, const std::vector vec); + void setStringVector(const std::string & key, const std::vector &vec); std::vector getInt32Vector(const std::string & key); - void setInt32Vector(const std::string & key, const std::vector vec); + void setInt32Vector(const std::string & key, const std::vector &vec); // // flags diff --git a/lib/libnet/network_interfaces.cpp b/lib/libnet/network_interfaces.cpp index f97b2b9fe..d1107887f 100644 --- a/lib/libnet/network_interfaces.cpp +++ b/lib/libnet/network_interfaces.cpp @@ -34,7 +34,7 @@ * */ -bool read_file(const std::string filename, std::list &line) +bool read_file(const std::string &filename, std::list &line) { std::string s; std::ifstream in(filename.c_str()); @@ -50,7 +50,7 @@ bool read_file(const std::string filename, std::list &line) return true; } -bool write_file(const std::string filename, const std::list line) +bool write_file(const std::string &filename, const std::list &line) { std::ofstream out(filename.c_str()); @@ -63,7 +63,7 @@ bool write_file(const std::string filename, const std::list line) return true; } -std::list::iterator add_attributes(const std::map attribute, std::list &line, std::list::iterator here) +std::list::iterator add_attributes(const std::map &attribute, std::list &line, std::list::iterator here) { for (std::map::const_iterator it = attribute.begin(); it != attribute.end(); ++it) { @@ -74,7 +74,7 @@ std::list::iterator add_attributes(const std::map attribute) +bool write_interface(const std::string &filename, const std::string &name, const bool automatic_start, const std::string &family, const std::string &method, const std::map &attribute) { std::string s; std::list line; @@ -215,7 +215,7 @@ bool write_interface(const std::string filename, const std::string name, const b return write_file(filename, line); } -bool read_interface(const std::string filename, const std::string name, bool &automatic_start, std::string &family, std::string &method, std::map &attribute) +bool read_interface(const std::string &filename, const std::string &name, bool &automatic_start, std::string &family, std::string &method, std::map &attribute) { std::string s; std::string t; @@ -309,7 +309,7 @@ bool read_interface(const std::string filename, const std::string name, bool &au return true; } -bool getInetAttributes(const std::string name, bool &automatic_start, std::string &address, std::string &netmask, std::string &broadcast, std::string &gateway) +bool getInetAttributes(const std::string &name, bool &automatic_start, std::string &address, std::string &netmask, std::string &broadcast, std::string &gateway) { std::string family; std::string method; @@ -343,14 +343,14 @@ bool getInetAttributes(const std::string name, bool &automatic_start, std::strin return true; } -bool addLoopbackDevice(const std::string name, const bool automatic_start) +bool addLoopbackDevice(const std::string &name, const bool automatic_start) { std::map attribute; return write_interface("/etc/network/interfaces", name, automatic_start, "inet", "loopback", attribute); } -bool setStaticAttributes(const std::string name, const bool automatic_start, const std::string address, const std::string netmask, const std::string broadcast, const std::string gateway, bool wireless) +bool setStaticAttributes(const std::string &name, const bool automatic_start, const std::string &address, const std::string &netmask, const std::string &broadcast, const std::string &gateway, bool wireless) { std::map attribute; @@ -371,7 +371,7 @@ bool setStaticAttributes(const std::string name, const bool automatic_start, con return write_interface("/etc/network/interfaces", name, automatic_start, "inet", "static", attribute); } -bool setDhcpAttributes(const std::string name, const bool automatic_start, bool wireless) +bool setDhcpAttributes(const std::string &name, const bool automatic_start, bool wireless) { std::map attribute; char hostname[100]; diff --git a/lib/libnet/network_interfaces.h b/lib/libnet/network_interfaces.h index a9e526159..457bac3b8 100644 --- a/lib/libnet/network_interfaces.h +++ b/lib/libnet/network_interfaces.h @@ -24,12 +24,12 @@ #include -bool getInetAttributes(const std::string name, bool &automatic_start, std::string &address, std::string &netmask, std::string &broadcast, std::string &gateway); +bool getInetAttributes(const std::string &name, bool &automatic_start, std::string &address, std::string &netmask, std::string &broadcast, std::string &gateway); -bool addLoopbackDevice(const std::string name, const bool automatic_start); +bool addLoopbackDevice(const std::string &name, const bool automatic_start); -bool setStaticAttributes(const std::string name, const bool automatic_start, const std::string address, const std::string netmask, const std::string broadcast, const std::string gateway, bool wireless = false); +bool setStaticAttributes(const std::string &name, const bool automatic_start, const std::string &address, const std::string &netmask, const std::string &broadcast, const std::string &gateway, bool wireless = false); -bool setDhcpAttributes(const std::string name, const bool automatic_start, bool wireless = false); +bool setDhcpAttributes(const std::string &name, const bool automatic_start, bool wireless = false); #endif /* __network_interfaces_h__ */ diff --git a/src/gui/moviebrowser.h b/src/gui/moviebrowser.h index 154b7364f..70f9523a9 100644 --- a/src/gui/moviebrowser.h +++ b/src/gui/moviebrowser.h @@ -87,7 +87,7 @@ /* percent */ #define MIN_BROWSER_FRAME_HEIGHT 10 #define MAX_BROWSER_FRAME_HEIGHT 80 -void strReplace(std::string& orig, const char* fstr, const std::string rstr); +void strReplace(std::string& orig, const char* fstr, const std::string &rstr); /* !!!! Do NOT change the order of the enum, just add items at the end !!!! */ typedef enum diff --git a/src/gui/movieinfo.cpp b/src/gui/movieinfo.cpp index 684d9babd..4059faa67 100644 --- a/src/gui/movieinfo.cpp +++ b/src/gui/movieinfo.cpp @@ -614,7 +614,7 @@ int find_next_char(char to_find, char *text, int start_pos, int end_pos) } //void CMovieInfo::strReplace(std::string& orig, const char* fstr, const std::string rstr) -void strReplace(std::string & orig, const char *fstr, const std::string rstr) +void strReplace(std::string & orig, const char *fstr, const std::string &rstr) { // replace all occurrence of fstr with rstr and, and returns a reference to itself size_t index = 0; diff --git a/src/gui/widget/messagebox.cpp b/src/gui/widget/messagebox.cpp index 9e8bddfbf..f70dab35d 100644 --- a/src/gui/widget/messagebox.cpp +++ b/src/gui/widget/messagebox.cpp @@ -40,17 +40,17 @@ #include #include -CMessageBox::CMessageBox(const neutrino_locale_t Caption, const char * const Text, const int Width, const char * const Icon, const CMessageBox::result_ Default, const uint32_t ShowButtons) : CHintBoxExt(Caption, Text, Width, Icon) +CMessageBox::CMessageBox(const neutrino_locale_t Caption, const char * const Text, const int Width, const char * const Icon, const CMessageBox::result_ &Default, const uint32_t ShowButtons) : CHintBoxExt(Caption, Text, Width, Icon) { Init(Default, ShowButtons); } -CMessageBox::CMessageBox(const neutrino_locale_t Caption, ContentLines& Lines, const int Width, const char * const Icon, const CMessageBox::result_ Default, const uint32_t ShowButtons) : CHintBoxExt(Caption, Lines, Width, Icon) +CMessageBox::CMessageBox(const neutrino_locale_t Caption, ContentLines& Lines, const int Width, const char * const Icon, const CMessageBox::result_ &Default, const uint32_t ShowButtons) : CHintBoxExt(Caption, Lines, Width, Icon) { Init(Default, ShowButtons); } -void CMessageBox::Init(const CMessageBox::result_ Default, const uint32_t ShowButtons) +void CMessageBox::Init(const CMessageBox::result_ &Default, const uint32_t ShowButtons) { #define BtnCount 3 returnDefaultOnTimeout = false; @@ -274,7 +274,7 @@ int CMessageBox::exec(int timeout) return res; } -int ShowMsgUTF(const neutrino_locale_t Caption, const char * const Text, const CMessageBox::result_ Default, const uint32_t ShowButtons, const char * const Icon, const int Width, const int timeout, bool returnDefaultOnTimeout) +int ShowMsgUTF(const neutrino_locale_t Caption, const char * const Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon, const int Width, const int timeout, bool returnDefaultOnTimeout) { CMessageBox* messageBox = new CMessageBox(Caption, Text, Width, Icon, Default, ShowButtons); messageBox->returnDefaultValueOnTimeout(returnDefaultOnTimeout); @@ -285,12 +285,12 @@ int ShowMsgUTF(const neutrino_locale_t Caption, const char * const Text, const C return res; } -int ShowLocalizedMessage(const neutrino_locale_t Caption, const neutrino_locale_t Text, const CMessageBox::result_ Default, const uint32_t ShowButtons, const char * const Icon, const int Width, const int timeout, bool returnDefaultOnTimeout) +int ShowLocalizedMessage(const neutrino_locale_t Caption, const neutrino_locale_t Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon, const int Width, const int timeout, bool returnDefaultOnTimeout) { return ShowMsgUTF(Caption, g_Locale->getText(Text), Default, ShowButtons, Icon, Width, timeout,returnDefaultOnTimeout); } -int ShowMsgUTF(const neutrino_locale_t Caption, const std::string & Text, const CMessageBox::result_ Default, const uint32_t ShowButtons, const char * const Icon, const int Width, const int timeout, bool returnDefaultOnTimeout) +int ShowMsgUTF(const neutrino_locale_t Caption, const std::string & Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon, const int Width, const int timeout, bool returnDefaultOnTimeout) { return ShowMsgUTF(Caption, Text.c_str(), Default, ShowButtons, Icon, Width, timeout,returnDefaultOnTimeout); } diff --git a/src/gui/widget/messagebox.h b/src/gui/widget/messagebox.h index 67e063e0a..46178788a 100644 --- a/src/gui/widget/messagebox.h +++ b/src/gui/widget/messagebox.h @@ -87,21 +87,21 @@ class CMessageBox : public CHintBoxExt } buttons; // Text & Caption are always UTF-8 encoded - CMessageBox(const neutrino_locale_t Caption, const char * const Text, const int Width = 500, const char * const Icon = NULL, const CMessageBox::result_ Default = mbrYes, const uint32_t ShowButtons = mbAll); + CMessageBox(const neutrino_locale_t Caption, const char * const Text, const int Width = 500, const char * const Icon = NULL, const CMessageBox::result_ &Default = mbrYes, const uint32_t ShowButtons = mbAll); - CMessageBox(const neutrino_locale_t Caption, ContentLines& Lines, const int Width = 500, const char * const Icon = NULL, const CMessageBox::result_ Default = mbrYes, const uint32_t ShowButtons = mbAll); + CMessageBox(const neutrino_locale_t Caption, ContentLines& Lines, const int Width = 500, const char * const Icon = NULL, const CMessageBox::result_ &Default = mbrYes, const uint32_t ShowButtons = mbAll); int exec(int timeout = -1); void returnDefaultValueOnTimeout(bool returnDefault); private: - void Init(const CMessageBox::result_ Default, const uint32_t ShowButtons); + void Init(const CMessageBox::result_ &Default, const uint32_t ShowButtons); }; // Text is always UTF-8 encoded -int ShowLocalizedMessage(const neutrino_locale_t Caption, const neutrino_locale_t Text, const CMessageBox::result_ Default, const uint32_t ShowButtons, const char * const Icon = NULL, const int Width = 450, const int timeout = -1, bool returnDefaultOnTimeout = false); -int ShowMsgUTF(const neutrino_locale_t Caption, const char * const Text, const CMessageBox::result_ Default, const uint32_t ShowButtons, const char * const Icon = NULL, const int Width = 450, const int timeout = -1, bool returnDefaultOnTimeout = false); // UTF-8 -int ShowMsgUTF(const neutrino_locale_t Caption, const std::string & Text, const CMessageBox::result_ Default, const uint32_t ShowButtons, const char * const Icon = NULL, const int Width = 450, const int timeout = -1, bool returnDefaultOnTimeout = false); // UTF-8 +int ShowLocalizedMessage(const neutrino_locale_t Caption, const neutrino_locale_t Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon = NULL, const int Width = 450, const int timeout = -1, bool returnDefaultOnTimeout = false); +int ShowMsgUTF(const neutrino_locale_t Caption, const char * const Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon = NULL, const int Width = 450, const int timeout = -1, bool returnDefaultOnTimeout = false); // UTF-8 +int ShowMsgUTF(const neutrino_locale_t Caption, const std::string & Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon = NULL, const int Width = 450, const int timeout = -1, bool returnDefaultOnTimeout = false); // UTF-8 void DisplayErrorMessage(const char * const ErrorMsg); // UTF-8 void DisplayInfoMessage(const char * const InfoMsg); // UTF-8 diff --git a/src/timerd/timermanager.cpp b/src/timerd/timermanager.cpp index 583ec2211..3d77889d6 100644 --- a/src/timerd/timermanager.cpp +++ b/src/timerd/timermanager.cpp @@ -1103,7 +1103,7 @@ CTimerEvent_Record::CTimerEvent_Record(time_t announce_Time, time_t alarm_Time, event_id_t epgID, time_t epg_starttime, unsigned char apids, CTimerd::CTimerEventRepeat evrepeat, - uint32_t repeatcount, const std::string recDir) : + uint32_t repeatcount, const std::string &recDir) : CTimerEvent(getEventType(), announce_Time, alarm_Time, stop_Time, evrepeat, repeatcount) { eventInfo.epgID = epgID; diff --git a/src/timerd/timermanager.h b/src/timerd/timermanager.h index db2224311..76b4b2749 100644 --- a/src/timerd/timermanager.h +++ b/src/timerd/timermanager.h @@ -123,7 +123,7 @@ class CTimerEvent_Record : public CTimerEvent time_t epg_starttime = 0, unsigned char apids = TIMERD_APIDS_STD, CTimerd::CTimerEventRepeat evrepeat = CTimerd::TIMERREPEAT_ONCE, - uint32_t repeatcount = 1, const std::string recDir = ""); + uint32_t repeatcount = 1, const std::string &recDir = ""); CTimerEvent_Record(CConfigFile *config, int iId); virtual ~CTimerEvent_Record(){}; virtual CTimerd::CTimerEventTypes getEventType(void) const { return CTimerd::TIMER_RECORD; }; From fa25f65085a4add8deeb1ea6ad33413c5f440366 Mon Sep 17 00:00:00 2001 From: Michael Liebmann Date: Tue, 16 Apr 2013 20:59:58 +0200 Subject: [PATCH 13/62] * yhttpd: Add missing includepath --- src/nhttpd/yhttpd_core/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/src/nhttpd/yhttpd_core/Makefile.am b/src/nhttpd/yhttpd_core/Makefile.am index cc760e315..de0679d2b 100644 --- a/src/nhttpd/yhttpd_core/Makefile.am +++ b/src/nhttpd/yhttpd_core/Makefile.am @@ -1,5 +1,6 @@ INCLUDES = \ -I$(srcdir) \ + -I$(top_builddir) \ -I$(top_srcdir) \ -I$(top_srcdir)/lib \ -I$(top_srcdir)/src/zapit/include \ From b60e19962009ce216eb19302958ced8ee9842759 Mon Sep 17 00:00:00 2001 From: Michael Liebmann Date: Wed, 17 Apr 2013 15:29:43 +0200 Subject: [PATCH 14/62] * Sort deutsch.locale / english.locale --- data/locale/deutsch.locale | 8 ++++---- data/locale/english.locale | 22 +++++++++++----------- src/system/locals.h | 22 +++++++++++----------- src/system/locals_intern.h | 22 +++++++++++----------- 4 files changed, 37 insertions(+), 37 deletions(-) diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 8dd7b7a42..4565bd309 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -1816,19 +1816,19 @@ usermenu.msg_warning_no_items Sie haben keine Menüpunkte für dieses Menü ange usermenu.name Name video_mode_ok Video-Einstellungen OK? videomenu.43mode 4:3 Anzeigeverhalten +videomenu.analog_hd_rgb RGB (HD) videomenu.analog_hd_rgb_cinch RGB -> Cinch (HD) videomenu.analog_hd_rgb_scart RGB -> Scart (HD) +videomenu.analog_hd_yprpb YPbPr(HD) videomenu.analog_hd_yprpb_cinch YPbPr -> Cinch (HD) videomenu.analog_hd_yprpb_scart YPbPr -> Scart (HD) videomenu.analog_mode Videomodus +videomenu.analog_sd_rgb RGB (SD) videomenu.analog_sd_rgb_cinch RGB -> Cinch (SD) videomenu.analog_sd_rgb_scart RGB -> Scart (SD) +videomenu.analog_sd_yprpb YPbPr (SD) videomenu.analog_sd_yprpb_cinch YPbPr -> Cinch (SD) videomenu.analog_sd_yprpb_scart YPbPr -> Scart (SD) -videomenu.analog_hd_rgb RGB (HD) -videomenu.analog_hd_yprpb YPbPr(HD) -videomenu.analog_sd_rgb RGB (SD) -videomenu.analog_sd_yprpb YPbPr (SD) videomenu.auto Automatisch videomenu.brightness Helligkeit videomenu.cinch Cinch diff --git a/data/locale/english.locale b/data/locale/english.locale index 55ff3757a..6474ff886 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -228,8 +228,8 @@ channellist.new_zap_mode Quickzap in list channellist.new_zap_mode_active active channellist.new_zap_mode_allow allow channellist.new_zap_mode_off off -channellist.numeric_adjust Numeric zap adjust channellist.nonefound No channels were found!\nPlease execute a scan\n(MENU-key -> service) +channellist.numeric_adjust Numeric zap adjust channellist.provs Providers channellist.recording_not_possible Recording not possible! channellist.reset_flags Reset 'new' channel flag @@ -997,8 +997,8 @@ menu.hint_scan_fast CanalDigitaal/TéléSAT/TV Vlaanderen provider scan\nWARNING menu.hint_scan_fastprov Select provider to scan menu.hint_scan_fasttype Select fast scan type menu.hint_scan_fec Select transponder FEC -menu.hint_scan_femode Select tuner connection type menu.hint_scan_felink Select tuner to link tuner to +menu.hint_scan_femode Select tuner connection type menu.hint_scan_fesetup Configure tuner(s) menu.hint_scan_fetimeout Time to wait for signal, in 1/10 of second menu.hint_scan_freq Enter transponder frequency @@ -1838,21 +1838,21 @@ usermenu.msg_warning_no_items No items defined!\nThe menu name is reset! usermenu.name Name video_mode_ok Is this video mode working ok ? videomenu.43mode 4:3 Content mode -videomenu.analog_hd_rgb_cinch RGB on cinch (HD) -videomenu.analog_hd_rgb_scart RGB on scart (HD) -videomenu.analog_hd_yprpb_cinch YPbPr on cinch (HD) -videomenu.analog_hd_yprpb_scart YPbPr on scart (HD) -videomenu.analog_mode Analog Video Output -videomenu.analog_sd_rgb_cinch RGB on cinch (SD) -videomenu.analog_sd_rgb_scart RGB on scart (SD) -videomenu.analog_sd_yprpb_cinch YPbPr on cinch (SD) -videomenu.analog_sd_yprpb_scart YPbPr on scart (SD) videomenu.analog_auto AUTO videomenu.analog_cvbs CVBS videomenu.analog_hd_rgb RGB (HD) +videomenu.analog_hd_rgb_cinch RGB on cinch (HD) +videomenu.analog_hd_rgb_scart RGB on scart (HD) videomenu.analog_hd_yprpb YPbPr(HD) +videomenu.analog_hd_yprpb_cinch YPbPr on cinch (HD) +videomenu.analog_hd_yprpb_scart YPbPr on scart (HD) +videomenu.analog_mode Analog Video Output videomenu.analog_sd_rgb RGB (SD) +videomenu.analog_sd_rgb_cinch RGB on cinch (SD) +videomenu.analog_sd_rgb_scart RGB on scart (SD) videomenu.analog_sd_yprpb YPbPr (SD) +videomenu.analog_sd_yprpb_cinch YPbPr on cinch (SD) +videomenu.analog_sd_yprpb_scart YPbPr on scart (SD) videomenu.auto Auto videomenu.brightness Brightness videomenu.cinch Cinch diff --git a/src/system/locals.h b/src/system/locals.h index c4b56b5f1..8ac2be9f0 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -255,8 +255,8 @@ typedef enum LOCALE_CHANNELLIST_NEW_ZAP_MODE_ACTIVE, LOCALE_CHANNELLIST_NEW_ZAP_MODE_ALLOW, LOCALE_CHANNELLIST_NEW_ZAP_MODE_OFF, - LOCALE_CHANNELLIST_NUMERIC_ADJUST, LOCALE_CHANNELLIST_NONEFOUND, + LOCALE_CHANNELLIST_NUMERIC_ADJUST, LOCALE_CHANNELLIST_PROVS, LOCALE_CHANNELLIST_RECORDING_NOT_POSSIBLE, LOCALE_CHANNELLIST_RESET_FLAGS, @@ -1024,8 +1024,8 @@ typedef enum LOCALE_MENU_HINT_SCAN_FASTPROV, LOCALE_MENU_HINT_SCAN_FASTTYPE, LOCALE_MENU_HINT_SCAN_FEC, - LOCALE_MENU_HINT_SCAN_FEMODE, LOCALE_MENU_HINT_SCAN_FELINK, + LOCALE_MENU_HINT_SCAN_FEMODE, LOCALE_MENU_HINT_SCAN_FESETUP, LOCALE_MENU_HINT_SCAN_FETIMEOUT, LOCALE_MENU_HINT_SCAN_FREQ, @@ -1865,21 +1865,21 @@ typedef enum LOCALE_USERMENU_NAME, LOCALE_VIDEO_MODE_OK, LOCALE_VIDEOMENU_43MODE, - LOCALE_VIDEOMENU_ANALOG_HD_RGB_CINCH, - LOCALE_VIDEOMENU_ANALOG_HD_RGB_SCART, - LOCALE_VIDEOMENU_ANALOG_HD_YPRPB_CINCH, - LOCALE_VIDEOMENU_ANALOG_HD_YPRPB_SCART, - LOCALE_VIDEOMENU_ANALOG_MODE, - LOCALE_VIDEOMENU_ANALOG_SD_RGB_CINCH, - LOCALE_VIDEOMENU_ANALOG_SD_RGB_SCART, - LOCALE_VIDEOMENU_ANALOG_SD_YPRPB_CINCH, - LOCALE_VIDEOMENU_ANALOG_SD_YPRPB_SCART, LOCALE_VIDEOMENU_ANALOG_AUTO, LOCALE_VIDEOMENU_ANALOG_CVBS, LOCALE_VIDEOMENU_ANALOG_HD_RGB, + LOCALE_VIDEOMENU_ANALOG_HD_RGB_CINCH, + LOCALE_VIDEOMENU_ANALOG_HD_RGB_SCART, LOCALE_VIDEOMENU_ANALOG_HD_YPRPB, + LOCALE_VIDEOMENU_ANALOG_HD_YPRPB_CINCH, + LOCALE_VIDEOMENU_ANALOG_HD_YPRPB_SCART, + LOCALE_VIDEOMENU_ANALOG_MODE, LOCALE_VIDEOMENU_ANALOG_SD_RGB, + LOCALE_VIDEOMENU_ANALOG_SD_RGB_CINCH, + LOCALE_VIDEOMENU_ANALOG_SD_RGB_SCART, LOCALE_VIDEOMENU_ANALOG_SD_YPRPB, + LOCALE_VIDEOMENU_ANALOG_SD_YPRPB_CINCH, + LOCALE_VIDEOMENU_ANALOG_SD_YPRPB_SCART, LOCALE_VIDEOMENU_AUTO, LOCALE_VIDEOMENU_BRIGHTNESS, LOCALE_VIDEOMENU_CINCH, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index e7de3b0ab..fce38ae4d 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -255,8 +255,8 @@ const char * locale_real_names[] = "channellist.new_zap_mode_active", "channellist.new_zap_mode_allow", "channellist.new_zap_mode_off", - "channellist.numeric_adjust", "channellist.nonefound", + "channellist.numeric_adjust", "channellist.provs", "channellist.recording_not_possible", "channellist.reset_flags", @@ -1024,8 +1024,8 @@ const char * locale_real_names[] = "menu.hint_scan_fastprov", "menu.hint_scan_fasttype", "menu.hint_scan_fec", - "menu.hint_scan_femode", "menu.hint_scan_felink", + "menu.hint_scan_femode", "menu.hint_scan_fesetup", "menu.hint_scan_fetimeout", "menu.hint_scan_freq", @@ -1865,21 +1865,21 @@ const char * locale_real_names[] = "usermenu.name", "video_mode_ok", "videomenu.43mode", - "videomenu.analog_hd_rgb_cinch", - "videomenu.analog_hd_rgb_scart", - "videomenu.analog_hd_yprpb_cinch", - "videomenu.analog_hd_yprpb_scart", - "videomenu.analog_mode", - "videomenu.analog_sd_rgb_cinch", - "videomenu.analog_sd_rgb_scart", - "videomenu.analog_sd_yprpb_cinch", - "videomenu.analog_sd_yprpb_scart", "videomenu.analog_auto", "videomenu.analog_cvbs", "videomenu.analog_hd_rgb", + "videomenu.analog_hd_rgb_cinch", + "videomenu.analog_hd_rgb_scart", "videomenu.analog_hd_yprpb", + "videomenu.analog_hd_yprpb_cinch", + "videomenu.analog_hd_yprpb_scart", + "videomenu.analog_mode", "videomenu.analog_sd_rgb", + "videomenu.analog_sd_rgb_cinch", + "videomenu.analog_sd_rgb_scart", "videomenu.analog_sd_yprpb", + "videomenu.analog_sd_yprpb_cinch", + "videomenu.analog_sd_yprpb_scart", "videomenu.auto", "videomenu.brightness", "videomenu.cinch", From 7a637bebf85c29914038c504059c800cbcd59c1d Mon Sep 17 00:00:00 2001 From: Michael Liebmann Date: Thu, 18 Apr 2013 19:20:35 +0200 Subject: [PATCH 15/62] * Sort unmaintained locale --- data/locale/unmaintained/czech.locale | 648 +++++++++++++------------- data/locale/unmaintained/dutch.locale | 68 +-- 2 files changed, 358 insertions(+), 358 deletions(-) diff --git a/data/locale/unmaintained/czech.locale b/data/locale/unmaintained/czech.locale index 58e15ebea..5dcc4aaa8 100644 --- a/data/locale/unmaintained/czech.locale +++ b/data/locale/unmaintained/czech.locale @@ -97,26 +97,32 @@ GENRE.TRAVEL_HOBBIES.6 inzerování/nakupování GENRE.TRAVEL_HOBBIES.7 zahrádkářství GENRE.UNKNOWN neznámý apidselector.head Výběr jazyka +audio.srs_algo Mód +audio.srs_algo_light Jemný +audio.srs_algo_normal Normální +audio.srs_iq SRS TruVolume +audio.srs_nmgr Potlačovač šumu +audio.srs_volume Výchozí hlasitost audiomenu.PCMOffset Snížení hlasitosti PCM audiomenu.analog_mode Analogový mód audiomenu.analog_out Analogový výstup +audiomenu.auto_lang Automatický výběr zvuku +audiomenu.auto_subs Automatický výběr titulků audiomenu.avs avs -audiomenu.dolbydigital Zvuk Dolby Digital -audiomenu.monoleft mono levý kanál -audiomenu.monoright mono pravý kanál -audiomenu.stereo stereo -audiomenu.hdmi_dd Zvuk DD na HDMI -audiomenu.spdif_dd Zvuk DD na SPDIF audiomenu.avsync A/V synch audiomenu.avsync_am Hlavní zvuk audiomenu.clockrec Vzorkování -audiomenu.auto_lang Automatický výběr zvuku -audiomenu.auto_subs Automatický výběr titulků -audiomenu.pref_languages Jazykové nastavení -audiomenu.pref_lang_head Nastavení jazyku zvuku/EPG +audiomenu.dolbydigital Zvuk Dolby Digital +audiomenu.hdmi_dd Zvuk DD na HDMI +audiomenu.monoleft mono levý kanál +audiomenu.monoright mono pravý kanál audiomenu.pref_lang Preferovaný jazyk -audiomenu.pref_subs_head Nastavení jazyku vybraných titulků +audiomenu.pref_lang_head Nastavení jazyku zvuku/EPG +audiomenu.pref_languages Jazykové nastavení audiomenu.pref_subs Preferované titulky +audiomenu.pref_subs_head Nastavení jazyku vybraných titulků +audiomenu.spdif_dd Zvuk DD na SPDIF +audiomenu.stereo stereo audioplayer.add přidej audioplayer.add_ic Icecast audioplayer.add_loc Seznam lokálních rádií @@ -134,7 +140,6 @@ audioplayer.fastforward přetoč dopředu audioplayer.follow Udělej výběr hraného audioplayer.head Seznam přehrávání audioplayer.highprio Velká priorita dekódování -audioplayer.spectrum lcd a-spektrum audioplayer.jump_backwards skoč dozadu audioplayer.jump_dialog_hint1 čas skoku audioplayer.jump_dialog_hint2 v sekundách. @@ -161,6 +166,7 @@ audioplayer.screensaver_timeout Vypnutí obrazu (minuta, 0=vypnutý) audioplayer.select_title_by_name Vyber titul podle názvu (SMS) audioplayer.show_playlist Zobraz seznam audioplayer.shuffle náhodně +audioplayer.spectrum lcd a-spektrum audioplayer.stop zastav audioplayer.title_artist Titul, Umělec audioplayerpicsettings.general Nastavení přehrávače @@ -186,20 +192,29 @@ bouqueteditor.switch přidej/odstraň bouqueteditor.switchmode TV/Rádio bouquetlist.head Bukety cablesetup.provider Kabelový poskytovatel +cam.empty Žádný modul v šachtě +cam.init_ok Inicializace modulu ukončená +cam.inserted Vložený modul do šachty +cam.removed Odstraněný modul z šachty +cam.reset Resetovat +cam.reset_standby Resetovat po spuštění +cam.settings Podmíněný přístup +cam.timeout Čas čekání uplynul,\nvracím se do menu +cam.waiting Čekám na odpověď +channellist.current_tp Aktuální transpondér channellist.edit Uprav channellist.epgtext_align_left do leva channellist.epgtext_align_right do prava channellist.extended Grafické EPG v seznamu -channellist.head Všechny kanály -channellist.nonefound Nenalezený seznam kanálů!\nVykonej vyhledání kanálů\n(MENU -> Služby) -channellist.since od -channellist.start spouští channellist.favs Oblíbené +channellist.head Všechny kanály +channellist.history Historie +channellist.make_hdlist Vytvoř seznam pro HD kanály +channellist.nonefound Nenalezený seznam kanálů!\nVykonej vyhledání kanálů\n(MENU -> Služby) channellist.provs Poskytovatelé channellist.sats Satelity -channellist.history Historie -channellist.current_tp Aktuální transpondér -channellist.make_hdlist Vytvoř seznam pro HD kanály +channellist.since od +channellist.start spouští colorchooser.alpha Průhlednost colorchooser.blue Modrý colorchooser.green Zelený @@ -208,13 +223,13 @@ colormenu.background Pozadí colormenu.fade Mizející menu colormenu.font Výběr písma colormenu.font_ttx Výběr teletextového písma +colormenu.hd_preset LCD colormenu.menucolors Barvy menu +colormenu.osd_preset Druh TV +colormenu.sd_preset CRT colormenu.textcolor Barva textu colormenu.themeselect Výběr témat colormenu.timing Čas zobrazení na OSD -colormenu.osd_preset Druh TV -colormenu.hd_preset LCD -colormenu.sd_preset CRT colormenusetup.menucontent Obsahové okno colormenusetup.menucontent_inactive Neaktivní v obsahovém okně colormenusetup.menucontent_selected Vybrané v obsahovém okně @@ -223,10 +238,14 @@ colorstatusbar.text Text stavového řádku colorthememenu.classic_theme Klasika colorthememenu.dblue_theme DarkBlue colorthememenu.dvb2k_theme DVB2000 -colorthememenu.red_theme Jednoduchý červený +colorthememenu.gray Šedá colorthememenu.head Výběr témat colorthememenu.neutrino_theme Neutrino -colorthememenu.gray Šedá +colorthememenu.red_theme Jednoduchý červený +cpu.freq Cpu kmitočet +cpu.freq_default default kmitočet +cpu.freq_normal Normal kmitočet +cpu.freq_standby Standby kmitočet date.Apr Dub date.Aug Srp date.Dec Pro @@ -266,15 +285,104 @@ eventfinder.start_search Spusť hledání eventlistbar.channelswitch přejdi eventlistbar.eventsort třídění eventlistbar.recordevent nahraj +extra.add_to_bouquet Přidání do buketu +extra.audio_run_player Zmáčknutí AUDIO spustí přehrávač +extra.auto_delete Auto-mazání +extra.auto_timeshift Auto-nahrávání, sec (0=vypnuté) +extra.cache_txt Zachytávání teletextu +extra.chadded Aktuální kanál byl přidaný do vybraného buketu....\n +extra.chalreadyinbq Aktuální kanál se už nachází ve vybraném buketu....\n +extra.dboxinfo Informace o systému +extra.east Východně +extra.fec_1_2 1/2 +extra.fec_2_3 2/3 +extra.fec_3_4 3/4 +extra.fec_5_6 5/6 +extra.fec_7_8 7/8 +extra.fec_auto Auto DVB-S +extra.fec_auto_s2 Auto DVB-S2 +extra.fec_s2_8psk_1_2 1/2 s2 8psk +extra.fec_s2_8psk_2_3 2/3 s2 8psk +extra.fec_s2_8psk_3_4 3/4 s2 8psk +extra.fec_s2_8psk_3_5 3/5 s2 8psk +extra.fec_s2_8psk_4_5 4/5 s2 8psk +extra.fec_s2_8psk_5_6 5/6 s2 8psk +extra.fec_s2_8psk_7_8 7/8 s2 8psk +extra.fec_s2_8psk_8_9 8/9 s2 8psk +extra.fec_s2_8psk_9_10 9/10 s2 8psk +extra.fec_s2_qpsk_1_2 1/2 s2 qpsk +extra.fec_s2_qpsk_2_3 2/3 s2 qpsk +extra.fec_s2_qpsk_3_4 3/4 s2 qpsk +extra.fec_s2_qpsk_3_5 3/5 s2 qpsk +extra.fec_s2_qpsk_4_5 4/5 s2 qpsk +extra.fec_s2_qpsk_5_6 5/6 s2 qpsk +extra.fec_s2_qpsk_7_8 7/8 s2 qpsk +extra.fec_s2_qpsk_8_9 8/9 s2 qpsk +extra.fec_s2_qpsk_9_10 9/10 s2 qpsk +extra.key_list_end Na konec +extra.key_list_start Na začátek +extra.key_plugin Tlačítko zobrazující PLUGIN +extra.key_timeshift Časový posuv +extra.key_unlock Odblokuj +extra.ladirection Umístění zem.šířky +extra.latitude Zem.šířka +extra.loadconfig Nahraj nastavení z ... +extra.loadkeys Nahraj nastavení kláves +extra.lodirection Umístění zem.délky +extra.logo Číslo loga(Startovací logo?) +extra.longitude Zem.délka +extra.menu_left_exit "Levý" = návrat menu +extra.north Severně +extra.record_time Rychlý čas nahrávání (hodiny) +extra.rotor_swap Vyměnit východ/západ motoru +extra.rounded_corners Vzhled rohů +extra.rounded_corners_off hranatý +extra.rounded_corners_on zaoblený +extra.saveconfig Ulož nastavení jako ... +extra.savekeys Ulož nastavení kláves +extra.scan_fast Rychlé prohledávání (XML) +extra.scan_full Úplné prohledávání (XML+NIT) +extra.scrambled_message Zpráva kódování +extra.sms_channel Mód SMS pro kanál +extra.south Jižně +extra.start_tostandby Spuštění do stavu připravenosti +extra.temp_timeshift Dočasný časový posuv +extra.timeshift_pause Pozastavení časového posuvu +extra.tp.pol_v V +extra.tp_fec FEC +extra.tp_freq Kmitočet +extra.tp_mod Modulace +extra.tp_mod_128 QAM/128 +extra.tp_mod_16 QAM/16 +extra.tp_mod_256 QAM/256 +extra.tp_mod_32 QAM/32 +extra.tp_mod_64 QAM/64 +extra.tp_pol Polarizace +extra.tp_pol_h H +extra.tp_rate SymbolRate +extra.update_dir Adresář aktualizace +extra.use_gotoxx Použij gotoXX +extra.volume_pos Ukazovatel hlasitosti +extra.west Západně +extra.zap_cycle Vypnout historii kanálů +extra.zapit_fe_timeout Časový limit naladění (1 = 10 msek) +extra.zapit_hvoltage 18V při točení motoru +extra.zapit_make_bouquet Udělejte ostatní seznam kanálů +extra.zapit_menu Možnosti přepínání +extra.zapit_motor_speed Rychlost točení (10 = 1st/sek) +extra.zapit_scanpids Vyhledávání s PIDy +extra.zapit_sdt_changed Změněné kanály, načítání nastavení. +extra.zapit_write_names Zapsání názvů kanálů +fan_speed Rychlost CPU ventilátoru favorites.addchannel Aktuální kanál bude přidaný \ndo buketu "Oblíbené". \nTo potrvá několik vteřin... favorites.bouquetname Oblíbené favorites.bqcreated Buket "Oblíbené" byl vytvořený...\n favorites.chadded Aktuální kanál byl přidaný do oblíbených...\n favorites.chalreadyinbq Aktuální kanál se už nachází v oblíbených...\n +favorites.copy Kopíruj buket do Oblíbených favorites.finalhint \nPoužij editor buketů pro dokončení\změn v oblíbených.\n favorites.menueadd Přidej kanál do oblíbených favorites.nobouquets Oblíbené jsou dostupné jen při použití Buketů. -favorites.copy Kopíruj buket do Oblíbených filebrowser.delete smaž filebrowser.denydirectoryleave Hlavní adresář filebrowser.dodelete1 smaž @@ -351,13 +459,13 @@ flashupdate.versioncheck Kontrola verze flashupdate.writeflash Zapisování celého IMAGE do paměti FLASH flashupdate.writeflashmtd Zapisování jednoho oddílu flashupdate.wrongbase Vaše verze je odlišná.\nPokračovat? -fontmenu.menu Menu fontmenu.channellist Seznam kanálů fontmenu.epg EPG fontmenu.eventlist Programový průvodce fontmenu.gamelist Seznam her fontmenu.head Nastavení písma fontmenu.infobar Stavový řádek +fontmenu.menu Menu fontmenu.sizes Velikosti písma fontsize.channel_num_zap přímý výběr fontsize.channellist Seznam kanálů @@ -384,6 +492,40 @@ fontsize.menu_info Informační menu fontsize.menu_title Titulek menu gtxalpha.alpha1 Alfa 1 gtxalpha.alpha2 Alfa 2 +hdd_10min 10 minut +hdd_1min 1 minuta +hdd_20min 20 minut +hdd_30min 30 minut +hdd_5min 5 minut +hdd_60min 60 minut +hdd_activate Použij nastavení +hdd_check Kontrola souborového systému +hdd_check_failed Chyba kontroly disku ! +hdd_ext3 Souborový systém Ext3 +hdd_fast minimálně +hdd_format Formátování HDD +hdd_format_failed Chyba během formátování disku ! +hdd_format_warn Opravdu formátovat? Všechna data budou ztracena! +hdd_fs Souborový systém +hdd_manage Správa HDD +hdd_middle středně +hdd_noise Hlučnost +hdd_not_found Nenalezený disk +hdd_reiser ReiserFS +hdd_settings Nastavení HDD +hdd_sleep Čas uspání +hdd_slow maximálně +hdd_umount_warn Chyba během odpojení disku ! +imageinfo.creator Vytvořil: +imageinfo.date Datum: +imageinfo.dokumentation Dokumentace: +imageinfo.forum Fórum: +imageinfo.head Informace o IMAGE +imageinfo.homepage Domů: +imageinfo.image Image: +imageinfo.license Licence: +imageinfo.version Verze: +inetradio.name Internetové rádio infoviewer.epgnotload EPG informace nejsou načteny... infoviewer.epgwait čekám na informace EPG... infoviewer.eventlist Přehled EPG @@ -450,9 +592,9 @@ lcdmenu.statusline.both hlasitost/hraný čas lcdmenu.statusline.playtime odehraný čas lcdmenu.statusline.volume hlasitost ledcontroler.menu Podsvícení Power tlačítka -ledcontroler.mode.tv TV mód ledcontroler.mode.deepstandby Hluboký spánek ledcontroler.mode.standby Připravenost +ledcontroler.mode.tv TV mód ledcontroler.off Led1 a Led2 vyp. ledcontroler.on.all Led1 a Led2 zap. ledcontroler.on.led1 Led1 zap. @@ -477,18 +619,18 @@ mainmenu.shutdown Vypnout mainmenu.sleeptimer Časovač vypnutí mainmenu.tvmode TV mainsettings.audio Zvuk -mainsettings.osd Nastavení OSD mainsettings.head Nastavení mainsettings.keybinding Nastavení kláves mainsettings.language Jazyk -mainsettings.timezone Časová zóna mainsettings.lcd Zobrazovač VFD mainsettings.manage Správa nastavení mainsettings.misc Jiné nastavení mainsettings.network Síť +mainsettings.osd Nastavení OSD mainsettings.recording Nahrávání mainsettings.savesettingsnow Uložení nastavení mainsettings.savesettingsnow_hint Zapisování nastavení,\nprosím čekej... +mainsettings.timezone Časová zóna mainsettings.video Obraz menu.back zpět menu.next další (MENU ukončí) @@ -502,6 +644,21 @@ messagebox.ok ok messagebox.yes ano miscsettings.channellist Nastavení seznamu kanálů miscsettings.channellist_epgtext_align Zarovnej EPG text +miscsettings.epg_cache Zachytávání EPG (dni) +miscsettings.epg_cache_hint1 Jak dlouho uchovávat data EPG v budoucnosti? +miscsettings.epg_cache_hint2 Nastavení ve dnech. +miscsettings.epg_dir Adresář EPG +miscsettings.epg_extendedcache Podrobný popis programu (hodiny) +miscsettings.epg_extendedcache_hint1 Jak dlouho zachytávat rozšířený +miscsettings.epg_extendedcache_hint2 popis programu (nastavení v hodinách) +miscsettings.epg_head Nastavení EPG +miscsettings.epg_max_events Maximum programů +miscsettings.epg_max_events_hint1 Kolik programů bude uložených? +miscsettings.epg_max_events_hint2 normálně 6000, 0 pro zrušení limitu +miscsettings.epg_old_events Odstraň neaktuální EPG +miscsettings.epg_old_events_hint1 Jak dlouho zapisovat data EPG po uplynutí doby? +miscsettings.epg_old_events_hint2 Nastavení v hodinách. +miscsettings.epg_save Ulož/Obnov EPG po restartu miscsettings.general Hlavní nastavení miscsettings.head Jiné nastavení miscsettings.infobar Infořádek @@ -521,79 +678,42 @@ miscsettings.shutdown_count_hint2 do hlubokého spánku (0=vypnuté) miscsettings.shutdown_real Umožnění spánku miscsettings.shutdown_real_rcdelay Zpoždění vypnutí miscsettings.virtual_zap_mode Virtuální přepínání -miscsettings.epg_cache Zachytávání EPG (dni) -miscsettings.epg_cache_hint1 Jak dlouho uchovávat data EPG v budoucnosti? -miscsettings.epg_cache_hint2 Nastavení ve dnech. -miscsettings.epg_dir Adresář EPG -miscsettings.epg_extendedcache Podrobný popis programu (hodiny) -miscsettings.epg_extendedcache_hint1 Jak dlouho zachytávat rozšířený -miscsettings.epg_extendedcache_hint2 popis programu (nastavení v hodinách) -miscsettings.epg_head Nastavení EPG -miscsettings.epg_max_events Maximum programů -miscsettings.epg_max_events_hint1 Kolik programů bude uložených? -miscsettings.epg_max_events_hint2 normálně 6000, 0 pro zrušení limitu -miscsettings.epg_old_events Odstraň neaktuální EPG -miscsettings.epg_old_events_hint1 Jak dlouho zapisovat data EPG po uplynutí doby? -miscsettings.epg_old_events_hint2 Nastavení v hodinách. -miscsettings.epg_save Ulož/Obnov EPG po restartu -motorcontrol.head Satelitní vyhledávač -motorcontrol.user_menu Uživatelské menu -motorcontrol.install_menu Instalační menu -motorcontrol.step_west Krok/Posuv motoru na Západ (b,c) -motorcontrol.step_east Krok/Posuv motoru na Východ (b,c) -motorcontrol.halt Zastav motor -motorcontrol.west_limit Nastav západní (soft) limit -motorcontrol.east_limit Nastav východní (soft) limit -motorcontrol.enable_limit Zapni (soft) limity -motorcontrol.disable_limit Vypni (soft) limity -motorcontrol.ref_position Jdi na referenční pozici motorcontrol.calc_positions Přepočítej pozice -motorcontrol.pos_increase Zvyš pozici motoru (a) -motorcontrol.pos_decrease Sniž pozici motoru (a) -motorcontrol.step_drive Přepni Způsob Krok/Posuv (b) -motorcontrol.store Ulož pozici motoru (a) -motorcontrol.step_increase Zvyš velikost kroku (c) -motorcontrol.step_decrease Sniž velikost kroku (c) -motorcontrol.goto Jdi na pozici motoru (a) -motorcontrol.notdef Nepoužité -motorcontrol.motor_pos (a) Pozice motoru: -motorcontrol.settings Nastavení ovládání motoru -motorcontrol.movement (b) Přesun: -motorcontrol.step_mode mód kroku +motorcontrol.disable_limit Vypni (soft) limity motorcontrol.drive_mode mód pohybu motorcontrol.drive_mode_auto Zastavení pohybu Ručně/Auto -motorcontrol.timed_mode čas pro mód kroku +motorcontrol.east_limit Nastav východní (soft) limit +motorcontrol.enable_limit Zapni (soft) limity +motorcontrol.goto Jdi na pozici motoru (a) +motorcontrol.halt Zastav motor +motorcontrol.head Satelitní vyhledávač +motorcontrol.install_menu Instalační menu +motorcontrol.motor_pos (a) Pozice motoru: +motorcontrol.movement (b) Přesun: +motorcontrol.msec ms +motorcontrol.no_mode nepoužité +motorcontrol.notdef Nepoužité +motorcontrol.override Nahradit pozici určenou pro +motorcontrol.pos_decrease Sniž pozici motoru (a) +motorcontrol.pos_increase Zvyš pozici motoru (a) +motorcontrol.ref_position Jdi na referenční pozici +motorcontrol.sat_pos Pozice satelitu (krokovací mód): +motorcontrol.settings Nastavení ovládání motoru +motorcontrol.status Stav +motorcontrol.step_decrease Sniž velikost kroku (c) +motorcontrol.step_drive Přepni Způsob Krok/Posuv (b) +motorcontrol.step_east Krok/Posuv motoru na Východ (b,c) +motorcontrol.step_increase Zvyš velikost kroku (c) +motorcontrol.step_mode mód kroku motorcontrol.step_size (c) Velikost kroku: +motorcontrol.step_west Krok/Posuv motoru na Západ (b,c) motorcontrol.stop_moving Zastav na signálu (pohybování) motorcontrol.stop_stopped Zastav na signálu (zastavení) -motorcontrol.no_mode nepoužité -motorcontrol.msec ms -motorcontrol.status Stav -motorcontrol.sat_pos Pozice satelitu (krokovací mód): -motorcontrol.override Nahradit pozici určenou pro -moviebrowser.option_browser Možnosti prohlížeče +motorcontrol.store Ulož pozici motoru (a) +motorcontrol.timed_mode čas pro mód kroku +motorcontrol.user_menu Uživatelské menu +motorcontrol.west_limit Nastav západní (soft) limit moviebrowser.book_clear_all Vyčisti všechno -moviebrowser.menu_save Ulož změny -moviebrowser.menu_save_all Spusť aktualizaci informací o souboru -moviebrowser.info_head_update Ulož změny ve všech informačních souborech filmu -moviebrowser.update_if_dest_empty_only Kopírovat jen když je cílové místo prázdné -moviebrowser.serie_auto_create Automaticky vytvoř seriál -moviebrowser.load_default Nahrát přednastavené nastavení -moviebrowser.browser_row_head Nastavení řádku -moviebrowser.browser_row_nr Počet sloupců -moviebrowser.browser_row_item Položka sloupce -moviebrowser.browser_row_width Šířka sloupce -moviebrowser.reload_at_start Načítání informace o filmu při startu -moviebrowser.remount_at_start Připoj při startu -moviebrowser.dir_head Doplňkové adresáře -moviebrowser.dir Adresář -moviebrowser.use_dir Použij adresář -moviebrowser.use_rec_dir Použij adresář nahrávání -moviebrowser.use_movie_dir Použij adresář filmů -moviebrowser.hide_series Skrýt seriály -moviebrowser.last_record_max_items Počet linek posledního nahrávání -moviebrowser.last_play_max_items Počet linek posledního přehrávání -moviebrowser.browser_frame_high Výška prohlížeče [pixel] moviebrowser.book_head Záložky moviebrowser.book_lastmoviestop Poslední přerušení: moviebrowser.book_movieend Konec filmu: @@ -604,6 +724,13 @@ moviebrowser.book_position Pozice: moviebrowser.book_type Skok (<0 vzad , >0 vpřed): moviebrowser.book_type_backward Opakovat moviebrowser.book_type_forward Skok za +moviebrowser.browser_frame_high Výška prohlížeče [pixel] +moviebrowser.browser_row_head Nastavení řádku +moviebrowser.browser_row_item Položka sloupce +moviebrowser.browser_row_nr Počet sloupců +moviebrowser.browser_row_width Šířka sloupce +moviebrowser.dir Adresář +moviebrowser.dir_head Doplňkové adresáře moviebrowser.edit_book Změň záložku moviebrowser.edit_book_name_info1 Zadání nového názvu záložky moviebrowser.edit_book_name_info2 název knihy @@ -620,6 +747,7 @@ moviebrowser.head TS přehrávač filmů moviebrowser.head_filter Filtrování filmů podle kategorie: moviebrowser.head_playlist Poslední puštěný: moviebrowser.head_recordlist Posledně nahraný: +moviebrowser.hide_series Skrýt seriály moviebrowser.hint_jumpbackward Skok vzad o 5s\n '0' zruš moviebrowser.hint_jumpforward Skok vpřed o 5s\n '0' zruš moviebrowser.hint_movieend Ukončení sledování za 5 s\n '0' zruš @@ -631,6 +759,7 @@ moviebrowser.info_filename Název moviebrowser.info_genre_major Žánr moviebrowser.info_genre_minor Vedlejší žánr moviebrowser.info_head Informace o filmu +moviebrowser.info_head_update Ulož změny ve všech informačních souborech filmu moviebrowser.info_info1 Info 1 moviebrowser.info_length Délka (Min) moviebrowser.info_parental_lockage Rodičovský zámek @@ -650,6 +779,9 @@ moviebrowser.info_serie Seriál moviebrowser.info_size Velikost (MB) moviebrowser.info_title Titul moviebrowser.info_videoformat Obraz +moviebrowser.last_play_max_items Počet linek posledního přehrávání +moviebrowser.last_record_max_items Počet linek posledního nahrávání +moviebrowser.load_default Nahrát přednastavené nastavení moviebrowser.menu_directories_head Adresáře moviebrowser.menu_help_head Nápověda moviebrowser.menu_main_bookmarks Záložky @@ -657,11 +789,17 @@ moviebrowser.menu_main_head Nastavení moviebrowser.menu_nfs_head Nastavení NFS moviebrowser.menu_parental_lock_activated Aktivace moviebrowser.menu_parental_lock_activated_no ne -moviebrowser.menu_parental_lock_activated_yes ano moviebrowser.menu_parental_lock_activated_no_temp ne (dočasně) +moviebrowser.menu_parental_lock_activated_yes ano moviebrowser.menu_parental_lock_head Blokování moviebrowser.menu_parental_lock_rate_head Blokovat film z ... +moviebrowser.menu_save Ulož změny +moviebrowser.menu_save_all Spusť aktualizaci informací o souboru +moviebrowser.option_browser Možnosti prohlížeče +moviebrowser.reload_at_start Načítání informace o filmu při startu +moviebrowser.remount_at_start Připoj při startu moviebrowser.scan_for_movies Hledej pro film ... +moviebrowser.serie_auto_create Automaticky vytvoř seriál moviebrowser.serie_head Seriály moviebrowser.serie_name Změna názvu moviebrowser.short_audio Zvuk @@ -686,6 +824,10 @@ moviebrowser.short_size Velikost moviebrowser.short_title Titul moviebrowser.start_head Dívat se na film od: moviebrowser.start_record_start Začátek filmu +moviebrowser.update_if_dest_empty_only Kopírovat jen když je cílové místo prázdné +moviebrowser.use_dir Použij adresář +moviebrowser.use_movie_dir Použij adresář filmů +moviebrowser.use_rec_dir Použij adresář nahrávání movieplayer.bookmark Záložky movieplayer.bookmarkname Název záložky movieplayer.bookmarkname_hint1 Vložení názvu @@ -707,6 +849,15 @@ movieplayer.tshelp7 asi 1 min dopředu movieplayer.tshelp8 asi 5 min dozadu movieplayer.tshelp9 asi 5 min dopředu movieplayer.tsplayback Přehrát TS +mpkey.audio Zvuková stpopa +mpkey.bookmark Ulož záložku +mpkey.forward Dopředu +mpkey.pause Přeruš +mpkey.play Přehraj +mpkey.plugin Spusť PLUGIN +mpkey.rewind Dozadu +mpkey.stop Zastav +mpkey.time Zobrazení času networkmenu.broadcast Vysílání networkmenu.dhcp Převzetí z DHCP networkmenu.gateway Předvolená brána @@ -727,6 +878,7 @@ networkmenu.setupnow Použij nastavení sítě networkmenu.setuponstartup Nastavení sítě při startu networkmenu.show Zobrazení síťového nastavení networkmenu.test Otestování sítě +neutrino_starting Spuštění Neutrina... nfs.alreadymounted Adresář je už připojený nfs.automount Připoj při spuštění nfs.dir Adresář/sdílení @@ -759,6 +911,7 @@ options.fb FRAMEBUFFER options.null nic options.off ne options.on ano +options.on.without_messages Bez zpráv options.serial SERIÁL parentallock.changepin Změna PIN kódu parentallock.changepin_hint1 Zadání Vašeho nového bezpečnostního PIN kódu! @@ -825,7 +978,6 @@ recordingmenu.apids_ac3 Nahraj zvuk AC3 recordingmenu.apids_alt Nahraj ostatní zvukové stopy recordingmenu.apids_std Nahraj standartní zvuk recordingmenu.defdir Adresář nahrávání -recordingmenu.tsdir Adresář časového posuvu recordingmenu.file disk (soubor) recordingmenu.help Nahrávací zařízení:\n--------------------------------------\nserver:\npotřebný streamovací SW na PC\n\(analog) VCR:\npotřebný VCR (druhý SCART)\n\ndisk (soubor):\npotřebný připojený síťový NFS adresář\nnebo vnitřní HDD disk\nTS: použij SPTS mód(dBox2)\nPES: nepoužij SPTS mód(dBox2)\n\n\nMaximální velikost souboru:\n---------------------\nNFS V2: 2 GB (2048 MB)\nNFS V3: téměř nekonečné (0 MB)\nFAT: 2 GB (2048 MB)\nFAT32: 4 GB (4096 MB)\n\nPro NFS (UDP) se doporučuje synchronizovaný zápis recordingmenu.off vypnuté @@ -833,49 +985,54 @@ recordingmenu.save_in_channeldir Zapsání do adresáře kanálu recordingmenu.server server recordingmenu.server_mac Adresa MAC serveru recordingmenu.setupnow Použij nastavení +recordingmenu.tsdir Adresář časového posuvu recordingmenu.vcr videomagnetofon recordingmenu.zap_on_announce Informuj o zapnutí nahrávání recordtimer.announce Začátek nahrávání za pár minut. repeatblocker.hint_1 Doba zpoždění (ms) mezi dvěma stlačeními klávesy repeatblocker.hint_2 0 = vypnutí blokování (červené tlačítko) +reset_all Tovární nastavení +reset_channels Smazání všech kanálů +reset_confirm Skutečně? +reset_settings Návrat k přednastavenému nastavení +satsetup.auto_scan Automatické prohledání vybraného satelitu +satsetup.auto_scan_all Automatické prohledání vybraných satelitů +satsetup.comm_input Potvrzený vstup satsetup.diseqc DiSEqC satsetup.diseqc10 DiSEqC 1.0 satsetup.diseqc11 DiSEqC 1.1 satsetup.diseqc12 DiSEqC 1.2 satsetup.diseqc_advanced Rozšířené satsetup.diseqc_com_uncom Potvrzený/Nepotvrzený +satsetup.diseqc_input DiSEqC vstup satsetup.diseqc_uncom_com Nepotvrzený/Potvrzený satsetup.diseqcrepeat DiSEqC opakování satsetup.extended Nastavení DiSEqC satsetup.extended_motor Nastavení motoru +satsetup.fastscan_all SD a HD +satsetup.fastscan_hd jen HD +satsetup.fastscan_head Rychlé prohledání (Astra 1 - 12515 MHz) +satsetup.fastscan_prov Poskytovatel +satsetup.fastscan_prov_cd CanalDigitaal +satsetup.fastscan_prov_telesat TéléSAT +satsetup.fastscan_prov_tvv TV Vlaanderen +satsetup.fastscan_sd jen SD +satsetup.fastscan_type Typ prohledání +satsetup.lofh LNB horní pásmo +satsetup.lofl LNB spodní pásmo +satsetup.lofs LNB přepnutí pásma +satsetup.manual_scan Ruční prohledání satsetup.minidiseqc Mini-DiSEqC +satsetup.motor_pos Pozice v motoru satsetup.nodiseqc bez DiSEqC +satsetup.sat_setup Nastavení vstupů a LNB pro satelity satsetup.satellite Satelit satsetup.smatvremote SMATV ladění -satsetup.sat_setup Nastavení vstupů a LNB pro satelity -satsetup.lofl LNB spodní pásmo -satsetup.lofh LNB horní pásmo -satsetup.lofs LNB přepnutí pásma -satsetup.diseqc_input DiSEqC vstup satsetup.uncomm_input Nepotvrzený vstup -satsetup.comm_input Potvrzený vstup -satsetup.motor_pos Pozice v motoru -satsetup.auto_scan Automatické prohledání vybraného satelitu -satsetup.auto_scan_all Automatické prohledání vybraných satelitů -satsetup.manual_scan Ruční prohledání +satsetup.usals_repeat Opakování USALS příkazu satsetup.use_fta_flag Jen nekódované satsetup.use_nit Použití NIT satsetup.use_usals Použití USALS -satsetup.usals_repeat Opakování USALS příkazu -satsetup.fastscan_head Rychlé prohledání (Astra 1 - 12515 MHz) -satsetup.fastscan_type Typ prohledání -satsetup.fastscan_sd jen SD -satsetup.fastscan_hd jen HD -satsetup.fastscan_all SD a HD -satsetup.fastscan_prov Poskytovatel -satsetup.fastscan_prov_cd CanalDigitaal -satsetup.fastscan_prov_tvv TV Vlaanderen -satsetup.fastscan_prov_telesat TéléSAT scants.abort_body Skutečně přerušit vyhledávání? scants.abort_header Přerušení vyhledávání scants.actcable Kabel: @@ -896,15 +1053,17 @@ scants.numberofradioservices Radio scants.numberoftotalservices Celkem scants.numberoftvservices TV scants.provider Poskytovatel: +scants.select_tp Vyber transpondér scants.startnow Spusť prohledávání scants.test Otestování signálu scants.transponders Transpondéry: -scants.select_tp Vyber transpondér +scrambled_channel Kódovaný kanál screensetup.lowerright zelený = dolní, pravý okraj screensetup.upperleft červený = horní, levý okraj servicemenu.getplugins Načítání PLUGINů servicemenu.getplugins_hint Načítání PLUGINů,\nprosím čekej... servicemenu.head Služby +servicemenu.imageinfo Informace o IMAGE servicemenu.reload Načítání seznamu kanálů servicemenu.reload_hint Načítání seznamu kanálů,\nprosím čekej... servicemenu.restart Restart software @@ -912,7 +1071,10 @@ servicemenu.restart_hint Restartování, prosím čekej... servicemenu.restart_refused_recording Neumožněné restartování, probíhá nahrávání servicemenu.scants Hledání kanálů servicemenu.update Aktualizace software +settings.backup Záloha nastavení +settings.backup_failed Chybná záloha! settings.help Nápověda +settings.menu_pos Umístění nabídky settings.missingoptionsconffile Nastavení Neutrino byly aktualizované.\nNové možnosti budou mít přednastavené hodnoty. settings.noconffile Nenalezené nastavení Neutrino.\nPoužité budou přednastavené hodnoty. settings.pos_bottom_left levý spodek @@ -921,9 +1083,10 @@ settings.pos_default_center vrchní střed settings.pos_higher_center spodní střed settings.pos_top_left levý vrch settings.pos_top_right pravý vrch -settings.menu_pos Umístění nabídky -shutdowntimer.announce Vypnutí boxu za minutu.\nZrušit vypnutí? +settings.restore Obnovení nastavení +settings.restore_warn Budou nahrazené všechny nastavení a restartuji se\nPokračovat ? shutdown.recoding_query Skutečně přerušit nahrávání? +shutdowntimer.announce Vypnutí boxu za minutu.\nZrušit vypnutí? sleeptimerbox.announce Do vypnutí chybí minuta. sleeptimerbox.hint1 Čas do vypnutí v minutách (000=vypnuté) sleeptimerbox.hint2 Po uplynutí tohoto času se vypnu. @@ -944,6 +1107,8 @@ streaming.dir_not_writable Do nahrávacího adresáře není možné nahrávat. streaming.write_error Nahrávání bylo přerušené\nprotože vznikla chyba během zapisovacího procesu. stringinput.caps velké/malé znaky stringinput.clear všechno smaž +subtitles.head Titulky +subtitles.stop Vypnout titulky timer.eventrecord.msg ... Ukončené, nebo neukončené timer.eventrecord.title Plánovač nahrávání timer.eventtimed.msg Tento program je naplánovaný.\nBox bude zapnutý a \npřepnutý na tento kanál ve stanoveném čase. @@ -1038,222 +1203,57 @@ usermenu.item_epg_misc Funkce EPG usermenu.item_none Nic usermenu.item_vtxt Teletext usermenu.name Název +video_mode_ok Video mód pracuje správně? +videomenu.43mode Zobrazení formátu 4:3 +videomenu.analog_hd_rgb_cinch RGB na CINCH (HD) +videomenu.analog_hd_rgb_scart RGB na SCART (HD) +videomenu.analog_hd_yprpb_cinch YPbPr na CINCH (HD) +videomenu.analog_hd_yprpb_scart YPbPr na SCART (HD) +videomenu.analog_mode Analogový výstup +videomenu.analog_sd_rgb_cinch RGB na CINCH (SD) +videomenu.analog_sd_rgb_scart RGB na SCART (SD) +videomenu.analog_sd_yprpb_cinch YPbPr na CINCH (SD) +videomenu.analog_sd_yprpb_scart YPbPr na SCART (SD) +videomenu.auto Automaticky +videomenu.brightness Jas +videomenu.cinch CINCH +videomenu.contrast Kontrast videomenu.csync korekce synchronizace +videomenu.dbdr MPEG2 deblock/dering +videomenu.dbdr_both deblock+dering +videomenu.dbdr_deblock deblock +videomenu.dbdr_none nic +videomenu.enabled_modes Nastavení módů pro VF klávesu +videomenu.fullscreen Celý obraz +videomenu.hdmi_cec Uživatelské ovládání (HDMI-CEC) +videomenu.hdmi_cec_mode Mód HDMI-CEC +videomenu.hdmi_cec_mode_off vyp +videomenu.hdmi_cec_mode_recorder jako Rekordér +videomenu.hdmi_cec_mode_tuner jako Tuner +videomenu.hdmi_cec_standby Použití CEC v pohotovosti +videomenu.hdmi_cec_view_on Použití CEC při sledování +videomenu.hue Nasycení +videomenu.letterbox Letterbox +videomenu.panscan Pan&Scan +videomenu.panscan2 14:9 Pan&Scan +videomenu.saturation Barevnost +videomenu.scart SCART videomenu.screensetup Nastavení zobrazení OSD +videomenu.sharpness Ostrost videomenu.tv-scart TV SCART videomenu.vcrsignal Typ signálu VCR výstupu videomenu.vcrsignal_composite CVBS videomenu.vcrsignal_svideo S-Video videomenu.videoformat Formát obrazu +videomenu.videoformat_149 14:9 videomenu.videoformat_169 16:9 videomenu.videoformat_43 4:3 -videomenu.videoformat_149 14:9 -videomenu.43mode Zobrazení formátu 4:3 -videomenu.panscan Pan&Scan -videomenu.panscan2 14:9 Pan&Scan -videomenu.letterbox Letterbox -videomenu.fullscreen Celý obraz -videomenu.auto Automaticky -videomenu.analog_mode Analogový výstup -videomenu.analog_sd_rgb_scart RGB na SCART (SD) -videomenu.analog_sd_rgb_cinch RGB na CINCH (SD) -videomenu.analog_sd_yprpb_scart YPbPr na SCART (SD) -videomenu.analog_sd_yprpb_cinch YPbPr na CINCH (SD) -videomenu.analog_hd_rgb_scart RGB na SCART (HD) -videomenu.analog_hd_rgb_cinch RGB na CINCH (HD) -videomenu.analog_hd_yprpb_scart YPbPr na SCART (HD) -videomenu.analog_hd_yprpb_cinch YPbPr na CINCH (HD) -videomenu.scart SCART -videomenu.cinch CINCH -videomenu.hdmi_cec Uživatelské ovládání (HDMI-CEC) -videomenu.hdmi_cec_mode Mód HDMI-CEC -videomenu.hdmi_cec_mode_off vyp -videomenu.hdmi_cec_mode_tuner jako Tuner -videomenu.hdmi_cec_mode_recorder jako Rekordér -videomenu.hdmi_cec_standby Použití CEC v pohotovosti -videomenu.hdmi_cec_view_on Použití CEC při sledování -videomenu.dbdr MPEG2 deblock/dering -videomenu.dbdr_none nic -videomenu.dbdr_deblock deblock -videomenu.dbdr_both deblock+dering -videomenu.enabled_modes Nastavení módů pro VF klávesu -videomenu.contrast Kontrast -videomenu.brightness Jas -videomenu.sharpness Ostrost -videomenu.saturation Barevnost -videomenu.hue Nasycení +videomenu.videomode Obrazový mód +wizard.welcome_head Vítejte v Průvodci nastavení +wizard.welcome_text Další kroky provedou základní instalaci tohoto zařízení.\nChceš pokračovat?\nGratulujeme k zakoupení CST. Následující \nkroky tě provedou počáteční instalací nastavení přístroje.\nPřejeme ti hodně radosti s tímto přijímačem!\nDalší krok ? zapit.scantype Vyhledávání kanálů zapit.scantype.all všech zapit.scantype.radio jen Radio zapit.scantype.tv jen TV zapit.scantype.tvradio TV a Radio zaptotimer.announce Minuta do změny kanálu. -extra.dboxinfo Informace o systému -extra.start_tostandby Spuštění do stavu připravenosti -extra.rounded_corners Vzhled rohů -extra.rounded_corners_off hranatý -extra.rounded_corners_on zaoblený -extra.rotor_swap Vyměnit východ/západ motoru -extra.logo Číslo loga(Startovací logo?) -extra.scan_full Úplné prohledávání (XML+NIT) -extra.scan_fast Rychlé prohledávání (XML) -hdd_slow maximálně -hdd_middle středně -hdd_fast minimálně -hdd_ext3 Souborový systém Ext3 -hdd_reiser ReiserFS -hdd_1min 1 minuta -hdd_5min 5 minut -hdd_10min 10 minut -hdd_20min 20 minut -hdd_30min 30 minut -hdd_60min 60 minut -hdd_sleep Čas uspání -hdd_noise Hlučnost -hdd_activate Použij nastavení -hdd_fs Souborový systém -hdd_format Formátování HDD -hdd_format_warn Opravdu formátovat? Všechna data budou ztracena! -hdd_format_failed Chyba během formátování disku ! -hdd_umount_warn Chyba během odpojení disku ! -hdd_check Kontrola souborového systému -hdd_check_failed Chyba kontroly disku ! -hdd_settings Nastavení HDD -hdd_manage Správa HDD -hdd_not_found Nenalezený disk -extra.zap_cycle Vypnout historii kanálů -extra.sms_channel Mód SMS pro kanál -extra.tp_freq Kmitočet -extra.tp_rate SymbolRate -extra.tp_pol Polarizace -extra.tp.pol_v V -extra.tp_pol_h H -extra.tp_fec FEC -extra.fec_auto Auto DVB-S -extra.fec_auto_s2 Auto DVB-S2 -extra.fec_1_2 1/2 -extra.fec_2_3 2/3 -extra.fec_3_4 3/4 -extra.fec_5_6 5/6 -extra.fec_7_8 7/8 -extra.tp_mod Modulace -extra.tp_mod_16 QAM/16 -extra.tp_mod_32 QAM/32 -extra.tp_mod_64 QAM/64 -extra.tp_mod_128 QAM/128 -extra.tp_mod_256 QAM/256 -extra.zapit_menu Možnosti přepínání -extra.zapit_make_bouquet Udělejte ostatní seznam kanálů -extra.zapit_motor_speed Rychlost točení (10 = 1st/sek) -extra.zapit_fe_timeout Časový limit naladění (1 = 10 msek) -extra.zapit_scanpids Vyhledávání s PIDy -extra.zapit_hvoltage 18V při točení motoru -reset_channels Smazání všech kanálů -reset_settings Návrat k přednastavenému nastavení -reset_all Tovární nastavení -reset_confirm Skutečně? -settings.backup Záloha nastavení -settings.backup_failed Chybná záloha! -settings.restore Obnovení nastavení -settings.restore_warn Budou nahrazené všechny nastavení a restartuji se\nPokračovat ? -extra.add_to_bouquet Přidání do buketu -extra.key_list_start Na začátek -extra.key_list_end Na konec -extra.chadded Aktuální kanál byl přidaný do vybraného buketu....\n -extra.chalreadyinbq Aktuální kanál se už nachází ve vybraném buketu....\n -extra.menu_left_exit "Levý" = návrat menu -extra.zapit_write_names Zapsání názvů kanálů -extra.update_dir Adresář aktualizace -extra.audio_run_player Zmáčknutí AUDIO spustí přehrávač -mpkey.rewind Dozadu -mpkey.forward Dopředu -mpkey.pause Přeruš -mpkey.stop Zastav -mpkey.play Přehraj -mpkey.audio Zvuková stpopa -mpkey.time Zobrazení času -mpkey.bookmark Ulož záložku -mpkey.plugin Spusť PLUGIN -extra.loadkeys Nahraj nastavení kláves -extra.savekeys Ulož nastavení kláves -extra.loadconfig Nahraj nastavení z ... -extra.saveconfig Ulož nastavení jako ... -videomenu.videomode Obrazový mód -extra.key_timeshift Časový posuv -extra.key_plugin Tlačítko zobrazující PLUGIN -extra.timeshift_pause Pozastavení časového posuvu -extra.key_unlock Odblokuj -servicemenu.imageinfo Informace o IMAGE -imageinfo.creator Vytvořil: -imageinfo.date Datum: -imageinfo.dokumentation Dokumentace: -imageinfo.forum Fórum: -imageinfo.head Informace o IMAGE -imageinfo.homepage Domů: -imageinfo.image Image: -imageinfo.license Licence: -imageinfo.version Verze: -inetradio.name Internetové rádio -extra.cache_txt Zachytávání teletextu -extra.scrambled_message Zpráva kódování -extra.volume_pos Ukazovatel hlasitosti -extra.use_gotoxx Použij gotoXX -extra.latitude Zem.šířka -extra.longitude Zem.délka -extra.ladirection Umístění zem.šířky -extra.lodirection Umístění zem.délky -extra.south Jižně -extra.north Severně -extra.east Východně -extra.west Západně -options.on.without_messages Bez zpráv -extra.zapit_sdt_changed Změněné kanály, načítání nastavení. -extra.auto_timeshift Auto-nahrávání, sec (0=vypnuté) -extra.temp_timeshift Dočasný časový posuv -extra.auto_delete Auto-mazání -extra.record_time Rychlý čas nahrávání (hodiny) -extra.fec_s2_qpsk_1_2 1/2 s2 qpsk -extra.fec_s2_qpsk_2_3 2/3 s2 qpsk -extra.fec_s2_qpsk_3_4 3/4 s2 qpsk -extra.fec_s2_qpsk_5_6 5/6 s2 qpsk -extra.fec_s2_qpsk_7_8 7/8 s2 qpsk -extra.fec_s2_qpsk_8_9 8/9 s2 qpsk -extra.fec_s2_qpsk_3_5 3/5 s2 qpsk -extra.fec_s2_qpsk_4_5 4/5 s2 qpsk -extra.fec_s2_qpsk_9_10 9/10 s2 qpsk -extra.fec_s2_8psk_1_2 1/2 s2 8psk -extra.fec_s2_8psk_2_3 2/3 s2 8psk -extra.fec_s2_8psk_3_4 3/4 s2 8psk -extra.fec_s2_8psk_5_6 5/6 s2 8psk -extra.fec_s2_8psk_7_8 7/8 s2 8psk -extra.fec_s2_8psk_8_9 8/9 s2 8psk -extra.fec_s2_8psk_3_5 3/5 s2 8psk -extra.fec_s2_8psk_4_5 4/5 s2 8psk -extra.fec_s2_8psk_9_10 9/10 s2 8psk -video_mode_ok Video mód pracuje správně? -scrambled_channel Kódovaný kanál -neutrino_starting Spuštění Neutrina... -cam.settings Podmíněný přístup -cam.empty Žádný modul v šachtě -cam.inserted Vložený modul do šachty -cam.removed Odstraněný modul z šachty -cam.init_ok Inicializace modulu ukončená -cam.waiting Čekám na odpověď -cam.timeout Čas čekání uplynul,\nvracím se do menu -cam.reset Resetovat -cam.reset_standby Resetovat po spuštění -subtitles.head Titulky -subtitles.stop Vypnout titulky -fan_speed Rychlost CPU ventilátoru -audio.srs_iq SRS TruVolume -audio.srs_algo Mód -audio.srs_algo_light Jemný -audio.srs_algo_normal Normální -audio.srs_volume Výchozí hlasitost -audio.srs_nmgr Potlačovač šumu -cpu.freq Cpu kmitočet -cpu.freq_normal Normal kmitočet -cpu.freq_standby Standby kmitočet -cpu.freq_default default kmitočet -wizard.welcome_head Vítejte v Průvodci nastavení -wizard.welcome_text Další kroky provedou základní instalaci tohoto zařízení.\nChceš pokračovat?\nGratulujeme k zakoupení CST. Následující \nkroky tě provedou počáteční instalací nastavení přístroje.\nPřejeme ti hodně radosti s tímto přijímačem!\nDalší krok ? diff --git a/data/locale/unmaintained/dutch.locale b/data/locale/unmaintained/dutch.locale index 4ffae857f..d0690fe41 100644 --- a/data/locale/unmaintained/dutch.locale +++ b/data/locale/unmaintained/dutch.locale @@ -97,6 +97,7 @@ GENRE.TRAVEL_HOBBIES.5 Koken GENRE.TRAVEL_HOBBIES.6 Adverteren / Winkelen GENRE.TRAVEL_HOBBIES.7 Tuinieren GENRE.UNKNOWN Onbekend +U kunt uw ontvanger ook eenvoudig bedienen via de web-interface. Raadpleeg de handleiding\n apids.hint_1 Geef APIDs om te streamen apids.hint_2 in HEX in gescheiden door ' ' apidselector.head Selecteer taal @@ -272,13 +273,13 @@ colormenusetup.menucontent_inactive Inactieve content colormenusetup.menucontent_selected Geselecteerde content colormenusetup.menuhead Menu kop colorstatusbar.text Infobalk +colorthememenu.classic_theme Klassiek Thema +colorthememenu.dblue_theme Donkerblauw Thema +colorthememenu.dvb2k_theme DVB2000 Thema colorthememenu.head Selecteer thema colorthememenu.head2 Thema's laden colorthememenu.name Naam thema colorthememenu.neutrino_theme Neutrino Thema -colorthememenu.classic_theme Klassiek Thema -colorthememenu.dblue_theme Donkerblauw Thema -colorthememenu.dvb2k_theme DVB2000 Thema colorthememenu.question Geselecteerde thema gebruiken? colorthememenu.save Huidige thema opslaan colorthememenu.select1 Gebruikers Thema @@ -287,25 +288,25 @@ cpu.freq CPU Frequentie cpu.freq_default Standaard frequentie cpu.freq_normal Normale frequentie cpu.freq_standby Stand-by frequentie -date.Jan Jan -date.Feb Feb -date.Mar Mrt date.Apr Apr -date.May Mei -date.Jun Jun -date.Jul Jul date.Aug Aug -date.Sep Sep -date.Oct Okt -date.Nov Nov date.Dec Dec +date.Feb Feb +date.Fri Vr +date.Jan Jan +date.Jul Jul +date.Jun Jun +date.Mar Mrt +date.May Mei date.Mon Ma +date.Nov Nov +date.Oct Okt +date.Sat Za +date.Sep Sep +date.Sun Zo +date.Thu Do date.Tue Di date.Wed Wo -date.Thu Do -date.Fri Vr -date.Sat Za -date.Sun Zo epg.saving Opslaan EPG epgextended.actors Acteurs epgextended.director Regisseur @@ -313,8 +314,8 @@ epgextended.guests Gasten epgextended.original_title Originele Titel epgextended.presenter Presentator epgextended.year_of_production Productie jaar -epglist.noevents EPG is niet beschikbaar... epglist.head programma-gids- %s +epglist.noevents EPG is niet beschikbaar... epgviewer.More_Screenings More Volgend scherm epgviewer.More_Screenings_short Volgend scherm epgviewer.nodetailed Geen gedetailleerde informatie aanwezig @@ -339,18 +340,18 @@ extra.chadded het huidige kanaal is toegevoegd aan de geselecteerde favorietenli extra.chalreadyinbq het huidige kanaal bevindt zich al in de geselecteerde favorietenlijst...\n extra.dboxinfo Box Info extra.dvbsnoop DVB Stream Info -extra.dvbsnoop_pat Toon PAT -extra.dvbsnoop_cat Toon CAT -extra.dvbsnoop_tsdt Toon TSDT -extra.dvbsnoop_nit Toon NIT -extra.dvbsnoop_sdt Toon SDT -extra.dvbsnoop_eit Toon EIT -extra.dvbsnoop_rst Toon RST -extra.dvbsnoop_tdt Toon TDT -extra.dvbsnoop_sit Toon SIT -extra.dvbsnoop_pid Toon manual PID -extra.dvbsnoop_scan Scan PIDs extra.dvbsnoop_band Toon pid bandbreedte +extra.dvbsnoop_cat Toon CAT +extra.dvbsnoop_eit Toon EIT +extra.dvbsnoop_nit Toon NIT +extra.dvbsnoop_pat Toon PAT +extra.dvbsnoop_pid Toon manual PID +extra.dvbsnoop_rst Toon RST +extra.dvbsnoop_scan Scan PIDs +extra.dvbsnoop_sdt Toon SDT +extra.dvbsnoop_sit Toon SIT +extra.dvbsnoop_tdt Toon TDT +extra.dvbsnoop_tsdt Toon TSDT extra.east Oost extra.fec_1_2 1/2 extra.fec_2_3 2/3 @@ -389,8 +390,8 @@ extra.latitude Breedtegraad (latitude) extra.loadconfig Neutrino-HD Settings: Laden van extra.loadkeys Toetsen laden van extra.lodirection LO richting -extra.longitude Lengtegraad (Longitude) extra.logview Bekijk Log +extra.longitude Lengtegraad (Longitude) extra.menu_left_exit "Links" = Terug extra.north Noord extra.record_time Max. opname tijd in uren @@ -714,8 +715,8 @@ mainmenu.sleeptimer Slaaptimer mainmenu.tvmode TV-Mode mainmenu.tvradio_switch TV-Radio Schakelaar mainsettings.audio Audio -mainsettings.head Instellingen mainsettings.colors Kleur / thema / font +mainsettings.head Instellingen mainsettings.keybinding Sneltoetsen aanpassen mainsettings.language Taal / Tijdzone mainsettings.lcd Display instellingen @@ -1287,8 +1288,8 @@ moviebrowser.menu_main_saveandback Opslaan en terug moviebrowser.menu_nfs_head NFS instellingen moviebrowser.menu_parental_lock_activated geactiveerd moviebrowser.menu_parental_lock_activated_no nee -moviebrowser.menu_parental_lock_activated_yes ja moviebrowser.menu_parental_lock_activated_no_temp nee (tijdelijk) +moviebrowser.menu_parental_lock_activated_yes ja moviebrowser.menu_parental_lock_head Kinderslot moviebrowser.menu_parental_lock_rate_head Lock films van moviebrowser.menu_save Wijzigingen opslaan @@ -1860,12 +1861,11 @@ videomenu.videoformat_149 14:9 videomenu.videoformat_169 16:9 videomenu.videoformat_43 4:3 videomenu.videomode Digital video mode +wanneer u vragen heeft over het gebruik van uw ontvanger. Wilt u beginnen met de installatie? wizard.initial_settings Initiële instellingen gevonden wizard.install_settings Wilt u de kanalen van Astra 1 (19.2º oost) inscannen? wizard.welcome_head Welkom in de installatie wizard wizard.welcome_text In de volgende stappen zullen we u begeleiden bij de eerste installatie van uw ontvanger.\n -U kunt uw ontvanger ook eenvoudig bedienen via de web-interface. Raadpleeg de handleiding\n -wanneer u vragen heeft over het gebruik van uw ontvanger. Wilt u beginnen met de installatie? word.from Van zapit.scantype scan naar services zapit.scantype.all alle services @@ -1877,4 +1877,4 @@ zapitsetup.info Start kanaal zapitsetup.last_radio Radio kanaal zapitsetup.last_tv TV kanaal zapitsetup.last_use Van laatste kanaal -zaptotimer.announce Zap naar programma in een ogenblik \ No newline at end of file +zaptotimer.announce Zap naar programma in een ogenblik From c7d498f434e6d472ce6197b372a5354be5a2c692 Mon Sep 17 00:00:00 2001 From: Michael Liebmann Date: Tue, 16 Apr 2013 21:00:23 +0200 Subject: [PATCH 16/62] * deutsch.locale complements --- data/locale/deutsch.locale | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 4565bd309..ae1dc6fa5 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -229,6 +229,7 @@ channellist.new_zap_mode_active aktiv channellist.new_zap_mode_allow erlauben channellist.new_zap_mode_off aus channellist.nonefound Es wurden keine Kanäle gefunden!\nFühren Sie bitte eine Kanalsuche durch\n(MENU-Taste -> Service) +channellist.numeric_adjust Numeric zap adjust channellist.provs Anbieter channellist.recording_not_possible Aufnahme nicht möglich! channellist.reset_flags Entferne Kanal-Markierung "Neu" @@ -237,6 +238,7 @@ channellist.since seit channellist.start Start ci.clock CI Takt (Mhz) ci.empty Kein CAM im Slot +ci.ignore_msg CA Meldungen ignorieren ci.init_failed CAM-Init fehlgeschlagen ci.init_ok CAM-Init beendet ci.inserted CAM im Slot @@ -360,6 +362,9 @@ extra.fec_s2_qpsk_9_10 9/10 S2_QPSK extra.key_current_transponder Aktuelle Transponder Taste extra.key_list_end Listenende extra.key_list_start Listenanfang +extra.key_pip_close Stop/Start PiP +extra.key_pip_setup PiP Konfiguration +extra.key_pip_swap Umschalten PiP/live extra.key_plugin One-touch-Plugin extra.key_screenshot Screenshot Taste extra.key_timeshift Timeshift @@ -843,6 +848,9 @@ menu.hint_key_mptime Weisen Sie eine Taste für die Restzeitanzeige ihrer Aufnah menu.hint_key_mptimeshift Weisen Sie eine Taste für das Starten von Timeshift zu menu.hint_key_pagedown Weisen Sie eine Taste für das Herunterblättern zu menu.hint_key_pageup Weisen Sie eine Taste für das Hochblättern zu +menu.hint_key_pip_close Tastenzuordnung für Stop PiP oder Start mit aktuellem Kanal +menu.hint_key_pip_setup Tastenzuordnung für PiP Konfiguration +menu.hint_key_pip_swap Tastenzuordnung zum Umschalten PiP und aktuellem Kanal menu.hint_key_poweroff Wählen Sie eine Taste für den Standby und für das Verhalten für Standby und Deep-Standby menu.hint_key_quickzap Konfigurieren Sie die Tastenbelegung für die Schnellumschaltung menu.hint_key_repeatblock Die Verzögerung nach einem Tastendruck bis die Box reagieren soll @@ -917,6 +925,7 @@ menu.hint_net_test Testet die Netzwerkverbindung:\nPing auf Gateway, Name-Server menu.hint_net_ushare Freigabe verbundener Datenträger über UPnP menu.hint_network IP-Adresse, Gateway, DNS, Zeit-Sync, Netzwerk-Freigaben, Dienste und mehr menu.hint_new_zap_mode Aktiviert Quickzap in der Kanalliste. Nach Betätigen der Mute-Taste wird mit den Hoch/Runter-Tasten direkt umgeschalten +menu.hint_numeric_adjust Adjust channel list mode on numeric zap menu.hint_osd Farben, Schriftarten, Anzeigegröße, Ansichtsoptionen der Menüs und mehr menu.hint_osd_language Wählen Sie ihre Menü-Sprache menu.hint_osd_preset Wählen Sie zwischen Röhren-TV (CRT) oder Flachbildschirm (LCD) @@ -980,12 +989,14 @@ menu.hint_scan_cable Wählen Sie ihr Kabelnetz für den Suchlauf menu.hint_scan_cable_simple Kabel-Suchlauf mit optionaler Anbieter- und Kanal-Nummerierung menu.hint_scan_commited Wählen Sie ihre Einstellungen für diesen Satelliten menu.hint_scan_diseqc Wählen Sie das DiSEqC-Schalter-Eingangssignal für diesen Satelliten +menu.hint_scan_diseqcorder Diseqc command order for cascaded switches menu.hint_scan_diseqcrepeat DiSEqC-Wiederholungen für kaskadierte Schaltungen menu.hint_scan_diseqctype Wählen Sie ihr DiSEqC-Protokoll\nMit 'Erweitert' können Sie ihre Anlage einbinden menu.hint_scan_fast Schnell-Suchlauf eines ausgewählten Anbieters\nWARNUNG: DiSEqC-Einstellung wird überschrieben menu.hint_scan_fastprov Wählen Sie einen Anbieter (Provider) für den Suchlauf menu.hint_scan_fasttype Wählen Sie das Sendeformat menu.hint_scan_fec Wählen Sie eine Transponder-FEC +menu.hint_scan_felink Select tuner to link tuner to menu.hint_scan_femode Wählen Sie den Verbindungstyp für den zweiten Tuner menu.hint_scan_fesetup Konfigurieren des oder der Tuner menu.hint_scan_fetimeout Maximale Wartezeit auf das Signal in 1/10 Sekunden @@ -1082,11 +1093,15 @@ menu.hint_vfd_statusline Wählen Sie, was in der Statuszeile angezeigt werden so menu.hint_video Video-Ausgang, Auflösung, Format, Seitenverhältnisse und mehr menu.hint_video_43mode Anzeige-Modus für 4:3-Inhalte auf 16:9-Fernsehern menu.hint_video_analog_mode Wählen Sie den Modus des Ausgangssignals für den CINCH-Anschluss +menu.hint_video_brightness Change picture brightness menu.hint_video_cinch_mode Wählen Sie den Modus des Ausgangssignals für den Composite-Video-Anschluss +menu.hint_video_contrast Change picture contrast menu.hint_video_dbdr Verwendeter MPEG2 Filter menu.hint_video_format Wählen Sie das Bildschirmformat ihres Fernsehgerätes menu.hint_video_mode Wählen Sie den Modus des Ausgangssignals für den HDMI-Anschluss menu.hint_video_modes Definiert, welche Videosysteme mit der VF-Taste der Fernbedienung ausgewählt werden können +menu.hint_video_pip Bild in Bild Größe und Position +menu.hint_video_saturation Change picture saturation menu.hint_video_scart_mode Wählen Sie den Modus des Ausgangssignals für den SCART-Anschluss menu.hint_volume_digits Zifferndarstellung der Lautstärkeanzeige ein- oder ausschalten menu.hint_volume_pos Wählen Sie die Position der Lautstärkeanzeige aus @@ -1232,7 +1247,10 @@ 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.foot_filter Filter: +moviebrowser.foot_focus Fenster umschalten +moviebrowser.foot_options Optionen moviebrowser.foot_play Film starten +moviebrowser.foot_refresh Liste neu laden moviebrowser.foot_sort Sortieren: moviebrowser.head TS Filmarchiv (eigene Aufnahmen) moviebrowser.head_filter Filme nach Kategorie filtern: @@ -1568,6 +1586,7 @@ satsetup.diseqc12 DiSEqC 1.2 satsetup.diseqc_advanced Erweiterte Auswahl satsetup.diseqc_com_uncom Committed/Uncommitted satsetup.diseqc_input DiSEqC Einspeisung +satsetup.diseqc_order DiSEqC command order satsetup.diseqc_uncom_com Uncommitted/Committed satsetup.diseqcrepeat DiSEqC-Wiederholungen satsetup.extended DiSEqC-Einstellungen @@ -1582,10 +1601,11 @@ satsetup.fastscan_prov_tvv TV Vlaanderen satsetup.fastscan_sd nur SD satsetup.fastscan_type Scantyp satsetup.fe_mode Tuner Modus -satsetup.fe_mode_alone independent -satsetup.fe_mode_loop loop -satsetup.fe_mode_single single -satsetup.fe_mode_twin twin +satsetup.fe_mode_independent Independent +satsetup.fe_mode_link_loop Loop +satsetup.fe_mode_link_twin TWIN +satsetup.fe_mode_master Master +satsetup.fe_mode_unused Nicht genutzt satsetup.fe_setup Setup Tuner satsetup.lofh LNB High Offset satsetup.lofl LNB Low Offset @@ -1816,6 +1836,8 @@ usermenu.msg_warning_no_items Sie haben keine Menüpunkte für dieses Menü ange usermenu.name Name video_mode_ok Video-Einstellungen OK? videomenu.43mode 4:3 Anzeigeverhalten +videomenu.analog_auto AUTO +videomenu.analog_cvbs CVBS videomenu.analog_hd_rgb RGB (HD) videomenu.analog_hd_rgb_cinch RGB -> Cinch (HD) videomenu.analog_hd_rgb_scart RGB -> Scart (HD) @@ -1850,6 +1872,8 @@ videomenu.hue Farbton videomenu.letterbox Letterbox videomenu.panscan Pan & Scan videomenu.panscan2 14:9 Pan & Scan +videomenu.pip PiP Setup +videomenu.pip_error PiP Startfehler videomenu.saturation Sättigung videomenu.scart Scart videomenu.screensetup Bildbereich From f4f5e4cbe6a539b3f1312f1dfbde3e8a022f2e77 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Thu, 18 Apr 2013 20:32:40 +0200 Subject: [PATCH 17/62] src/neutrino.cpp: execute rcK on restart --- src/neutrino.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 26c5af5df..0958ec7c3 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -3045,6 +3045,7 @@ void CNeutrinoApp::ExitRun(const bool /*write_si*/, int retcode) } } else { delete g_RCInput; + my_system("/etc/init.d/rcK"); //fan speed if (g_info.has_fan) { CFanControlNotifier::setSpeed(0); From 7e2fd24967193360db5fe926b9469bc76c279aaa Mon Sep 17 00:00:00 2001 From: Michael Liebmann Date: Fri, 19 Apr 2013 01:30:43 +0200 Subject: [PATCH 18/62] * Infoviewer: Fix key handling for PiP --- src/gui/infoviewer.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/gui/infoviewer.cpp b/src/gui/infoviewer.cpp index b2cbc2b49..c80fa5123 100644 --- a/src/gui/infoviewer.cpp +++ b/src/gui/infoviewer.cpp @@ -833,6 +833,14 @@ void CInfoViewer::loop(bool show_dot) while (!(res & (messages_return::cancel_info | messages_return::cancel_all))) { g_RCInput->getMsgAbsoluteTimeout (&msg, &data, &timeoutEnd); +#ifdef ENABLE_PIP + if ((msg == (neutrino_msg_t) g_settings.key_pip_close) || + (msg == (neutrino_msg_t) g_settings.key_pip_setup) || + (msg == (neutrino_msg_t) g_settings.key_pip_swap)) { + g_RCInput->postMsg(msg, data); + res = messages_return::cancel_info; + } else +#endif if (msg == (neutrino_msg_t) g_settings.key_screenshot) { res = CNeutrinoApp::getInstance()->handleMsg(msg, data); From d545bc83116bf51cb79b9adde4350d91a838df54 Mon Sep 17 00:00:00 2001 From: svenhoefer Date: Mon, 22 Apr 2013 17:32:10 +0200 Subject: [PATCH 19/62] - yweb: fix area for FAV-key on zee --- src/nhttpd/web/Y_Blocks.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nhttpd/web/Y_Blocks.txt b/src/nhttpd/web/Y_Blocks.txt index f1a4b22c5..15efccad1 100644 --- a/src/nhttpd/web/Y_Blocks.txt +++ b/src/nhttpd/web/Y_Blocks.txt @@ -572,7 +572,7 @@ start-block~remote_zee - + From 9672968ecf0135ceb6e9662ce20b202e618fae6b Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Wed, 24 Apr 2013 12:03:58 +0200 Subject: [PATCH 20/62] src/driver/pictureviewer/pictureviewer.cpp: move free handlers to ~CPictureViewer(), fix segfault aufter commit 833fb32197c61081ad3b2969ec25bba02ade85a0 --- src/driver/pictureviewer/pictureviewer.cpp | 17 +++++++++++------ src/driver/pictureviewer/pictureviewer.h | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/driver/pictureviewer/pictureviewer.cpp b/src/driver/pictureviewer/pictureviewer.cpp index cf1ca2b65..8c01f3ec4 100644 --- a/src/driver/pictureviewer/pictureviewer.cpp +++ b/src/driver/pictureviewer/pictureviewer.cpp @@ -368,6 +368,17 @@ CPictureViewer::CPictureViewer () init_handlers (); } +CPictureViewer::~CPictureViewer () +{ + Cleanup(); + CFormathandler *fh = fh_root; + while (fh) { + CFormathandler *tmp = fh->next; + free(fh); + fh = tmp; + } +} + void CPictureViewer::showBusy (int sx, int sy, int width, char r, char g, char b) { // dbout("Show Busy{\n"); @@ -446,12 +457,6 @@ void CPictureViewer::Cleanup () free (m_CurrentPic_Buffer); m_CurrentPic_Buffer = NULL; } - CFormathandler *fh = fh_root; - while (fh) { - CFormathandler *tmp = fh->next; - free(fh); - fh = tmp; - } } void CPictureViewer::getSize(const char* name, int* width, int *height) diff --git a/src/driver/pictureviewer/pictureviewer.h b/src/driver/pictureviewer/pictureviewer.h index 011fa8bee..bb47b34bd 100644 --- a/src/driver/pictureviewer/pictureviewer.h +++ b/src/driver/pictureviewer/pictureviewer.h @@ -50,7 +50,7 @@ class CPictureViewer COLOR=2 }; CPictureViewer(); - ~CPictureViewer(){Cleanup();}; + ~CPictureViewer(); bool ShowImage(const std::string & filename, bool unscaled=false); bool DecodeImage(const std::string & name, bool showBusySign=false, bool unscaled=false); bool DisplayNextImage(); From ee1ca8b71fa8999464294efb30eec990c90da0ea Mon Sep 17 00:00:00 2001 From: svenhoefer Date: Wed, 24 Apr 2013 15:34:22 +0200 Subject: [PATCH 21/62] - moviebrowser: fix* buttonbar *) not really a fix - just a better terrible solution --- src/gui/moviebrowser.cpp | 79 ++++++++++++++++++++++------------------ 1 file changed, 44 insertions(+), 35 deletions(-) diff --git a/src/gui/moviebrowser.cpp b/src/gui/moviebrowser.cpp index 59c218958..0724afbe3 100644 --- a/src/gui/moviebrowser.cpp +++ b/src/gui/moviebrowser.cpp @@ -1592,7 +1592,7 @@ void CMovieBrowser::refreshFoot(void) { //TRACE("[mb]->refreshButtonLine \r\n"); int color = (CFBWindow::color_t) COL_INFOBAR_SHADOW; - int iw = 0, ih; + int iw = 0, ih = 0; std::string filter_text = g_Locale->getText(LOCALE_MOVIEBROWSER_FOOT_FILTER); filter_text += m_settings.filter.optionString; @@ -1605,34 +1605,6 @@ void CMovieBrowser::refreshFoot(void) m_cBoxFrameFootRel.iWidth, m_cBoxFrameFootRel.iHeight+ 6, (CFBWindow::color_t)COL_INFOBAR_SHADOW_PLUS_0, RADIUS_LARGE, CORNER_BOTTOM); -// int width = m_cBoxFrameFootRel.iWidth>>2; - - int xpos1 = m_cBoxFrameFootRel.iX+10; - int width = (m_cBoxFrame.iWidth-40-g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getRenderWidth(g_Locale->getText(LOCALE_FILEBROWSER_DELETE)))/7; - // draw Button blue (filter) - //xpos += ButtonWidth + ButtonSpacing; - // draw yellow (sort) - if (m_settings.gui != MB_GUI_LAST_PLAY && m_settings.gui != MB_GUI_LAST_RECORD) - { - m_pcWindow->getIconSize(NEUTRINO_ICON_BUTTON_RED, &iw, &ih); - m_pcWindow->paintIcon(NEUTRINO_ICON_BUTTON_RED, m_cBoxFrame.iX+xpos1, m_cBoxFrame.iY+m_cBoxFrameFootRel.iY, m_cBoxFrameFootRel.iHeight+ 6); - m_pcFontFoot->RenderString(m_cBoxFrame.iX+xpos1 + 10 + iw, m_cBoxFrame.iY+m_cBoxFrameFootRel.iY + m_cBoxFrameFootRel.iHeight + 4 , width-30, sort_text.c_str(), (CFBWindow::color_t)color, 0, true); // UTF-8 - } - - if (m_settings.gui != MB_GUI_LAST_PLAY && m_settings.gui != MB_GUI_LAST_RECORD) - { - m_pcWindow->getIconSize(NEUTRINO_ICON_BUTTON_RED, &iw, &ih); - m_pcWindow->paintIcon(NEUTRINO_ICON_BUTTON_GREEN, m_cBoxFrame.iX+xpos1+width, m_cBoxFrame.iY+m_cBoxFrameFootRel.iY, m_cBoxFrameFootRel.iHeight+ 6); - m_pcFontFoot->RenderString(m_cBoxFrame.iX+ xpos1+width + 10 + iw, m_cBoxFrame.iY+m_cBoxFrameFootRel.iY + m_cBoxFrameFootRel.iHeight + 4 , width -30, filter_text.c_str(), (CFBWindow::color_t)color, 0, true); // UTF-8 - } - m_pcWindow->getIconSize(NEUTRINO_ICON_BUTTON_YELLOW, &iw, &ih); - m_pcWindow->paintIcon(NEUTRINO_ICON_BUTTON_YELLOW, m_cBoxFrame.iX+xpos1+width*2, m_cBoxFrame.iY+m_cBoxFrameFootRel.iY, m_cBoxFrameFootRel.iHeight+ 6); - m_pcFontFoot->RenderString(m_cBoxFrame.iX+ xpos1+width*2 + 10 + iw, m_cBoxFrame.iY+m_cBoxFrameFootRel.iY + m_cBoxFrameFootRel.iHeight + 4 , width -30, g_Locale->getText(LOCALE_MOVIEBROWSER_FOOT_FOCUS), (CFBWindow::color_t)color, 0, true); // UTF-8 - - m_pcWindow->getIconSize(NEUTRINO_ICON_BUTTON_BLUE, &iw, &ih); - m_pcWindow->paintIcon(NEUTRINO_ICON_BUTTON_BLUE, m_cBoxFrame.iX+xpos1+width*3, m_cBoxFrame.iY+m_cBoxFrameFootRel.iY, m_cBoxFrameFootRel.iHeight+ 6); - m_pcFontFoot->RenderString(m_cBoxFrame.iX+ xpos1+width*3 + 10 + iw, m_cBoxFrame.iY+m_cBoxFrameFootRel.iY + m_cBoxFrameFootRel.iHeight + 4 , width -30, g_Locale->getText(LOCALE_MOVIEBROWSER_FOOT_REFRESH), (CFBWindow::color_t)color, 0, true); // UTF-8 - //std::string ok_text; if(m_settings.gui == MB_GUI_FILTER && m_windowFocus == MB_FOCUS_FILTER) { ok_text = g_Locale->getText(LOCALE_BOOKMARKMANAGER_SELECT); @@ -1641,17 +1613,54 @@ void CMovieBrowser::refreshFoot(void) { ok_text = g_Locale->getText(LOCALE_MOVIEBROWSER_FOOT_PLAY); } + + const int xoff = 10; + const int ypos_icon = m_cBoxFrame.iY + m_cBoxFrameFootRel.iY; + const int ypos_font = m_cBoxFrame.iY + m_cBoxFrameFootRel.iY + m_cBoxFrameFootRel.iHeight + 4; + int xpos = m_cBoxFrame.iX + m_cBoxFrameFootRel.iX + xoff; + + int max_b = 5; + if (m_settings.gui != MB_GUI_LAST_PLAY && m_settings.gui != MB_GUI_LAST_RECORD) + max_b = 7; + + int width = (m_cBoxFrame.iWidth-2*xoff) / max_b; + + if (m_settings.gui != MB_GUI_LAST_PLAY && m_settings.gui != MB_GUI_LAST_RECORD) + { + m_pcWindow->getIconSize(NEUTRINO_ICON_BUTTON_RED, &iw, &ih); + m_pcWindow->paintIcon(NEUTRINO_ICON_BUTTON_RED, xpos, ypos_icon, m_cBoxFrameFootRel.iHeight+ 6); + m_pcFontFoot->RenderString(xpos + xoff + iw, ypos_font, width - iw - 2*xoff, sort_text.c_str(), (CFBWindow::color_t)color, 0, true); // UTF-8 + xpos += width; + + m_pcWindow->getIconSize(NEUTRINO_ICON_BUTTON_GREEN, &iw, &ih); + m_pcWindow->paintIcon(NEUTRINO_ICON_BUTTON_GREEN, xpos, ypos_icon, m_cBoxFrameFootRel.iHeight+ 6); + m_pcFontFoot->RenderString(xpos + xoff + iw, ypos_font, width - iw - 2*xoff, filter_text.c_str(), (CFBWindow::color_t)color, 0, true); // UTF-8 + xpos += width; + } + + m_pcWindow->getIconSize(NEUTRINO_ICON_BUTTON_YELLOW, &iw, &ih); + m_pcWindow->paintIcon(NEUTRINO_ICON_BUTTON_YELLOW, xpos, ypos_icon, m_cBoxFrameFootRel.iHeight+ 6); + m_pcFontFoot->RenderString(xpos + xoff + iw, ypos_font, width - iw - 2*xoff, g_Locale->getText(LOCALE_MOVIEBROWSER_FOOT_FOCUS), (CFBWindow::color_t)color, 0, true); // UTF-8 + xpos += width; + + m_pcWindow->getIconSize(NEUTRINO_ICON_BUTTON_BLUE, &iw, &ih); + m_pcWindow->paintIcon(NEUTRINO_ICON_BUTTON_BLUE, xpos, ypos_icon, m_cBoxFrameFootRel.iHeight+ 6); + m_pcFontFoot->RenderString(xpos + xoff + iw, ypos_font, width - iw - 2*xoff, g_Locale->getText(LOCALE_MOVIEBROWSER_FOOT_REFRESH), (CFBWindow::color_t)color, 0, true); // UTF-8 + xpos += width; + m_pcWindow->getIconSize(NEUTRINO_ICON_BUTTON_OKAY, &iw, &ih); - m_pcWindow->paintIcon(NEUTRINO_ICON_BUTTON_OKAY, m_cBoxFrame.iX+xpos1+width*4, m_cBoxFrame.iY+m_cBoxFrameFootRel.iY, m_cBoxFrameFootRel.iHeight+ 6); - m_pcFontFoot->RenderString(m_cBoxFrame.iX+xpos1+width*4 + 10 + iw, m_cBoxFrame.iY+m_cBoxFrameFootRel.iY + m_cBoxFrameFootRel.iHeight + 4 , width-30, ok_text.c_str(), (CFBWindow::color_t)color, 0, true); // UTF-8 + m_pcWindow->paintIcon(NEUTRINO_ICON_BUTTON_OKAY, xpos, ypos_icon, m_cBoxFrameFootRel.iHeight+ 6); + m_pcFontFoot->RenderString(xpos + xoff + iw, ypos_font, width - iw - 2*xoff, ok_text.c_str(), (CFBWindow::color_t)color, 0, true); // UTF-8 + xpos += width; m_pcWindow->getIconSize(NEUTRINO_ICON_BUTTON_MUTE_SMALL, &iw, &ih); - m_pcWindow->paintIcon(NEUTRINO_ICON_BUTTON_MUTE_SMALL, m_cBoxFrame.iX+xpos1+width*5, m_cBoxFrame.iY+m_cBoxFrameFootRel.iY, m_cBoxFrameFootRel.iHeight+ 6); - m_pcFontFoot->RenderString(m_cBoxFrame.iX+xpos1+width*5 + 10 + iw , m_cBoxFrame.iY+m_cBoxFrameFootRel.iY + m_cBoxFrameFootRel.iHeight + 4 , width-30, g_Locale->getText(LOCALE_FILEBROWSER_DELETE), (CFBWindow::color_t)color, 0, true); // UTF-8 + m_pcWindow->paintIcon(NEUTRINO_ICON_BUTTON_MUTE_SMALL, xpos, ypos_icon, m_cBoxFrameFootRel.iHeight+ 6); + m_pcFontFoot->RenderString(xpos + xoff + iw , ypos_font, width - iw - 2*xoff, g_Locale->getText(LOCALE_FILEBROWSER_DELETE), (CFBWindow::color_t)color, 0, true); // UTF-8 + xpos += width; m_pcWindow->getIconSize(NEUTRINO_ICON_BUTTON_MENU_SMALL, &iw, &ih); - m_pcWindow->paintIcon(NEUTRINO_ICON_BUTTON_MENU_SMALL, m_cBoxFrame.iX+xpos1+width*6, m_cBoxFrame.iY+m_cBoxFrameFootRel.iY, m_cBoxFrameFootRel.iHeight+ 6); - m_pcFontFoot->RenderString(m_cBoxFrame.iX+xpos1+width*6 + 10 + iw , m_cBoxFrame.iY+m_cBoxFrameFootRel.iY + m_cBoxFrameFootRel.iHeight + 4 , width-30, g_Locale->getText(LOCALE_MOVIEBROWSER_FOOT_OPTIONS), (CFBWindow::color_t)color, 0, true); // UTF-8 + m_pcWindow->paintIcon(NEUTRINO_ICON_BUTTON_MENU_SMALL, xpos, ypos_icon, m_cBoxFrameFootRel.iHeight+ 6); + m_pcFontFoot->RenderString(xpos + xoff + iw , ypos_font, width - iw - 2*xoff, g_Locale->getText(LOCALE_MOVIEBROWSER_FOOT_OPTIONS), (CFBWindow::color_t)color, 0, true); // UTF-8 } bool CMovieBrowser::onButtonPress(neutrino_msg_t msg) From a6d7577235a5412500b929efd14f4cb883b3bd42 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Fri, 10 May 2013 16:32:39 +0400 Subject: [PATCH 22/62] gui/audio_select.cpp: add stop icon to stop subtitles item --- src/gui/audio_select.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gui/audio_select.cpp b/src/gui/audio_select.cpp index cabf99de6..c2a5f4a3c 100644 --- a/src/gui/audio_select.cpp +++ b/src/gui/audio_select.cpp @@ -179,8 +179,11 @@ int CAudioSelectMenuHandler::doMenu () } } - if(sep_added) - AudioSelector.addItem(new CMenuForwarder(LOCALE_SUBTITLES_STOP, true, NULL, &SubtitleChanger, "off", CRCInput::RC_stop)); + if(sep_added) { + CMenuForwarder * item = new CMenuForwarder(LOCALE_SUBTITLES_STOP, true, NULL, &SubtitleChanger, "off", CRCInput::RC_stop); + item->setItemButton(NEUTRINO_ICON_BUTTON_STOP, false); + AudioSelector.addItem(item); + } } AudioSelector.addItem(new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_AUDIOMENU_VOLUME_ADJUST)); From 98829743b36bc291ef3a9ae2d249a2cf55c27ca9 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Fri, 10 May 2013 16:34:12 +0400 Subject: [PATCH 23/62] gui/movieplayer.cpp: add chapters support, at the moment on bookmarks (blue) key --- src/gui/movieplayer.cpp | 63 ++++++++++++++++++++++++++++++----------- src/gui/movieplayer.h | 5 ++-- 2 files changed, 50 insertions(+), 18 deletions(-) diff --git a/src/gui/movieplayer.cpp b/src/gui/movieplayer.cpp index 26aa9d97b..43309e11f 100644 --- a/src/gui/movieplayer.cpp +++ b/src/gui/movieplayer.cpp @@ -572,34 +572,35 @@ void CMoviePlayerGui::PlayFile(void) callInfoViewer(/*duration, position*/); } else if (msg == (neutrino_msg_t) g_settings.mpkey_bookmark) { - handleMovieBrowser((neutrino_msg_t) g_settings.mpkey_bookmark, position); + if (is_file_player) + selectChapter(); + else + handleMovieBrowser((neutrino_msg_t) g_settings.mpkey_bookmark, position); } else if (msg == (neutrino_msg_t) g_settings.mpkey_audio) { selectAudioPid(is_file_player); update_lcd = true; clearSubtitle(); } else if ( msg == (neutrino_msg_t) g_settings.mpkey_subtitle) { - selectSubtitle(is_file_player); + selectSubtitle(); clearSubtitle(); update_lcd = true; } else if (msg == (neutrino_msg_t) g_settings.mpkey_time) { FileTime.switchMode(position, duration); - } else if (!is_file_player && ((msg == (neutrino_msg_t) g_settings.mpkey_rewind) || + } else if (/*!is_file_player &&*/ ((msg == (neutrino_msg_t) g_settings.mpkey_rewind) || (msg == (neutrino_msg_t) g_settings.mpkey_forward))) { int newspeed; if (msg == (neutrino_msg_t) g_settings.mpkey_rewind) { newspeed = (speed >= 0) ? -1 : speed - 1; - if (playstate != CMoviePlayerGui::PAUSE) - playstate = CMoviePlayerGui::REW; } else { newspeed = (speed <= 0) ? 2 : speed + 1; - if (playstate != CMoviePlayerGui::PAUSE) - playstate = CMoviePlayerGui::FF; } /* if paused, playback->SetSpeed() start slow motion */ if (playback->SetSpeed(newspeed)) { printf("SetSpeed: update speed\n"); speed = newspeed; + if (playstate != CMoviePlayerGui::PAUSE) + playstate = msg == (neutrino_msg_t) g_settings.mpkey_rewind ? CMoviePlayerGui::REW : CMoviePlayerGui::FF; updateLcd(); } //update_lcd = true; @@ -785,13 +786,13 @@ bool CMoviePlayerGui::getAudioName(int apid, std::string &apidtitle) return false; } -void CMoviePlayerGui::addAudioFormat(int count, std::string &apidtitle, bool file_player, bool& enabled) +void CMoviePlayerGui::addAudioFormat(int count, std::string &apidtitle, bool& enabled) { enabled = true; switch(ac3flags[count]) { case 1: /*AC3,EAC3*/ - if (apidtitle.find("AC3") == std::string::npos || file_player) + if (apidtitle.find("AC3") == std::string::npos) apidtitle.append(" (AC3)"); break; case 2: /*teletext*/ @@ -808,7 +809,8 @@ void CMoviePlayerGui::addAudioFormat(int count, std::string &apidtitle, bool fil apidtitle.append(" (AAC)"); break; case 6: /*DTS*/ - apidtitle.append(" (DTS)"); + if (apidtitle.find("DTS") == std::string::npos) + apidtitle.append(" (DTS)"); #ifndef BOXMODEL_APOLLO enabled = false; #endif @@ -834,9 +836,9 @@ void CMoviePlayerGui::getCurrentAudioName( bool file_player, std::string &audion if(!file_player){ getAudioName(apids[count], audioname); return ; - }else if (!language[count].empty()){ + } else if (!language[count].empty()){ audioname = language[count]; - addAudioFormat(count, audioname, file_player, dumm); + addAudioFormat(count, audioname, dumm); if(!dumm && (count < numpida)){ currentapid = apids[count+1]; continue; @@ -846,7 +848,7 @@ void CMoviePlayerGui::getCurrentAudioName( bool file_player, std::string &audion char apidnumber[20]; sprintf(apidnumber, "Stream %d %X", count + 1, apids[count]); audioname = apidnumber; - addAudioFormat(count, audioname, file_player, dumm); + addAudioFormat(count, audioname, dumm); if(!dumm && (count < numpida)){ currentapid = apids[count+1]; continue; @@ -887,7 +889,7 @@ void CMoviePlayerGui::selectAudioPid(bool file_player) sprintf(apidnumber, "Stream %d %X", count + 1, apids[count]); apidtitle = apidnumber; } - addAudioFormat(count, apidtitle, file_player, enabled); + addAudioFormat(count, apidtitle, enabled); if(defpid && !enabled && (count < numpida)){ currentapid = apids[count+1]; defpid = false; @@ -1209,9 +1211,37 @@ void CMoviePlayerGui::showHelpTS() helpbox.show(LOCALE_MESSAGEBOX_INFO); } -void CMoviePlayerGui::selectSubtitle(bool file_player) +void CMoviePlayerGui::selectChapter() { - if (!file_player) + if (!is_file_player) + return; + + std::vector positions; std::vector titles; + playback->GetChapters(positions, titles); + if (positions.empty()) + return; + + CMenuWidget ChSelector(LOCALE_MOVIEBROWSER_MENU_MAIN_BOOKMARKS, NEUTRINO_ICON_AUDIO); + ChSelector.addIntroItems(); + + int select = -1; + CMenuSelectorTarget * selector = new CMenuSelectorTarget(&select); + char cnt[5]; + for (unsigned i = 0; i < positions.size(); i++) { + sprintf(cnt, "%d", i); + CMenuForwarderNonLocalized * item = new CMenuForwarderNonLocalized(titles[i].c_str(), true, NULL, selector, cnt, CRCInput::convertDigitToKey(i + 1)); + ChSelector.addItem(item, position > positions[i]); + } + ChSelector.exec(NULL, ""); + delete selector; + printf("CMoviePlayerGui::selectChapter: selected %d (%d)\n", select, (select >= 0) ? positions[select] : -1); + if(select >= 0) + playback->SetPosition(positions[select], true); +} + +void CMoviePlayerGui::selectSubtitle() +{ + if (!is_file_player) return; CMenuWidget APIDSelector(LOCALE_SUBTITLES_HEAD, NEUTRINO_ICON_AUDIO); @@ -1235,6 +1265,7 @@ void CMoviePlayerGui::selectSubtitle(bool file_player) } sprintf(cnt, "%d", count); CMenuForwarderNonLocalized * item = new CMenuForwarderNonLocalized(title.c_str(), enabled, NULL, selector, cnt, CRCInput::convertDigitToKey(count + 1)); + item->setItemButton(NEUTRINO_ICON_BUTTON_STOP, false); APIDSelector.addItem(item, defpid); } sprintf(cnt, "%d", count); diff --git a/src/gui/movieplayer.h b/src/gui/movieplayer.h index febe09fec..79cebe1db 100644 --- a/src/gui/movieplayer.h +++ b/src/gui/movieplayer.h @@ -127,15 +127,16 @@ class CMoviePlayerGui : public CMenuTarget bool getAudioName(int pid, std::string &apidtitle); void selectAudioPid(bool file_player); void getCurrentAudioName( bool file_player, std::string &audioname); - void addAudioFormat(int count, std::string &apidtitle, bool file_player, bool& enabled ); + void addAudioFormat(int count, std::string &apidtitle, bool& enabled ); void handleMovieBrowser(neutrino_msg_t msg, int position = 0); bool SelectFile(); void updateLcd(); - void selectSubtitle(bool file_player); + void selectSubtitle(); void showSubtitle(neutrino_msg_data_t data); void clearSubtitle(); + void selectChapter(); CMoviePlayerGui(const CMoviePlayerGui&) {}; CMoviePlayerGui(); From e0898de5cafb721bd977224666f8710c8bdaf6b9 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Fri, 10 May 2013 16:34:48 +0400 Subject: [PATCH 24/62] sync apollo libcs headers --- lib/libcoolstream2/ca_cs.h | 20 ++++++++++---------- lib/libcoolstream2/playback_cs.h | 2 ++ 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/lib/libcoolstream2/ca_cs.h b/lib/libcoolstream2/ca_cs.h index d7afc535f..ab14441aa 100644 --- a/lib/libcoolstream2/ca_cs.h +++ b/lib/libcoolstream2/ca_cs.h @@ -23,7 +23,7 @@ enum CA_INIT_MASK { enum CA_SLOT_TYPE { CA_SLOT_TYPE_SMARTCARD, CA_SLOT_TYPE_CI, - CA_SLOT_TYPE_ALL, + CA_SLOT_TYPE_ALL }; enum CA_MESSAGE_FLAGS { @@ -49,7 +49,7 @@ enum CA_MESSAGE_FLAGS { CA_MESSAGE_HAS_PARAM1_LONG = (1 << 19), CA_MESSAGE_HAS_PARAM2_LONG = (1 << 20), CA_MESSAGE_HAS_PARAM3_LONG = (1 << 21), - CA_MESSAGE_HAS_PARAM4_LONG = (1 << 22), + CA_MESSAGE_HAS_PARAM4_LONG = (1 << 22) }; enum CA_MESSAGE_MSGID { @@ -72,7 +72,7 @@ enum CA_MESSAGE_MSGID { CA_MESSAGE_MSG_EMM_ARRIVED, CA_MESSAGE_MSG_CHANNEL_CHANGE, CA_MESSAGE_MSG_GUI_READY, - CA_MESSAGE_MSG_EXIT, + CA_MESSAGE_MSG_EXIT }; typedef struct CA_MESSAGE { @@ -117,13 +117,13 @@ private: /// Thread method virtual void run(void); public: - /// Returns the number of CI slots - u32 GetNumberCISlots(void); - /// Returns the number of Smartcard slots - u32 GetNumberSmartCardSlots(void); + /// Returns the number of CA slots (CI+SC, CI, SC) + u32 GetNumberSlots(enum CA_SLOT_TYPE SlotType = CA_SLOT_TYPE_ALL); + u32 GetNumberCISlots(void) { return GetNumberSlots(CA_SLOT_TYPE_CI); } + u32 GetNumberSmartCardSlots(void) { return GetNumberSlots(CA_SLOT_TYPE_SMARTCARD); } /// Singleton static cCA *GetInstance(void); - /// Send PMT to a individual or to all available modules + /// Send PMT to a individual or to all available modules (DEPRECATED) bool SendPMT(int Unit, unsigned char *Data, int Len, enum CA_SLOT_TYPE SlotType = CA_SLOT_TYPE_ALL); /// Sends a message to the CA thread bool SendMessage(const CA_MESSAGE *Msg); @@ -154,9 +154,9 @@ public: /// Notify the module we closed the menu void MenuClose(enum CA_SLOT_TYPE, u32 Slot); /// Get the supported CAIDs - int GetCAIDS(CaIdVector & Caids); + int GetCAIDS(CaIdVector & Caids, enum CA_SLOT_TYPE SlotType = CA_SLOT_TYPE_ALL); /// Send a CA-PMT object and Raw unparsed PMT to the CA layer - bool SendCAPMT(u64 Source, u8 DemuxSource, u8 DemuxMask, const unsigned char *CAPMT, u32 CAPMTLen, const unsigned char *RawPMT, u32 RawPMTLen); + bool SendCAPMT(u64 ChannelId, u8 DemuxSource, u8 DemuxMask, const unsigned char *CAPMT, u32 CAPMTLen, const unsigned char *RawPMT, u32 RawPMTLen, enum CA_SLOT_TYPE SlotType = CA_SLOT_TYPE_ALL); /// Virtual destructor virtual ~cCA(); }; diff --git a/lib/libcoolstream2/playback_cs.h b/lib/libcoolstream2/playback_cs.h index f7e68fcf2..f65bdc6f0 100644 --- a/lib/libcoolstream2/playback_cs.h +++ b/lib/libcoolstream2/playback_cs.h @@ -12,6 +12,7 @@ #include #include +#include typedef enum { PLAYMODE_TS = 0, @@ -64,6 +65,7 @@ public: void FindAllPids(uint16_t *apids, unsigned short *ac3flags, uint16_t *numpida, std::string *language); void FindAllSubs(uint16_t *pids, unsigned short *supported, uint16_t *numpida, std::string *language); bool SelectSubtitles(int pid); + void GetChapters(std::vector &positions, std::vector &titles); }; #endif // __PLAYBACK_CS_H_ From 16b8f6d9a0f922bda9f6b1bc1afba0386f55d28f Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Wed, 24 Apr 2013 13:22:59 +0200 Subject: [PATCH 25/62] src/system/helpers.cpp:-add file_size function Signed-off-by: Jacek Jendrzej --- src/system/helpers.cpp | 12 ++++++++++++ src/system/helpers.h | 1 + 2 files changed, 13 insertions(+) diff --git a/src/system/helpers.cpp b/src/system/helpers.cpp index d3957201a..df41e86db 100644 --- a/src/system/helpers.cpp +++ b/src/system/helpers.cpp @@ -42,6 +42,18 @@ #include #include +off_t file_size(const char *filename) +{ + struct stat stat_buf; + if(::stat(filename, &stat_buf) == 0) + { + return stat_buf.st_size; + } else + { + return 0; + } +} + bool file_exists(const char *filename) { struct stat stat_buf; diff --git a/src/system/helpers.h b/src/system/helpers.h index c87adb71f..a811edab8 100644 --- a/src/system/helpers.h +++ b/src/system/helpers.h @@ -27,6 +27,7 @@ int my_system(int argc, const char *arg, ...); /* argc is number of arguments in FILE* my_popen( pid_t& pid, const char *cmdstring, const char *type); int safe_mkdir(char * path); +off_t file_size(const char *filename); bool file_exists(const char *filename); void wakeup_hdd(const char *hdd_dir); int check_dir(const char * dir); From fff07ea64eb24a31ccefb779d757a3d301474ecb Mon Sep 17 00:00:00 2001 From: svenhoefer Date: Tue, 30 Apr 2013 12:59:13 +0200 Subject: [PATCH 26/62] - eventlist: move info button from header to buttonbar * remove unused button_label structs Conflicts: src/gui/eventlist.cpp --- src/gui/eventlist.cpp | 48 ++++++++++--------------------------------- 1 file changed, 11 insertions(+), 37 deletions(-) diff --git a/src/gui/eventlist.cpp b/src/gui/eventlist.cpp index 1d9d461e2..397f68e6d 100644 --- a/src/gui/eventlist.cpp +++ b/src/gui/eventlist.cpp @@ -790,15 +790,13 @@ void CNeutrinoEventList::paintItem(unsigned int pos, t_channel_id channel_idI) void CNeutrinoEventList::paintHead(std::string _channelname, std::string _channelname_prev, std::string _channelname_next) { const short font_h = 8; - int iw = 0, ih = 0; - frameBuffer->getIconSize(NEUTRINO_ICON_BUTTON_INFO, &iw, &ih); frameBuffer->paintBoxRel(x,y, width,theight+0, COL_MENUHEAD_PLUS_0, RADIUS_LARGE, CORNER_TOP); - int name_width =((width-8-iw)/3); + int name_width = width/3 ; short prev_len = g_Font[font_h]->getRenderWidth(_channelname_prev.c_str(),true); short next_len = g_Font[font_h]->getRenderWidth(_channelname_next.c_str(),true); short middle_len = g_Font[SNeutrinoSettings::FONT_TYPE_EVENTLIST_TITLE]->getRenderWidth(_channelname.c_str(),true); - short middle_offset = (width- next_len- prev_len- middle_len-iw-8)/2; + short middle_offset = (width- next_len- prev_len- middle_len)/2; if(middle_offset < 0){ int fw_h = g_Font[font_h]->getWidth(); int newsize = abs(middle_offset / fw_h) + 1; @@ -838,13 +836,6 @@ void CNeutrinoEventList::paint(t_channel_id channel_id) { liststart = (selected/listmaxshow)*listmaxshow; - int iw = 0, ih = 0; - if (evtlist[0].eventID != 0) { - frameBuffer->getIconSize(NEUTRINO_ICON_BUTTON_INFO, &iw, &ih); - frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_INFO, x+ width - 4 - iw, y, theight); - } - - for(unsigned int count=0;count Date: Tue, 30 Apr 2013 13:50:13 +0200 Subject: [PATCH 27/62] - eventlist: re-align prev/next channelnames in header Conflicts: src/gui/eventlist.cpp --- src/gui/eventlist.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/gui/eventlist.cpp b/src/gui/eventlist.cpp index 397f68e6d..185938308 100644 --- a/src/gui/eventlist.cpp +++ b/src/gui/eventlist.cpp @@ -789,10 +789,10 @@ void CNeutrinoEventList::paintItem(unsigned int pos, t_channel_id channel_idI) } void CNeutrinoEventList::paintHead(std::string _channelname, std::string _channelname_prev, std::string _channelname_next) { - const short font_h = 8; frameBuffer->paintBoxRel(x,y, width,theight+0, COL_MENUHEAD_PLUS_0, RADIUS_LARGE, CORNER_TOP); - int name_width = width/3 ; + const short font_h = 8 /* FONT_TYPE_EVENTLIST_ITEMLARGE */; + short pn_y_off = std::max((theight - g_Font[font_h]->getHeight()) / 2, 0); short prev_len = g_Font[font_h]->getRenderWidth(_channelname_prev.c_str(),true); short next_len = g_Font[font_h]->getRenderWidth(_channelname_next.c_str(),true); short middle_len = g_Font[SNeutrinoSettings::FONT_TYPE_EVENTLIST_TITLE]->getRenderWidth(_channelname.c_str(),true); @@ -808,10 +808,9 @@ void CNeutrinoEventList::paintHead(std::string _channelname, std::string _channe middle_offset = 0; } - g_Font[font_h]->RenderString(x+4,y+theight+1, width, _channelname_prev.c_str(), COL_INFOBAR, 0, true); // UTF-8 - g_Font[SNeutrinoSettings::FONT_TYPE_EVENTLIST_TITLE]->RenderString(x+prev_len+middle_offset,y+theight+1, width, _channelname.c_str(), COL_MENUHEAD, 0, true); // UTF-8 - g_Font[font_h]->RenderString(x+(name_width*3)- next_len,y+theight+1, width, _channelname_next.c_str(), COL_INFOBAR, 0, true); // UTF-8 - + g_Font[font_h]->RenderString(x+10,y+theight-pn_y_off+1, prev_len, _channelname_prev.c_str(), COL_INFOBAR, 0, true); // UTF-8 + g_Font[SNeutrinoSettings::FONT_TYPE_EVENTLIST_TITLE]->RenderString(x+prev_len+middle_offset,y+theight+1, middle_len, _channelname.c_str(), COL_MENUHEAD, 0, true); // UTF-8 + g_Font[font_h]->RenderString(x+width-next_len-10,y+theight-pn_y_off+1, next_len, _channelname_next.c_str(), COL_INFOBAR, 0, true); // UTF-8 } void CNeutrinoEventList::paintHead(t_channel_id _channel_id, std::string _channelname) From 51ea0e86245d4f553b0d4a0745878094129e886f Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Wed, 1 May 2013 11:46:28 +0200 Subject: [PATCH 28/62] update slovak locale by EnoSat --- data/locale/unmaintained/slovak.locale | 898 +++++++++++++++++++++---- 1 file changed, 775 insertions(+), 123 deletions(-) diff --git a/data/locale/unmaintained/slovak.locale b/data/locale/unmaintained/slovak.locale index 7698a9281..f017fcf0c 100644 --- a/data/locale/unmaintained/slovak.locale +++ b/data/locale/unmaintained/slovak.locale @@ -104,7 +104,7 @@ audio.srs_iq SRS TruVolume audio.srs_nmgr Potlačovač šumu audio.srs_volume Východzia hlasitosť audiomenu.PCMOffset Zníženie hlasitosti PCM -audiomenu.analog_mode Analógový mód +audiomenu.analog_mode Analógový režim audiomenu.analog_out Analógový výstup audiomenu.auto_lang Automatický výber zvuku audiomenu.auto_subs Automatický výber titulkov @@ -114,6 +114,8 @@ audiomenu.avsync_am Hlavný zvuk audiomenu.clockrec Vzorkovanie audiomenu.dolbydigital Zvuk Dolby Digital audiomenu.hdmi_dd Zvuk DD na HDMI +audiomenu.hdmi_dd_auto auto +audiomenu.hdmi_dd_force nútene audiomenu.monoleft mono ľavý kanál audiomenu.monoright mono pravý kanál audiomenu.pref_lang Preferovaný jazyk @@ -123,14 +125,16 @@ audiomenu.pref_subs Preferované titulky audiomenu.pref_subs_head Nastavenie jazyku vybraných titulkov audiomenu.spdif_dd Zvuk DD na SPDIF audiomenu.stereo stereo +audiomenu.volume_adjust Nastavená hlasitosť, v % +audiomenu.volume_step Krok hlasitosti audioplayer.add pridaj audioplayer.add_ic Icecast -audioplayer.add_loc Zoznam lokálnych radií +audioplayer.add_loc Webrádio audioplayer.add_sc Shoutcast audioplayer.artist_title Umelec, Názov -audioplayer.building_search_index tvorba vyhľadávacieho indexu -audioplayer.button_select_title_by_id hľadaj poľa ID -audioplayer.button_select_title_by_name hľadaj poľa názvu +audioplayer.building_search_index Tvorenie vyhľadávacieho indexu +audioplayer.button_select_title_by_id hľadaj podľa ID +audioplayer.button_select_title_by_name hľadaj podľa názvu audioplayer.defdir Východzí adresár audioplayer.delete zmaž audioplayer.deleteall zmaž všetko @@ -139,15 +143,15 @@ audioplayer.enable_sc_metadata Použi meta-data pre shoutcast audioplayer.fastforward pretoč dopredu audioplayer.follow Urob výber hraného audioplayer.head Zoznam prehrávania -audioplayer.highprio Veľká priorita dekódovania +audioplayer.highprio Vyššia priorita dekódovania audioplayer.jump_backwards skoč dozadu audioplayer.jump_dialog_hint1 čas skoku audioplayer.jump_dialog_hint2 v sekundách. audioplayer.jump_dialog_title Zadaj čas skoku audioplayer.jump_forwards skoč dopredu audioplayer.keylevel funkcie klávesy -audioplayer.load_radio_stations Nahraj internetové radia -audioplayer.name Prehrávač súborov +audioplayer.load_radio_stations Nahrávam internetové rádia +audioplayer.name Prehrávač hudby audioplayer.pause pauza audioplayer.play spusti audioplayer.playing Prehrávaná skladba @@ -159,10 +163,10 @@ audioplayer.playlist_name_hint1 Zadajte názov súboru do zoznamu prehrávania audioplayer.playlist_name_hint2 Prípona .m3u bude doplnená automaticky audioplayer.reading_files Načítavam súbory audioplayer.receiving_list Načítavam zoznam, čakaj... -audioplayer.repeat_on Spusti mód opakovania +audioplayer.repeat_on Spusti režim opakovania audioplayer.rewind pretoč dozadu audioplayer.save_playlist ulož zoznam -audioplayer.screensaver_timeout Vypnutie obrazu (minúta, 0=vypnuté) +audioplayer.screensaver_timeout Vypnutie obrazu (v minútach, 0=vypnuté) audioplayer.select_title_by_name Vyber titul podľa názvu (SMS) audioplayer.show_playlist Zobraz zoznam audioplayer.shuffle náhodne @@ -179,7 +183,7 @@ bouqueteditor.bouquetname Názov buketu bouqueteditor.delete zmaž bouqueteditor.delete_question Vymazať kanál z buketu? bouqueteditor.discardingchanges Zrušenie zmien. Prosím čakaj... -bouqueteditor.hide skry +bouqueteditor.hide skri bouqueteditor.lock zamkni bouqueteditor.move presuň bouqueteditor.name Úprava buketov @@ -191,35 +195,67 @@ bouqueteditor.savingchanges Ukladám zmeny. Prosím čakaj... bouqueteditor.switch pridaj/odstráň bouqueteditor.switchmode TV/Rádio bouquetlist.head Bukety +bouquetname.hdtv HD programy +bouquetname.new Nové programy +bouquetname.other Neznámy poskytovateľ +bouquetname.removed Odstránené programy cablesetup.provider Káblový poskytovateľ -cam.empty Žiadny modul v šachte -cam.init_ok Inicializácia modulu ukončená -cam.inserted Vložený modul do šachty -cam.removed Odstránený modul zo šachty -cam.reset Resetnúť -cam.reset_standby Resetovať po spustení -cam.settings Podmienený prístup -cam.timeout Čas čakania uplynul,\nvraciam sa do menu -cam.waiting Čakám na odpoveď +channellist.additional Rozšírené informácie +channellist.additional_off VYP +channellist.additional_on ZAP +channellist.additional_on_minitv ZAP (s MiniTV) channellist.current_tp Aktuálny transpondér channellist.edit Uprav channellist.epgtext_align_left do ľava channellist.epgtext_align_right do prava channellist.extended Grafické EPG v zozname channellist.favs Obľúbené +channellist.foot Informácie programu +channellist.foot_freq Informácie kmitočtu +channellist.foot_next ďaľšia udalosť +channellist.foot_off VYP +channellist.foot_sort_alpha triediť[abeceda] +channellist.foot_sort_chnum triediť[číslo] +channellist.foot_sort_freq triediť[kmitočet] +channellist.foot_sort_sat triediť[satelit] channellist.head Všetky kanály channellist.history História +channellist.keep_numbers Zachovať čísla predvolieb channellist.make_hdlist Vytvor zoznam pre HD kanály +channellist.make_newlist Vytvor zoznam pre nové kanály +channellist.make_removedlist Vytvor zoznam pre odstránené kanály +channellist.new_zap_mode Okamžité prepínanie v zozname +channellist.new_zap_mode_active aktívne +channellist.new_zap_mode_allow povolené +channellist.new_zap_mode_off vypnuté channellist.nonefound Nenájdený zoznam kanálov!\nVykonaj vyhľadanie kanálov\n(MENU -> Služby) +channellist.numeric_adjust Zadanie čísla na prepnutie channellist.provs Poskytovatelia +channellist.recording_not_possible Nahrávanie nedostupné! +channellist.reset_flags Resetovať označenie "nový" channellist.sats Satelity channellist.since od channellist.start spúšťa +ci.clock CI taktovanie (MHz) +ci.empty Žiadny modul v šachte +ci.ignore_msg Ignoruj CA správy +ci.init_failed Chybná inicializácia modulu +ci.init_ok Inicializácia modulu ukončená +ci.inserted Vložený modul do šachty +ci.removed Odstránený modul zo šachty +ci.reset Resetnúť +ci.reset_standby Resetovať po spustení +ci.settings Podmienený prístup +ci.timeout Čas čakania uplynul,\nvraciam sa do menu +ci.waiting Čakám na odpoveď +clock_switch_off Skryť hodiny +clock_switch_on Zobraziť hodiny colorchooser.alpha Priehľadnosť colorchooser.blue Modrý colorchooser.green Zelený colorchooser.red Červený colormenu.background Pozadie +colormenu.contrast_fonts Kontrast písma colormenu.fade Miznúce menu colormenu.font Výber písma colormenu.font_ttx Výber teletextového písma @@ -235,16 +271,17 @@ colormenusetup.menucontent_inactive Neaktívne v obsahovom okne colormenusetup.menucontent_selected Vybrané v obsahovom okne colormenusetup.menuhead Hlavička colorstatusbar.text Text stavového riadku -colorthememenu.classic_theme Klasika -colorthememenu.dblue_theme DarkBlue -colorthememenu.dvb2k_theme DVB2000 -colorthememenu.gray Sivá -colorthememenu.head Výber tém +colorthememenu.head Výber vzhľadu +colorthememenu.head2 Nahraj vzhľad +colorthememenu.name Názov vzhľadu colorthememenu.neutrino_theme Neutrino -colorthememenu.red_theme Jednoduchý červený +colorthememenu.question Použiť vybraný vzhľad? +colorthememenu.save Uložiť aktuálny vzhľad +colorthememenu.select1 Uživateľský vzhľad +colorthememenu.select2 Predvolený vzhľad cpu.freq Cpu kmitočet -cpu.freq_default default kmitočet -cpu.freq_normal Normal kmitočet +cpu.freq_default Predvolený kmitočet +cpu.freq_normal Pracovný kmitočet cpu.freq_standby Standby kmitočet date.Apr Apr date.Aug Aug @@ -265,14 +302,16 @@ date.Sun Ne date.Thu Št date.Tue Ut date.Wed St +epg.saving Uloženie EPG epgextended.actors Herci epgextended.director Režisér epgextended.guests Hostia epgextended.original_title Originálny titul -epgextended.presenter Prezentovač +epgextended.presenter Produkcia epgextended.year_of_production Rok výroby -epglist.noevents EPG je nedostupné... +epglist.noevents Programové informácie (EPG) sú nedostupné... epgviewer.More_Screenings Podobné relácie na tomto kanály +epgviewer.More_Screenings_short Viacej relácií epgviewer.nodetailed Detailné informácie sú nedostupné epgviewer.notfound Nenájdené programové informácie (EPG) eventfinder.head Hľadaj v EPG @@ -282,6 +321,8 @@ eventfinder.search_within_epg Hľadaj s EPG eventfinder.search_within_list Hľadaj so zoznamom eventfinder.searching Hľadaj s klávesnicou v EPG... eventfinder.start_search Spusti hľadanie +eventlist.additional Podrobnejšie informácie +eventlist.name Zoznam udalostí eventlistbar.channelswitch prejdi eventlistbar.eventsort triedenie eventlistbar.recordevent nahraj @@ -289,6 +330,7 @@ extra.add_to_bouquet Pridanie do buketu extra.audio_run_player Stlačenie AUDIO spustí prehrávač extra.auto_delete Auto-mazanie extra.auto_timeshift Auto-nahrávanie, sec (0=vypnuté) +extra.bigwindows Veľké okná extra.cache_txt Zachytávanie teletextu extra.chadded Aktuálny kanál bol pridaný do vybraného buketu....\n extra.chalreadyinbq Aktuálny kanál sa už nachádza vo vybranom bukete....\n @@ -319,18 +361,22 @@ extra.fec_s2_qpsk_5_6 5/6 s2 qpsk extra.fec_s2_qpsk_7_8 7/8 s2 qpsk extra.fec_s2_qpsk_8_9 8/9 s2 qpsk extra.fec_s2_qpsk_9_10 9/10 s2 qpsk +extra.key_current_transponder Aktuálny kľúč transpondéra extra.key_list_end Na koniec extra.key_list_start Na začiatok -extra.key_plugin Tlačítko zobrazujúce PLUGIN -extra.key_timeshift Časový posuv +extra.key_pip_close Spustiť/Zastaviť PiP +extra.key_pip_setup Nastavenie PiP +extra.key_pip_swap Prehodiť PiP/Hlavný obraz +extra.key_plugin Tlačítko zobrazujúce doplnky +extra.key_screenshot Tlačítko zosnímania obrazovky +extra.key_timeshift Časový posun extra.key_unlock Odblokuj extra.ladirection Umiestnenie zem.šírky -extra.latitude Zem.šírka +extra.latitude Zem.šírka [N/S] extra.loadconfig Nahraj nastavenia z ... -extra.loadkeys Nahraj nastavenia kláves +extra.loadkeys Nahraj nastavenia kláves z ... extra.lodirection Umiestnenie zem.dľžky -extra.logo Čislo loga(Štartovacie logo?) -extra.longitude Zem.dľžka +extra.longitude Zem.dľžka [E/W] extra.menu_left_exit "Ľavý" = návrat menu extra.north Severne extra.record_time Rýchly čas nahrávania (hodiny) @@ -340,14 +386,13 @@ extra.rounded_corners_off hranatý extra.rounded_corners_on zaoblený extra.saveconfig Ulož nastavenia ako ... extra.savekeys Ulož nastavenia kláves -extra.scan_fast Rýchle prehľadávanie (XML) -extra.scan_full Úplné prehľádávanie (XML+NIT) extra.scrambled_message Správa kódovania +extra.show_mute_icon Ikona umlčania pri hlasitosti 0 extra.sms_channel Mód SMS pre kanál extra.south Južne extra.start_tostandby Spustenie do stavu pripravenosti -extra.temp_timeshift Dočasný časový posuv -extra.timeshift_pause Pozastavenie časového posuvu +extra.temp_timeshift Dočasný časový posun +extra.timeshift_pause Pozastavenie časového posunu extra.tp.pol_v V extra.tp_fec FEC extra.tp_freq Kmitočet @@ -359,20 +404,21 @@ extra.tp_mod_32 QAM/32 extra.tp_mod_64 QAM/64 extra.tp_pol Polarizácia extra.tp_pol_h H +extra.tp_pol_l L +extra.tp_pol_r R extra.tp_rate SymbolRate extra.update_dir Adresár aktualizácie extra.use_gotoxx Použi gotoXX +extra.volume_digits Hlasitoť číselne extra.volume_pos Ukazovateľ hlasitosti extra.west Západne -extra.zap_cycle Vypnúť históriu kanálov +extra.zap_cycle Cyklické prepínanie extra.zapit_fe_timeout Časový limit naladenia (1 = 10 msek) extra.zapit_hvoltage 18V pri točení motora -extra.zapit_make_bouquet Wykonaj pozostałe listy kanałów -extra.zapit_menu Možnosti prepínania +extra.zapit_make_bouquet Vykonaj ostatné zoznamy kanálov extra.zapit_motor_speed Rýchlosť točenia (10 = 1st/sek) extra.zapit_scanpids Vyhľadávanie s PIDmi -extra.zapit_sdt_changed Zmenené kanály, načítanie nastavenia. -extra.zapit_write_names Zapísanie názvov kanálov +extra.zapit_sdt_changed Zmenené kanály, načítavam nastavenia. fan_speed Rýchlosť CPU ventilátora favorites.addchannel Aktuálny kanál bude pridaný \ndo buketu "Obľúbené". \nTo potrvá niekoľko sekúnd... favorites.bouquetname Obľúbené @@ -405,9 +451,11 @@ filesystem.is.utf8 Znaková sada súboru filesystem.is.utf8.option.iso8859.1 ISO-8859-1 filesystem.is.utf8.option.utf8 UTF-8 flashupdate.actionreadflash načítavanie +flashupdate.apply_settings Preniesť aktuálne nastavenia do nového image? flashupdate.cantopenfile Otvorenie súboru nemožné -flashupdate.cantopenmtd Otvorenie MTD-zariadenie nemožné -flashupdate.checkupdate Zisti novú verziu +flashupdate.cantopenmtd Otvorenie MTD-zariadenia nemožné +flashupdate.checkupdate_internet Skontrolovať aktualizácie on-line +flashupdate.checkupdate_local Lokálna aktualizácia flashupdate.currentversion_sep Aktuálna verzia flashupdate.currentversiondate Dátum flashupdate.currentversiontime Hodina @@ -434,7 +482,7 @@ flashupdate.new_notfound Žiadny nový IMAGE flashupdate.programmingflash Programovanie pamäte FLASH flashupdate.proxypassword Heslo flashupdate.proxypassword_hint1 Vloženie hesla servera proxy -flashupdate.proxypassword_hint2 Prázde pole znamená nepoužitie hesla +flashupdate.proxypassword_hint2 Prázdne pole znamená nepoužitie hesla flashupdate.proxyserver Názov servera proxy flashupdate.proxyserver_hint1 Vloženie názovu servera proxy alebo IP (host:port) flashupdate.proxyserver_hint2 Prázdne pole znamená nepoužitie proxy servera @@ -448,12 +496,19 @@ flashupdate.ready Hotovo. flashupdate.reallyflashmtd Naozaj vykonať programovanie?\n\nV prípade výskytu chyby alebo nesprávneho súboru\n box nenabehne.\n\nNázov súboru: %s\nCieľ: %s flashupdate.savesuccess IMAGE bol úspešne uložený \nako %s. flashupdate.selectimage Dostupné súbory +flashupdate.settings Aktualizácia nastavení flashupdate.squashfs.noversion Kontrola SquashFS verzií je podporovaná len počas aktualizácie cez internet.\nSkutočne nainštalovať tento súbor? flashupdate.titlereadflash Načítanie pamäte FLASH flashupdate.titlewriteflash Zapísanie pamäte FLASH +flashupdate.update_with_settings_del_skipped Adresár [%s] nebol vymazaný. Zadanie je preskočené. +flashupdate.update_with_settings_error Chyba FLASH pamäte!\n \nNový IMAGE má len %ld KB (ostáva %ld KB) do konca. \nnedostatok miesta pre dokončenie operácie.\n \nOperácia prerušená! +flashupdate.update_with_settings_processed IMAGE sa spracováva... +flashupdate.update_with_settings_skipped Adresár [%s] nebol uložený. Zadanie je preskočené. +flashupdate.update_with_settings_successfully Nastavenie úspešne prevzaté.\nIMAGE sa môže nahrať. +flashupdate.update_with_settings_warning Pozor nahrávanie!\n \nNový IMAGE má len %ld KB (ostáva %ld KB) do konca. Pravdepodobne \n je málo miesta na dokončenie operácie...\n \nSkutočne chcete pokračovať? flashupdate.updatemode Spôsob aktualizácie flashupdate.updatemode_internet Internet -flashupdate.updatemode_manual ručne +flashupdate.updatemode_manual Lokálny adresár flashupdate.url_file Konfiguračný súbor flashupdate.versioncheck Kontrola verzie flashupdate.writeflash Zapísanie celého IMAGE do pamäte FLASH @@ -464,18 +519,25 @@ fontmenu.epg EPG fontmenu.eventlist Programový sprievodca fontmenu.gamelist Zoznam hier fontmenu.head Nastavenia písma -fontmenu.infobar Stavový riadok +fontmenu.infobar Informačná lišta fontmenu.menu Menu +fontmenu.scaling Faktor zoomu globálneho fontu +fontmenu.scaling_x Vodorovne (v %) +fontmenu.scaling_x_hint2 Vodorovne (v %) min 50 / max 200 +fontmenu.scaling_y Zvislo (v %) +fontmenu.scaling_y_hint2 Zvislo (v %) min 50 / max 200 fontmenu.sizes Veľkosti písma fontsize.channel_num_zap priamy výber fontsize.channellist Zoznam kanálov fontsize.channellist_descr Popis +fontsize.channellist_event Prehľad relácií fontsize.channellist_number Číslo fontsize.epg_date Dátum EPG fontsize.epg_info1 Informácia EPG 1 fontsize.epg_info2 Informácia EPG 2 fontsize.epg_title Titul EPG fontsize.eventlist_datetime Dátum/Čas EPG +fontsize.eventlist_event Udalosť EPG fontsize.eventlist_itemlarge Veľké EPG fontsize.eventlist_itemsmall Malé EPG fontsize.eventlist_title Titul EPG @@ -484,14 +546,13 @@ fontsize.gamelist_itemlarge Veľký zoznam hier fontsize.gamelist_itemsmall Malý zoznam hier fontsize.hint Inicializácia písma,\nprosím čakaj... fontsize.infobar_channame Názov kanálu -fontsize.infobar_info Informácia na stavovom riadku -fontsize.infobar_number Kanál na stavovom riadku -fontsize.infobar_small Malý stavový riadok +fontsize.infobar_info Informácia na informačnej lište +fontsize.infobar_number Kanál na informačnej lište +fontsize.infobar_small Malá informačná lišta fontsize.menu Text menu +fontsize.menu_hint Popis menu fontsize.menu_info Informačné menu fontsize.menu_title Titulok menu -gtxalpha.alpha1 Alfa 1 -gtxalpha.alpha2 Alfa 2 hdd_10min 10 minút hdd_1min 1 minúta hdd_20min 20 minút @@ -502,19 +563,21 @@ hdd_activate Použi nastavenia hdd_check Kontrola súborového systému hdd_check_failed Chyba kontroly disku ! hdd_ext3 Súborový systém Ext3 -hdd_fast minimálne +hdd_extended_settings Rozšírené nastavenia disku +hdd_fast rýchle hdd_format Formátovanie HDD hdd_format_failed Chyba počas formátovania disku ! hdd_format_warn Naozaj formátovať? Všetky dáta budú stratené! hdd_fs Súborový systém hdd_manage Spravovanie HDD hdd_middle stredne -hdd_noise Hlučnosť +hdd_noise Hlučnosť (AAM) hdd_not_found Nenájdený disk hdd_reiser ReiserFS -hdd_settings Nastavenia HDD +hdd_removable_device Odstrániteľné zariadenie +hdd_settings Nastavenia HDD/USB hdd_sleep Čas uspania -hdd_slow maximálne +hdd_slow pomaly hdd_umount_warn Chyba počas odpojenia disku ! imageinfo.creator Vytvoril: imageinfo.date Dátum: @@ -523,9 +586,10 @@ imageinfo.forum Fórum: imageinfo.head Informácia o IMAGE imageinfo.homepage Domov: imageinfo.image Image: +imageinfo.kernel Jadro: imageinfo.license Licencia: imageinfo.version Verzia: -inetradio.name Internetové radio +inetradio.name Internetové rádio infoviewer.epgnotload EPG informácie nie sú načítané... infoviewer.epgwait čakám na informácie EPG... infoviewer.eventlist Prehľad EPG @@ -537,7 +601,7 @@ infoviewer.noepg EPG je nedostupné infoviewer.notavailable Kanál (teraz) nedostupný infoviewer.now Teraz infoviewer.selecttime Časy začatia -infoviewer.streaminfo Informácia +infoviewer.streaminfo Infodoplnky infoviewer.subchan_disp_pos Zobrazenie podkanálov infoviewer.subchan_infobar Celé info infoviewer.subservice Doplnkové služby @@ -559,16 +623,31 @@ keybindingmenu.channellist Zoznam kanálov keybindingmenu.channelup Predchádzajúci kanál keybindingmenu.head Nastavenie klávesov keybindingmenu.lastchannel Späť na posledný kanála +keybindingmenu.misc Rôzne +keybindingmenu.mode_left_right_key_tv Činnosť Ľavého/Pravého kurzora v TV režime +keybindingmenu.mode_left_right_key_tv_infobar Zobraz informačnú lištu +keybindingmenu.mode_left_right_key_tv_volume Ovládanie hlasitosti +keybindingmenu.mode_left_right_key_tv_vzap Virtuálne prepnutie +keybindingmenu.mode_left_right_key_tv_zap Prepnutie keybindingmenu.modechange Zmena spôsobu keybindingmenu.pagedown Nasledujúca strana keybindingmenu.pageup Predchádzajúca strana +keybindingmenu.poweroff Správa napájania keybindingmenu.quickzap Rýchle prepnutie kanálov +keybindingmenu.remotecontrol_hardware Typ ovládača boxu +keybindingmenu.remotecontrol_hardware_coolstream CST +keybindingmenu.remotecontrol_hardware_dbox d-box Nokia +keybindingmenu.remotecontrol_hardware_msg_part1 Diaľkové ovládanie bolo zmenené z ' +keybindingmenu.remotecontrol_hardware_msg_part2 ' na ' +keybindingmenu.remotecontrol_hardware_msg_part3 \nJe to správne ?\nProsím potvrdiť tento výber do 15 sekúnd použitím nového ovládača.\nInak bude výber vrátený. +keybindingmenu.remotecontrol_hardware_philips Philips +keybindingmenu.remotecontrol_hardware_tripledragon Triple Dragon keybindingmenu.repeatblock Základné oneskorenie keybindingmenu.repeatblockgeneric Oneskorenie opakovania keybindingmenu.sort Zmena poradia triedenia keybindingmenu.subchanneldown Predchádzajúci podkanál keybindingmenu.subchannelup Nasledujúci podkanál -keybindingmenu.tvradiomode TV/Radio +keybindingmenu.tvradiomode TV/Rádio keybindingmenu.zaphistory História prepínania buketov keychooser.head Nastvenie nového klávesu keychooser.text1 Stlač kláves @@ -579,27 +658,31 @@ keychoosermenu.setnone Zrušenie priradenia languagesetup.head Nastavenie jazyka languagesetup.osd Jazyk OSD languagesetup.select Jazyk +lcd_info_line Zobrazenie v inforiadku +lcd_info_line_channel Názov kanálu +lcd_info_line_clock Hodiny lcdcontroler.brightness Jas lcdcontroler.brightnessdeepstandby Jas v hlbokom spánku lcdcontroler.brightnessstandby Jas v spánku -lcdcontroler.contrast Kontrast lcdmenu.dim_brightness Jas po zhasnutí lcdmenu.dim_time Čas zhasnutia lcdmenu.head Nastavenie VFD lcdmenu.lcdcontroler Jas lcdmenu.statusline Stavový riadok -lcdmenu.statusline.both hlasitosť/hraný čas +lcdmenu.statusline.both hlasitosť/odohratý čas lcdmenu.statusline.playtime odohratý čas lcdmenu.statusline.volume hlasitosť +ledcontroler.blink Blikať v hlbokom spánku ak je nastavený časovač ledcontroler.menu Podsvietenie Power tlačítka ledcontroler.mode.deepstandby Hlboký spánok +ledcontroler.mode.record Blikať pri nahrávaní ledcontroler.mode.standby Pripravenosť -ledcontroler.mode.tv TV mód +ledcontroler.mode.tv TV režim ledcontroler.off Led1 a Led2 vyp. ledcontroler.on.all Led1 a Led2 zap. ledcontroler.on.led1 Led1 zap. ledcontroler.on.led2 Led2 zap. -mainmenu.audioplayer Prehrávač súborov +mainmenu.audioplayer Prehrávač hudby mainmenu.clearsectionsd Vyčistenie EPG zachytávania mainmenu.games Hry mainmenu.head Hlavné menu @@ -607,17 +690,18 @@ mainmenu.media Média mainmenu.movieplayer Prehrávač filmov mainmenu.pausesectionsd Načítavanie EPG mainmenu.pictureviewer Prehliadač obrázkov -mainmenu.radiomode Radio +mainmenu.radiomode Rádio mainmenu.reboot Reboot mainmenu.recording Nahrávanie -mainmenu.recording_start Spusti -mainmenu.recording_stop Zasatav +mainmenu.recording_start Spustiť +mainmenu.recording_stop Zastaviť mainmenu.scripts Skripty mainmenu.service Služby mainmenu.settings Nastavenia mainmenu.shutdown Vypnúť mainmenu.sleeptimer Časovač vypnutia mainmenu.tvmode TV +mainmenu.tvradio_switch Prepnutie TV-Rádio mainsettings.audio Zvuk mainsettings.head Nastavenia mainsettings.keybinding Nastavenia kláves @@ -629,10 +713,405 @@ mainsettings.network Sieť mainsettings.osd Nastavenia OSD mainsettings.recording Nahrávanie mainsettings.savesettingsnow Uloženie nastavenia -mainsettings.savesettingsnow_hint Zapisovanie nastavení,\nprosím čakaj... +mainsettings.savesettingsnow_hint Ukladanie nastavení,\nprosím čakaj... mainsettings.timezone Časová zóna mainsettings.video Obraz menu.back späť +menu.cancel zrušiť +menu.hint_a_pic Nastavenie prehrávača hudby a obrázkového prehliadača +menu.hint_aplay Prehrávač zvukových súborov +menu.hint_audio Audio výstup, DD, SRS TrueVolume \nVoľby +menu.hint_audio_analog_mode Výber zvukového kanálu pre\nstereo, mono-ľavý, mono-pravý +menu.hint_audio_avsync A/V synchronizácia +menu.hint_audio_dd Automatické prepnutie na DolbyDigital zvukový pid,\nak je dostupný +menu.hint_audio_hdmi_dd DolbyDigital cez HDMI:\nnie - automatické dekódovanie ak je podporované zariadením, nútene - ... +menu.hint_audio_spdif_dd DolbyDigital cez optický výstup +menu.hint_audio_srs SRS TruVolume ovládanie hlasitosti \npoužitím zmien obsahu +menu.hint_audio_srs_algo Účinnosť ovládania, jemná alebo klasická +menu.hint_audio_srs_nmgr Potlačovač šumu +menu.hint_audio_srs_volume Referenčná úroveň citlivosti +menu.hint_audio_volstep Zvýšenie/zníženie kroku pre klávesy VOL +/- +menu.hint_audioplayer_defdir Prednastavený adresár prehrávača hudby +menu.hint_audioplayer_follow Pohyb vybraného ukazovateľa zoznamu prehrávania\nna aktuálne hrajúcu pieseň +menu.hint_audioplayer_highprio Zvýšenie priority prehrávania +menu.hint_audioplayer_order Zmena triedenia zonamu prehrávania +menu.hint_audioplayer_playlist Zobrazenie položiek zoznamu prehrávania +menu.hint_audioplayer_repeat Použiť opakovanie zoznamu prehrávania pri dosiahnutí konca +menu.hint_audioplayer_sc_metadata Použije extrakciu meta-dát z prehrávaného zvuku +menu.hint_audioplayer_screensaver Nastavenie času šetriča, v minútach +menu.hint_audioplayer_title Použije SMS štýl vyhľadávania titulov v zozname prehrávania +menu.hint_auto_lang Automatické prepnutie zvuku na preferovaný jazyk +menu.hint_auto_subs Automatické spustenie titulkov pre preferovaný jazyk +menu.hint_back Návrat do predchádzajúcej položky.\nStlačenie MENU klávesy uzavrie všetky položky +menu.hint_backup Záloha konfigurácií a kanálov do vybraného adresára +menu.hint_bedit Úprava obľúbených a buketov +menu.hint_bigwindows Zoznam kanálov, programové informácie, prehrávač hudby a niektoré ďaľšie okná budú zobrazované na celej obrazovke +menu.hint_cache_txt Spustenie zachytávania teletextu po prepnutí kanála +menu.hint_cec_mode CEC režim +menu.hint_cec_standby Ováldanie externými CEC príkazami v pripravenosti +menu.hint_cec_view_on Ovládanie externými CEC príkazami pri sledovaní +menu.hint_channellist_additional Zobrazenie doplnkových informácií\nv hlavnom boxe +menu.hint_channellist_colored Použitie rozdielnej farby pre aktuálnu a nasledujúcu udalosť +menu.hint_channellist_epg_align Zarovnanie EPG udalostí +menu.hint_channellist_extended Grafické zobrazenie aktuálnej udalosti +menu.hint_channellist_fonts Zmena veľkosti písma zoznamu kanálov +menu.hint_channellist_foot Zobrazenie ďaľších informácií\nv dolnom boxe +menu.hint_channellist_setup Konfigurácia GUI volieb zonamu kanálov +menu.hint_ci Nastavovacie menu podmieneného pristupu\npre váš CI CAM or vloženú Conax kartu +menu.hint_colors Konfigurácia farieb GUI +menu.hint_content_back Zmena farby podkladu GUI okna +menu.hint_content_textcolor Zmena farby textu GUI okna +menu.hint_contrast_fonts Zvýraznenie kontrastu pisma (neúčinné pri podklade) +menu.hint_dboxinfo Informácia o procesore a úložisku +menu.hint_delete_channels Odstránenie všetkých kanálov +menu.hint_delete_removed Vymazanie kanálov v bukete "Odstránené kanaly" +menu.hint_epg_cache Maximum dní pre zachytávanie ďaľších udalostí +menu.hint_epg_dir Výber adresára na disku alebo usb \npre uloženie EPG. +menu.hint_epg_extendedcache Maximálny čas zachytávania\npopisov doplňujúcich udalostí +menu.hint_epg_fonts Zmena veľkosti písma okna EPG podrobností +menu.hint_epg_max_events Maximum udalostí zachytávania. Po dosiahnutí hranice\nEPG cache odstráni nasledujúce udalosti +menu.hint_epg_old_events Hodiny po skončení udalosti aby sa označila\nako stará a odstránila sa zo zachytávania +menu.hint_epg_save Uloženie zachyteného EPG na disk alebo usb\na načítanie po spustení +menu.hint_epg_save_standby Uloženie EPG v režime pripravenosti +menu.hint_event_textcolor Zmena farby udalosti pre nastavenia farebnosti udalosti\nv zozname kanálov a stavovom riadku +menu.hint_eventlist_additional Zobrazí podrobnejšie informácie\nv hlavnom okne +menu.hint_eventlist_fonts Zmena veľkosti písma zoznamu udalostí +menu.hint_eventlist_setup Konfigurácia GUI volieb zoznamu udalostí +menu.hint_extended Správa napájania, voľby ukladania/nahrania EPG \nHDMI-CEC, štartovací kanál, voľby prepínania +menu.hint_factory Reset príjmača do výrobného stavu\nPríjmač sa musí rebotovať po resete +menu.hint_fade Postupné miznutie GUI okien +menu.hint_fan_speed Kontrola rýchlosti ventilátora +menu.hint_filebrowser_denydirectoryleave Nepovoliť prehliadaču súborov odísť z hlavného adresára +menu.hint_filebrowser_showrights Zobrazenie oprávnení súboru v prehliadači súborov +menu.hint_fileplay Prehrávanie rôznych obrazových súborov +menu.hint_filesystem_is_utf8 Kódovanie súborového systemu prehliadača súborov +menu.hint_font_gui Výber súboru písma pre GUI +menu.hint_font_scaling Zvislé a vodorovné nastavenie globálnej mierky písma +menu.hint_font_ttx Výber písma pre teletext +menu.hint_fonts Konfigurácia písma GUI +menu.hint_gamelist_fonts Zmena veľkosti písma zoznamu hier a skriptov +menu.hint_games Zobrazenie zoznamu inštalovaných hier +menu.hint_hdd Formátovanie/kontrola pevného disku +menu.hint_hdd_apply Použitie parametrov uspania/stíšenia +menu.hint_hdd_check Kontrola súborového systému (fsck) +menu.hint_hdd_format Vytvorenie HDD partície a jej formátovanie +menu.hint_hdd_noise Nastavenie Automatic Acoustic Management\nnie je podporované u všetkých zariadení +menu.hint_hdd_sleep Výber času zastavenia disku pri neaktivite +menu.hint_hdd_tools Inicializácia HDD, kontrola súborového systému +menu.hint_head_back Zmena farby podkladu nadpisu hlavičky +menu.hint_head_textcolor Zmena farby nadpisu hlavičky +menu.hint_imageinfo Informácia o inštalovanom programe +menu.hint_inact_timer Vypnutie príjmača pri neaktivite +menu.hint_inactive_back Zmena farby podkladu nektívnej položky +menu.hint_inactive_textcolor Zmena farby textu neaktívnej položky +menu.hint_inet_radio Internetové rádia +menu.hint_info Informácia o IMAGE, systéme, streame a podmienenom prístupe +menu.hint_infobar_back Zmena farby podkladu informačnej lišty +menu.hint_infobar_casys áno: zobrazí všetko farebne,\n CA mini: jedna ikona zámku, CA mód: len aktívne systémy, nie: nezobrazí +menu.hint_infobar_colored_event Použije inú farbu pre aktuálnu alebo nasledujúcu udalosť +menu.hint_infobar_dd Zobrazenie DolbyDigital ikony +menu.hint_infobar_filesys Zobrazenie úrovne obsadenia pamäte a disku +menu.hint_infobar_fonts Zmena veľkosti fontu informačnej lišty +menu.hint_infobar_logo Voľby loga / signálu +menu.hint_infobar_logo_dir Výber adresára pre vyhľadanie loga kanálu +menu.hint_infobar_on_epg Zobrazenie informačnej lišty pri zmene aktuálnej udalosti EPG +menu.hint_infobar_radiotext Zobrazí rádiotext okno +menu.hint_infobar_res Zobrazenie ikony rozlíšenia kanála +menu.hint_infobar_sat Zobrazenie aktuálneho satelitného alebo káblového poskytovateľa +menu.hint_infobar_setup Nastavenie vlastností informačnej lišty +menu.hint_infobar_textcolor Zmena farby textu informačnej lišty +menu.hint_infobar_tuner Zobrazenie číselnej ikony aktívneho tunera +menu.hint_keep_numbers Zachovať čísla kanálov po nasledujúcom vyhľadávaní\na úprave buketov +menu.hint_key_addrecord Priradenie klávesy pre pridanie nahrávania časovača\nz programového sprievodcu +menu.hint_key_addremind Priradenie klávesy pre pridanie prepnutia časovača\nz programového sprievodcu +menu.hint_key_audio áno: 'AUDIO' kláves spustí zobrazenie prehrávania \nnie: 'AUDIO' kláves zobrazí výber zvuku +menu.hint_key_binding Predefinovanie kláves použitých pre príkazové operácie +menu.hint_key_bouquetdown Pridelenie klávesy pre zmenu zoznamu kanálov\ndo predchádzajúceho buketu +menu.hint_key_bouquetup Pridelenie klávesy pre zmenu zoznamu kanálov\ndo nasledujúceho buketu +menu.hint_key_cancel Pridelenie klávesy pre zatvorenie GUI okna +menu.hint_key_channel_sms Ak zapnuté, číselné klávesy v zozname kanálov\nsú použité na hľadanie kanála v SMS štýle +menu.hint_key_channeldown Priradenie klávesy pre rýchlu zmenu na predchádzajúci\nkanál v zozname kanálov +menu.hint_key_channellist Konfigurácia klávesových skratiek pre zoznam kanálov +menu.hint_key_channelup Priradenie klávesy pre rýchlu zmenu na nasledujúci\nkanál v zozname kanálov +menu.hint_key_hardware Zmena typu diaľkového ovládača +menu.hint_key_history Priradenie klávesy pre zobrazenie\nhistórie prepínania kanála +menu.hint_key_lastchannel Priradenie klávesy pre rýchle prepnutie na\npredchádzajúci kanál v histórii +menu.hint_key_left_exit Povolí návrat do predchádzajúceho menu s klávesou 'vľavo' +menu.hint_key_list_end Priradenie klávesy pre skok na koniec zoznamu +menu.hint_key_list_start Priradenie klávesy pre skok na žačiatok zoznamu +menu.hint_key_load Nahrá klávesové skratky zo súboru +menu.hint_key_modechange Zmena TV/Rádio režimu a kláves pripravenosti +menu.hint_key_movieplayer Konfigurácia klávesových skratiek pre prehrávač filmov +menu.hint_key_mpaudio Priradenie klávesy pre zobrazenie výberu zvuku\nv režime nahrávky +menu.hint_key_mpbookmark Priradenie klávesy pre vytvorenie záložky\npočas nahrávky +menu.hint_key_mpforward Priradenie klávesy pre pretáčanie vpred nahrávky +menu.hint_key_mppause Priradenie klávesy pre pozastavenie nahrávky +menu.hint_key_mpplay Priradenie klávesy pre pokračovanie nahrávky +menu.hint_key_mpplugin Priradenie klávesy pre spustenie vybraného doplnku\npočas nahrávky +menu.hint_key_mprewind Priradenie klávesy pre pretáčanie vzad nahrávky +menu.hint_key_mpstop Priradenie klávesy pre zastavenie nahrávky +menu.hint_key_mptime Priradenie klávesy pre zobrazenie časov nahrávky +menu.hint_key_mptimeshift Priradenie klávesy pre spustenie časového posunu +menu.hint_key_pagedown Priradenie klávesy pre zobrazenie nasledujúcej strany položiek +menu.hint_key_pageup Priradenie klávesy pre zobrazenie predchádzajúcej strany položiek +menu.hint_key_pip_close Priradenie klávesy pre ukončenie PiP\nalebo spustenia ho na aktuálnom kanály +menu.hint_key_pip_setup Priradenie klávesy pre konfiguráciu PiP +menu.hint_key_pip_swap Priradenie klávesy pre zmenu PiP a živého kanála +menu.hint_key_poweroff Priradenie klávesy pre zmenu stavu napájania\n (pripravenosť/spánok <-> práca) +menu.hint_key_quickzap Konfigurácia klávesových skratiek pre rýchlu\nzmenu kanála +menu.hint_key_repeatblock Oneskorenie po stlačení klávesy a pred\nprvým opakovním povelu +menu.hint_key_repeatblockgeneric Oneskorenie medzi opakovanim povelov\npočas stlačenia klávesy +menu.hint_key_right Výber 'vpravo' funkcie v živom TV/Rádio režime +menu.hint_key_save Uloží klávesové skratky do súboru +menu.hint_key_screenshot Priradenie klávesy pre uloženie GUI/nalebo zachytenie obrazovky +menu.hint_key_sort Priradenie klávesy pre zmenu triedenia zoznamu kanálov +menu.hint_key_subchanneldown Priradenie klávesy pre rýchlu zmenu\n do predchádzajúceho subkanálu +menu.hint_key_subchannelup Priradenie klávesy pre rýchlu zmenu\n do nasledujúceho subkanálu +menu.hint_key_transponder Priradenie tlačítka pre zobrazenie zoznamu kanálov\nz aktuálneho transpondéra +menu.hint_key_tvradiomode Priradenie tlačítka pre zmenu TV <> Rádio režimu +menu.hint_key_unlock Priradenie tlačitka pre odomknutie poľa ak je zamknuté\nPre odomknutie stlačiť 'RED', potom počas 5 sekúnd to tlačítko +menu.hint_keys Rýchlosť opakovania diaľkového ovládača\nÚprava väzieb tlačítok +menu.hint_lang_pref Konfigurácia preferovaného zvuku, EPG a jazyka titulkov +menu.hint_language OSD jazyk, časové pásmo\nPreferovaný zvuk a jazyk titulkov +menu.hint_last_radio Spustenie príjmača na vybranom kanáli\nak posledný režim je Rádio +menu.hint_last_tv Spustenie príjmača na vybranom kanáli\nak posledný režim je TV +menu.hint_last_use Spustenie príjmača na poslednom použitom kanáli +menu.hint_leds_blink Blikanie LED v režime spánku +menu.hint_leds_deepstandby Stav LED v režime spánku +menu.hint_leds_record Stav LED počas nahrávania +menu.hint_leds_standby Stav LED v režime pripravenosti +menu.hint_leds_tv Funkčný stav LED +menu.hint_load Nahranie GUI nastavení zo súboru +menu.hint_make_hdlist Automaticky vytvorí HD zoznam kanálov na základe\ntypu kanála a názvu +menu.hint_make_newlist Vytvorí zoznam nedávno pridaných kanálov +menu.hint_make_removedlist Vytvorí zoznam nedávno odstránených kanálov +menu.hint_manage_settings Záloha, obnova, východzí stav\nVýrobné nastavenie príjmača +menu.hint_mb Vaše nahrávky +menu.hint_media Prehrávanie filmov a hudby, prezeranie obrázkov +menu.hint_menu_fonts Zmena veľkosti písma menu +menu.hint_menu_hints Zobrazí túto radu. Taktiež môžno zmeniť\nkedykoľvek použitím ´HELP´ tlačítka +menu.hint_menu_pos Výber umiestnenia menu +menu.hint_misc_cec HDMI-CEC voľby +menu.hint_misc_channellist HD/Nové/Odstránené zoznamy kanálov, cyklické prepnutie +menu.hint_misc_energy Použitie pripravenosti, oddialené vypnutie\nčasovače neaktivity +menu.hint_misc_epg Voľby uloženia/nahrania EPG, voľby zachytávania EPG,\nEPG adresár uloženia +menu.hint_misc_filebrowser Kódovanie súborového systemu, oprávnenia súboru,\nzákaz odstrániť adresáre +menu.hint_misc_general Spustenie do pripravenosti, zachytávanie teletextu, zmena motora\nhdd adresár doplnkov +menu.hint_misc_zapit Východzie TV/Radio kanály +menu.hint_movie Prehrávanie filmov +menu.hint_net_broadcast Zadanie adresy vysielania, ak netušíte použite IP adresu s koncom .255 +menu.hint_net_dhcp Použije DHCP server pre automatickú konfiguráciu +menu.hint_net_djmount Pripojenie UPnP zariadení ako filesystem\npodľa /media/00upnp +menu.hint_net_ftpd Použitie prenosu súboru cez FTP +menu.hint_net_gateway Vloženie IP adresy brány smerovača +menu.hint_net_hostname Zmena hosťovacieho názvu príjmača +menu.hint_net_if Výber interface pre konfiguráciu +menu.hint_net_ipaddress Vloženie IP adresy vášho príjmača +menu.hint_net_mount Konfigurácia, pripojenie a odpojenie sieťových zdielaní\nNFS a CIFS podpora +menu.hint_net_nameserver Zadanie IP adresy DNS servera +menu.hint_net_netmask Zadanie sieťovej masky, ak netušíte použite 255.255.255.0 +menu.hint_net_nfs_mount Konfigurácia a pripojenie sieťových zdielaní +menu.hint_net_nfs_umount Odpojenie sieťových zdielaných pripojení +menu.hint_net_ntp Konfigurácia synchronizácie času +menu.hint_net_ntpenable Použije synchronizáciu času pomocou NTP protokolu\nAk NTP synchronizácia nie je úspešná, bude použité DVB +menu.hint_net_ntprefresh Časový interval synchronizácie +menu.hint_net_ntpserver Vloženie názvu NTP servera +menu.hint_net_pass Vloženie kryptovacieho kľúča (WPA-PSK) +menu.hint_net_proxy Ak používate proxy prístup k internetu\nnastavte tu on-line aktualizáciu software +menu.hint_net_proxypass Proxy uživateľské heslo\nak vyžaduje autorizáciu +menu.hint_net_proxyserver Názov proxy servera +menu.hint_net_proxyuser Proxy užívateľský názov\nak vyžaduje autorizáciu +menu.hint_net_services Konfigurácia sieťových služieb:\nftp, Telnet, uPnp +menu.hint_net_setupnow Použitie aktuálnych nastavení +menu.hint_net_setuponstartup Spustenie siete v čase spúštania príjmača +menu.hint_net_show Zobrazenie aktuálneho sieťového nastavenia +menu.hint_net_ssid Zadanie SSID wireless siete\npre pripojenie sa k +menu.hint_net_telnet Použitie telnet prihlásenia do vášho príjmača +menu.hint_net_test Test sieťového pripojenia: ping brány,\n názov servera a externé IP +menu.hint_net_ushare Zdielanie pripojeného HDD cez uPnp +menu.hint_network IP adresa, brána, DNS, Synch. času\nSieťové zdielanie a služby +menu.hint_new_zap_mode Povoliť prepnutie kanála počas prehliadania\n(prepnuť režim s 'MUTE' v zozname kanálov) +menu.hint_numeric_adjust Nastavenie režimu zoznamu kanálov na číselné prepnutie +menu.hint_osd Farby, písma, veľkosť obrazu\nvzhľad a možnosti GUI +menu.hint_osd_language Výber OSD jazyka +menu.hint_osd_preset Prekonfigurovanie okrajov obrazovky pre CRT a LCD TV +menu.hint_parentallock_changepin Zmena PIN kódu +menu.hint_parentallock_lockage Výber povoleného veku pre sledovanie +menu.hint_parentallock_prompt Konfigurácia keď sa Neutrino-HD opýta na PIN kód +menu.hint_personalize Povolenie/zakázanie alebo Položky menu zabezpečenia\nKonfigurácia farebných tlačítok uživateľských ponúk +menu.hint_pictureviewer_defdir Východzí adresár prehliadača obrázkov +menu.hint_pictureviewer_scaling Algoritmus mierky obrázku +menu.hint_pictureviewer_slide_time Interval zmeny obrázka, v sekundách +menu.hint_picview Sledovanie obrázkov +menu.hint_plugins_hdd_dir Výber adresára pre nahranie doplnkov +menu.hint_power_leds Konfigurácia správania LED podsvietenia tlačítka napájania +menu.hint_pref_lang Výber preferovaných jayzkov zvuku a EPG\nvýber 'none' pre nepoužitie +menu.hint_pref_subs Výber preferovaných jazykov titulkov\nvýber 'none' pre nepoužitie +menu.hint_progressbar Výber volieb pre ukazovateľ +menu.hint_progressbar_color Zobrazenie farebného ukazovateľa +menu.hint_progressbar_design Tu je možné vybrať dizajn ukazovateľa s aktívnymi farebnými voľbami +menu.hint_progressbar_infobar_position Vyberie možnosti ukazovateľa v infobare +menu.hint_protection Ochrana obsahu PIN kódom\nVýchodzí PIN 0000 +menu.hint_radiomode Prepne príjmač do rádio režimu +menu.hint_reboot Reboot príjmača\nBez potvrdzovania +menu.hint_record_apid_ac3 Nahrá AC3 zvukové pidy +menu.hint_record_apid_alt Nahrá ostatné zvukové pidy +menu.hint_record_apid_std Nahrá prvý zvukový pid +menu.hint_record_apids Konfigurácia volieb zvukových pidov pre nahrávanie +menu.hint_record_apply Použije voľby nahrávania +menu.hint_record_chandir Vytvorí adresár s názvom kanála\npre uloženie nahrávky +menu.hint_record_data Konfigurácia dátových služieb (TeleText, Titulky) pre nahrávanie +menu.hint_record_data_dvbsub Nahrá pid/stream s titulkami +menu.hint_record_data_vtxt Nahrá pid/stream s teletextom +menu.hint_record_dir Výber adresára pre ukladanie nahrávok +menu.hint_record_end Zastaviť nahrávanie po max. čase alebo\npo čase ukončenia aktuálnej udalosti +menu.hint_record_slow_warn Zobrazenie upozornenia, ak nahrávací buffer je blízko k preplneniu +menu.hint_record_tdir Výber adresára pre uloženie nahrávok časového posunu\nv režime dočasného časového posunu +menu.hint_record_time Čas nahrávania do konca ak\nsa použije nahrávanie s tlačitkom nahrávania (REC) +menu.hint_record_timeafter Zastavenie nahrávania po ukonční udalosti\nv minútach +menu.hint_record_timebefore Spustenie nahrávania pred začatím udalosti\nv minútach +menu.hint_record_timer Konfigurácia volieb časového nahrávania +menu.hint_record_timeshift Konfigurácia volieb časového posunu +menu.hint_record_timeshift_auto Automatické spustenie časového posunu po zmene kanálu, v sekundách +menu.hint_record_timeshift_delete Zmazanie súborov časového posunu po jeho zastavení +menu.hint_record_timeshift_pause Spustenie prehrávania časoveho posunu v pauza móde +menu.hint_record_timeshift_temp Ak NIE, časový posun spustený ako\nnejaké priame nahrávanie +menu.hint_record_zap Prepnutie na kanál nahrávania\na zobrazenie oznámenia +menu.hint_record_zap_pre_time Pri prepnutí časovačov, zmena kanála pred spustením udalosti\nv minútach +menu.hint_recording Voľby nahrávania a časového posunu\nZabezpečenie časovača, voľby zvukových pidov +menu.hint_reload_channels Znovunačítanie kanálov z pamäte +menu.hint_reload_plugins Znovunačítanie doplnkov z pamäte +menu.hint_reset Resetovanie GUI nastavení do východzích hodnôt\nKonfigurácia tunera a kanálov bez zmien +menu.hint_restore Obnova súborov z vybranej zálohy +menu.hint_rotor_swap Výmena umiestnenia motora výchd/západ \nv ovládaní motora +menu.hint_rounded_corners Kruhové vykreslovanie alebo zaoblené rohy okien +menu.hint_save_settings Uloženie všetkých nastavení do pamäte +menu.hint_saveas Uloženie GUI nastavení do súboru +menu.hint_scan_auto Prehľadanie vybraného satelitu +menu.hint_scan_autoall Prehľadanie niektorých vybraných satelitov +menu.hint_scan_autoall_select Pridá vybrané satelity do prehľadávania +menu.hint_scan_bouquet aktualizácia: pridá aktuálne bukety\nzmaž všetky:odstráni staré bukety, bez zmien: nepridá alebo nezmení +menu.hint_scan_cable Výber káblovej siete na prehľadanie +menu.hint_scan_cable_simple Káblové prehľadávanie s možnosťou\nčíslovania kanálov poskytovateľom +menu.hint_scan_commited Výber potvrdeného vstupu pre\ntento satelit +menu.hint_scan_diseqc Výber vstupu DiSEqC prepínača pre\ntento satelit +menu.hint_scan_diseqcorder Vykoná príkaz DiSEqC pre kaskádne prepínače +menu.hint_scan_diseqcrepeat DiSEqC opakovania pre kaskádne prepínače +menu.hint_scan_diseqctype Výber protokolu 'rozšírené' pre DiSEqC prepínač\n môžete použiť na nepotvrdené prepínače +menu.hint_scan_fast CanalDigitaal/TéléSAT/TV Vlaanderen vyhľadanie poskytovateľa\nPOZOR: nastavenie DiSEqC bude prepísané +menu.hint_scan_fastprov Výber poskytovateľa pre vyhľadávanie +menu.hint_scan_fasttype Výber typu rýchleho vyhľadávania +menu.hint_scan_fec Výber FEC transpondéra +menu.hint_scan_felink Výber tuneru pre vzájomné prepojenie +menu.hint_scan_femode Výber typu pripojeného tuneru +menu.hint_scan_fesetup Konfigurácia tuneru(ov) +menu.hint_scan_fetimeout Čas čakania na signál, v desatinách sekundy +menu.hint_scan_freq Zadanie kmitočtu transpondéra +menu.hint_scan_fta Pridá len Free-To-Air (nekódované) kanály +menu.hint_scan_ladirection Výber umiestnenia zemepisnej šírky +menu.hint_scan_latitude Zadanie vašej zemepisnej šírky +menu.hint_scan_lnbconfig Konfigurácia LNB parameterov pre tento satelit +menu.hint_scan_lodirection Výber umiestnenia zemepisnej dĺžky +menu.hint_scan_lofh Kmitočet oscilátora horného pásma LNB +menu.hint_scan_lofl Kmitočet oscilátora spodného pásma LNB +menu.hint_scan_lofs Kmitočet prepnutia pásma LNB +menu.hint_scan_logical Použije číslovanie predvolieb poskytovateľom +menu.hint_scan_logical_hd Ak je dostupná SD a HD verzia kanálu\nvloží HD na začiatok zoznamu +menu.hint_scan_longitude Zadanie vašej zemepisnej dĺžky +menu.hint_scan_manual Použije vybrané parametre na\nmanuálne prehľadanie transpondéra +menu.hint_scan_mod Výber modulácie transpondéra +menu.hint_scan_motor_18v Použije 18V pri pohybe motora +menu.hint_scan_motor_speed Rýchlosť pohybu motora v 1/10 stupňa\nza sekundu +menu.hint_scan_motorpos Výber čísla uloženej pozície pre\ntento satelit +menu.hint_scan_nid Vloženie network ID (dekadicky) +menu.hint_scan_nit Pridanie transpondérov zo sieťovej informácie +menu.hint_scan_pids Hľadanie a uloženie audio/video/PMT pidov +menu.hint_scan_pol Výber polarizácie transpondéra +menu.hint_scan_rate Zadanie symbolovej rýchlosti transpondéra +menu.hint_scan_reset_numbers Resetovanie existujúcich čísel kanálov\na prečíslovanie kanálov po vyhľadaní +menu.hint_scan_satadd Pridanie satelitov pre tento vstupný diel +menu.hint_scan_satellite Výber satelitu pre prehľadávanie +menu.hint_scan_satenable Použije satelit pre tento vstupný diel +menu.hint_scan_satfind Satelitný vyhľadávač: manuálny pohyb vášho motora\npre nastavenie uložených pozícií +menu.hint_scan_satfind_start Spustenie Satelitného vyhľadávača +menu.hint_scan_satscan Prehľadávanie vybraného satelitu +menu.hint_scan_satselect Výber satelitu +menu.hint_scan_satsetup Konfigurácia volieb satelitu +menu.hint_scan_savesettings Uloženie konfigurácie tunera a natavení prehľadania\nTaktiež uložiť, ak spustíte hľadanie služieb +menu.hint_scan_scantype Výber, aké typy kanálov hľadať +menu.hint_scan_setup_fe Konfigurácia volieb vybraného vstupného dielu +menu.hint_scan_start Spustenie hľadania. Môžete použiť 'EXIT' tlačítko na zastavenie +menu.hint_scan_test Otestovanie signálu z tohto transpondéra +menu.hint_scan_tpselect Výber transpondéra pre prehľadanie +menu.hint_scan_uncommited Výber nepotvrdeného vstupu pre\ntento satelit +menu.hint_scan_usals_repeat Opakuje príkazy pohybu motora USALS \nak si myslíte, že pohyb je nestabilný +menu.hint_scan_usalsall Nastavenie USALS označenia pre všetky satelity +menu.hint_scan_useusals Použije USALS pre\ntento satelit +menu.hint_scrambled_message Zobrazenie správy kódovania, pokiaľ kanál nebol dekódovaný +menu.hint_screen_setup Konfigurácia okrajov obrazu +menu.hint_screenshot_count Pokiaľ žiadny GUI na obrazovke, môže byť uložených 1-5\nsériových zosnímaní +menu.hint_screenshot_cover ZAP: Pokiaľ prehráva nahrávky, prepíše jedno\nzachytenie do zobrazenia v Prehliadači filmov +menu.hint_screenshot_dir Výber adresára pre uloženie zachyteného obrázku +menu.hint_screenshot_format Formát súboru pre uloženie zachyteného obrázku +menu.hint_screenshot_res Veľkosť zosnímania: veľkosť obrazového rozmeru aktuálneho kanála\nalebo veľkosť OSD (1280x720) +menu.hint_screenshot_scale Pre obraz+OSD zosnímanie, mierka z obrazového rozlíšenia +menu.hint_screenshot_setup Konfigurácia volieb zosnímania obrázku +menu.hint_screenshot_video Vrátane živého obrazu v zosnímanom obrázku +menu.hint_scripts Spustí zadanie +menu.hint_selected_back Zmena farby podkladu označenej položky +menu.hint_selected_text Zmena farby textu označenej položky +menu.hint_service Nastavenie tuneru, vyhľadanie služieb,\núprava buketov, aktualizácia software +menu.hint_service_scan Nastavenie tuneru, vyhľadanie služieb +menu.hint_settings Konfigurácia Neutrino-HD, sieť, zvuk, obraz, OSD a iné +menu.hint_show_mute_icon Zobrazenie ikony umlčania, ak nastavenie hlasitosťi bude 0 +menu.hint_shutdown Prepne váš príjmač do spánku\nBez potvrdzovania +menu.hint_shutdown_count Čas prepnutia príjmača do spánku\nz režimu pripravenosti +menu.hint_shutdown_rcdelay Použije režim spánku, ak tlačítko zapnutia\nje stlačené viac ako 1 sekundu +menu.hint_shutdown_real Použije režim pripravenosti\nAk sa nepoužije, tlačítko zapnutia prepne príjmač do spánku +menu.hint_sleeptimer Nastavenie časovača pre prechod vašeho príjmača\ndo režimu pripravenosti +menu.hint_soft_restart Reštartovanie Neutrino-HD bez rebootu +menu.hint_softupdate_check Kontrola dostupných aktualizácií, stiahnutie a naprogramovanie firmware +menu.hint_softupdate_check_local Výber a programovanie firmware z lokálneho súboru +menu.hint_softupdate_expert Oddelené partície z pamäte, čítanie/zapisovanie do pamäte +menu.hint_softupdate_expert_read Načítanie oddelených partícií z pamäte (U-Boot 512kB, Kernel 4MB, SystemFS 28MB) +menu.hint_softupdate_expert_write Zápis oddelených partícií do pamäte (U-Boot 512kB, Kernel 4MB, SystemFS 28MB, SystemFS+nastavenia) +menu.hint_softupdate_settings Adresár lokálnej aktualizácie a konfiguračný súbor pre nastavenie +menu.hint_start_tostandby Zostane v režime pripravenosti po spustení +menu.hint_streaminfo Aktuálna informácia kanála: pidy, signál a kvalita,\nBitrate graf +menu.hint_subchannel_pos Pozícia menu výberu sub-kanálov +menu.hint_sw_update Aktualizácia software +menu.hint_theme Výber prednastavených farebných vzhľadov\nUloženie alebo nahranie vzhľadu zo súborov +menu.hint_timeouts Konfigurácia času zmiznutia GUI okien\nv sekundách +menu.hint_timers Pridanie/Odstránenie/Upravenie plánovaného\nnahrávania, pripomienky atď. +menu.hint_timezone Výber časového pásma +menu.hint_tvmode Prepne príjmač do TV režimu +menu.hint_tvradio_switch Prepínanie medzi TV a Rádio režimom +menu.hint_vfd LED-ky predného panelu, VFD voľby +menu.hint_vfd_brightness Jas pri práci +menu.hint_vfd_brightness_setup Konfigurácia jasu zobrazovača predného panelu\npre rôzne režimy +menu.hint_vfd_brightnessdeepstandby Jas v režime spánku +menu.hint_vfd_brightnessdim Jas automatického stmavnutia +menu.hint_vfd_brightnessstandby Jas v režime pripravenosti +menu.hint_vfd_defaults Obnoví prednastavené hodnoty jasu +menu.hint_vfd_dimtime Čas automatického stmavnutia, v sekundách +menu.hint_vfd_infoline Vybrať si zobrazenie na hlavnom riadku VFD +menu.hint_vfd_statusline Vybrať si krátke zobrazenie na \nstavovom riadku VFD +menu.hint_video Obrazový výstup, rozlíšenie, formát\nPomer strán, voľby režimu rýchleho prepnutia +menu.hint_video_43mode Režim obrazovky pre 4:3 obsah na 16:9 TV +menu.hint_video_analog_mode Výber režimu analógového výstupu\npre SCART a CINCH konektory +menu.hint_video_brightness Zmena jasu obrázku +menu.hint_video_cinch_mode Výber režimu analógového výstupu pre\nkompozitný obrazový výstup +menu.hint_video_contrast Zmena kontrastu obrázku +menu.hint_video_dbdr MPEG2 rozšírené filtre +menu.hint_video_format Pomer TV obrazu +menu.hint_video_mode Obrazový režim HDMI výstupu +menu.hint_video_modes VF klávesa bude cyklovať medzi zvolenými režimami +menu.hint_video_pip Veľkosť a umiestneie obrazu v obraze +menu.hint_video_saturation Zmena farebnosti obrázku +menu.hint_video_scart_mode Výber režimu analógového výstupu pre SCART konektory +menu.hint_volume_digits Číselné zobrazenie ukazovateľa hlasitosti ZAP/VYP +menu.hint_volume_pos Výber pozície indikátora hlasitosti +menu.hint_zap_cycle Pri prepínaní kanálov zotrvať v aktuálnom bukete menu.next ďaľej (MENU ukončí) messagebox.back späť messagebox.cancel zruš @@ -643,44 +1122,74 @@ messagebox.no nie messagebox.ok ok messagebox.yes áno miscsettings.channellist Nastavenia zoznamu kanálov +miscsettings.channellist_colored_events Udalosť farebne miscsettings.channellist_epgtext_align Zarovnaj EPG text +miscsettings.colored_events_0 žiadny +miscsettings.colored_events_1 aktuálny +miscsettings.colored_events_2 nasledujúci +miscsettings.energy Energia miscsettings.epg_cache Zachytávanie EPG (dni) miscsettings.epg_cache_hint1 Ako dlho uchovávať dáta EPG v budúcnosti? miscsettings.epg_cache_hint2 Nastavenie v dňoch. miscsettings.epg_dir Adresár EPG -miscsettings.epg_extendedcache Podrobný popis programu (hodiny) +miscsettings.epg_extendedcache Podrobný popis udalosti (hodiny) miscsettings.epg_extendedcache_hint1 Ako dlho zachytávať rozšírený -miscsettings.epg_extendedcache_hint2 popis programu (nastavenie v hodinách) +miscsettings.epg_extendedcache_hint2 popis udalosti (nastavenie v hodinách) miscsettings.epg_head Nastavenia EPG -miscsettings.epg_max_events Maximum programov -miscsettings.epg_max_events_hint1 Koľko programov bude uložených? +miscsettings.epg_max_events Maximum udalostí +miscsettings.epg_max_events_hint1 Koľko udalostí bude uložených? miscsettings.epg_max_events_hint2 normálne 6000, 0 pre zrušenie limitu miscsettings.epg_old_events Odstráň neaktuálne EPG -miscsettings.epg_old_events_hint1 Ako dlho zapisovať dáta EPG po uplinutí doby? +miscsettings.epg_old_events_hint1 Ako dlho zapisovať dáta EPG po skončení? miscsettings.epg_old_events_hint2 Nastavenie v hodinách. miscsettings.epg_save Ulož/Obnov EPG po reštarte +miscsettings.epg_save_standby Ulož EPG pri soft standby miscsettings.general Hlavné nastavenia -miscsettings.head Iné nastavenia +miscsettings.head Rôzne nastavenia miscsettings.infobar Inforiadok miscsettings.infobar_casystem_display Zobrazenie CA-Systému miscsettings.infobar_casystem_mini CA mini miscsettings.infobar_casystem_mode CA mód +miscsettings.infobar_colored_events Farebné udalosti miscsettings.infobar_disp_0 bez Loga -miscsettings.infobar_disp_1 Logo 1 -miscsettings.infobar_disp_2 Logo 2 -miscsettings.infobar_disp_3 Logo 3 -miscsettings.infobar_disp_log Informačné okno +miscsettings.infobar_disp_1 Logo v číselnom boxe +miscsettings.infobar_disp_2 Logo+číslo kanála +miscsettings.infobar_disp_3 Logo+názov kanála+signál +miscsettings.infobar_disp_4 Logo+názov+číslo kanála +miscsettings.infobar_disp_5 Logo+signál +miscsettings.infobar_disp_6 Logo+číslo kanála+signál +miscsettings.infobar_disp_log len Logo +miscsettings.infobar_logo_hdd_dir Adresár loga miscsettings.infobar_sat_display Zobrazenie satelitu v stavovom riadku -miscsettings.infobar_show_var_hdd Zobrazenie zaplnenia (var a hdd) +miscsettings.infobar_show Zobraziť Info pri zmene EPG +miscsettings.infobar_show_dd_available Zobraziť DD ak je dostupné +miscsettings.infobar_show_res Zobraziť rozlišenie v stavovom riadku +miscsettings.infobar_show_res_simple jednoduché +miscsettings.infobar_show_sysfs_hdd Zaplnenie (sysFS & HDD) +miscsettings.infobar_show_tuner Zobraziť aktívny tuner +miscsettings.progressbar Ukazovateľ +miscsettings.progressbar_color Farba +miscsettings.progressbar_design Vzhľad +miscsettings.progressbar_design_0 body +miscsettings.progressbar_design_1 zvyslé pruhy +miscsettings.progressbar_design_2 vodorovné pruhy +miscsettings.progressbar_design_3 farebná škála +miscsettings.progressbar_infobar_position Pozícia +miscsettings.progressbar_infobar_position_0 štandartne +miscsettings.progressbar_infobar_position_1 pod názvom kanála +miscsettings.progressbar_infobar_position_2 úzky pod názvom kanála +miscsettings.progressbar_infobar_position_3 zúžený medzi EPG udalosťami +miscsettings.radiotext RádioText miscsettings.shutdown_count Vypnúť po -miscsettings.shutdown_count_hint1 Čas (v minútach) pre prepnutie zo stavu spánku +miscsettings.shutdown_count_hint1 Čas (v minútach) pre prepnutie zo stavu pripravenosti miscsettings.shutdown_count_hint2 do hlbokého spánku (0=vypnuté) -miscsettings.shutdown_real Umožnenie spánku +miscsettings.shutdown_real Umožnenie pripravenosti miscsettings.shutdown_real_rcdelay Oneskorenie vypnutia -miscsettings.virtual_zap_mode Virtuálne prepínanie +miscsettings.sleeptimer Čas vypnutia pri neaktivite +miscsettings.zapto_pre_time Korekcia času pred prepnutím (minuty) motorcontrol.calc_positions Prepočítaj pozície motorcontrol.disable_limit Vypni (soft) limity -motorcontrol.drive_mode mód pohybu +motorcontrol.drive_mode režim pohybu motorcontrol.drive_mode_auto Zastavenie pohybu Ručne/Auto motorcontrol.east_limit Nastav východný (soft) limit motorcontrol.enable_limit Zapni (soft) limity @@ -691,28 +1200,30 @@ motorcontrol.install_menu Inštalačné menu motorcontrol.motor_pos (a) Pozícia motora: motorcontrol.movement (b) Presun: motorcontrol.msec ms -motorcontrol.no_mode nepoužité +motorcontrol.no_mode nestará sa motorcontrol.notdef Nepoužité motorcontrol.override Nahradiť pozíciu určenú pre motorcontrol.pos_decrease Zníž pozíciu motora (a) motorcontrol.pos_increase Zvýš pozíciu motora (a) motorcontrol.ref_position Choď na referenčnú pozíciu -motorcontrol.sat_pos Pozícia satelitu (krokovací mód): +motorcontrol.sat_pos Pozícia satelitu (krokovací režim): motorcontrol.settings Nastavenia ovládania motora motorcontrol.status Stav motorcontrol.step_decrease Zníž veľkosť kroku (c) motorcontrol.step_drive Prepni spôsob Krok/Posuv (b) motorcontrol.step_east Krok/Posuv motora na Východ (b,c) motorcontrol.step_increase Zvýš veľkosť kroku (c) -motorcontrol.step_mode mód kroku +motorcontrol.step_mode režim kroku motorcontrol.step_size (c) Veľkosť kroku: motorcontrol.step_west Krok/Posuv motora na Západ (b,c) motorcontrol.stop_moving Zastav na signále (pohybovanie) motorcontrol.stop_stopped Zastav na signále (zastavenie) motorcontrol.store Ulož pozíciu motora (a) -motorcontrol.timed_mode čas pre mód kroku +motorcontrol.timed_mode čas pre režim kroku motorcontrol.user_menu Uživateľské menu motorcontrol.west_limit Nastav západný (soft) limit +moviebrowser.ask_rec_to_delete Vymazanie nahrávaných filmových stôp!\n[%s]\nSkutočne vykonať? +moviebrowser.book_add Pridať záložku moviebrowser.book_clear_all Vyčisti všetko moviebrowser.book_head Záložky moviebrowser.book_lastmoviestop Posledné prerušenie: @@ -729,11 +1240,12 @@ moviebrowser.browser_row_head Nastavenia riadku moviebrowser.browser_row_item Položka stĺpca moviebrowser.browser_row_nr Počet stĺpcov moviebrowser.browser_row_width Šírka stĺpca [%] +moviebrowser.delete_info Mazanie súborov, prosim čakajte... moviebrowser.dir Adresár moviebrowser.dir_head Doplnkové adresáre moviebrowser.edit_book Zmeň záložku moviebrowser.edit_book_name_info1 Zadanie nového názovu záložky -moviebrowser.edit_book_name_info2 názov knihy +moviebrowser.edit_book_name_info2 názov záložky moviebrowser.edit_book_pos_info1 Zadanie novej pozície moviebrowser.edit_book_pos_info2 ???? moviebrowser.edit_book_type_info1 Zadanie novej dĺžky skoku @@ -741,7 +1253,10 @@ moviebrowser.edit_book_type_info2 <0 vzad , >0 vpred, 0: nikde moviebrowser.edit_serie Zadanie názvu série moviebrowser.error_no_movies Nenájdené filmy moviebrowser.foot_filter Filtrovať: +moviebrowser.foot_focus Prepnúť okno +moviebrowser.foot_options Voľby moviebrowser.foot_play Štart filmu +moviebrowser.foot_refresh Obnoviť zoznam moviebrowser.foot_sort Triedenie: moviebrowser.head TS prehrávač filmov moviebrowser.head_filter Filtrovanie filmov podľa kategórie: @@ -830,11 +1345,11 @@ moviebrowser.use_movie_dir Použi adresár filmov moviebrowser.use_rec_dir Použi adresár nahrávania movieplayer.bookmark Záložky movieplayer.bookmarkname Názov záložky -movieplayer.bookmarkname_hint1 Vložienie názvu +movieplayer.bookmarkname_hint1 Vloženie názvu movieplayer.bookmarkname_hint2 novej záložky? -movieplayer.defplugin Štarovací PLUGIN +movieplayer.defplugin Spustenie doplnku movieplayer.fileplayback Súbor cez VLC -movieplayer.head Tvorenie filmov +movieplayer.head Prehrávač filmov movieplayer.toomanybookmarks Veľa záložiek.\nJe potrebné vymazať jednu najprv. movieplayer.tshelp1 Zastavenie movieplayer.tshelp10 asi 10 min dozadu @@ -848,20 +1363,26 @@ movieplayer.tshelp6 asi 1 min dozadu movieplayer.tshelp7 asi 1 min dopredu movieplayer.tshelp8 asi 5 min dozadu movieplayer.tshelp9 asi 5 min dopredu -movieplayer.tsplayback Prehrť TS +movieplayer.tsplayback Prehrať TS mpkey.audio Zvuková stpopa mpkey.bookmark Ulož záložku mpkey.forward Dopredu mpkey.pause Preruš mpkey.play Prehraj -mpkey.plugin Spusti PLUGIN +mpkey.plugin Spusti doplnok mpkey.rewind Dozadu mpkey.stop Zastav mpkey.time Zobrazenie času +networkmenu.apply_settings Zmeny sa aplikujú... +networkmenu.apply_settings_now Chcete teraz aplikovať zmeny? networkmenu.broadcast Vysielanie networkmenu.dhcp Prevzatie z DHCP +networkmenu.error_no_address Strata %s adresy! networkmenu.gateway Predvolená brána networkmenu.hostname Názov hostiteľa +networkmenu.hostname_hint1 vložiť hostitela +networkmenu.hostname_hint2 pre zmenu potrebný Reboot +networkmenu.inactive_network Sieť neaktívna! networkmenu.ipaddress Adresa IP networkmenu.mount NFS/CIFS/FTPFS networkmenu.nameserver DNS @@ -874,9 +1395,14 @@ networkmenu.ntpserver NTP server networkmenu.ntpserver_hint1 NTP server napr.: ntpl.ptb.de networkmenu.ntpserver_hint2 Potrebný reštart boxu alebo reštart EPG networkmenu.ntptitle Aktualizácia hodín +networkmenu.password Pre-Shared kľúč (PSK) +networkmenu.reset_settings_now Chcete obnoviť predchádzajúce nastavenia? +networkmenu.select_if Interface +networkmenu.services Sieťové služby networkmenu.setupnow Použi nastavenia siete networkmenu.setuponstartup Nastavenie siete pri štarte networkmenu.show Zobrazenie sieťového nastavenia +networkmenu.ssid Názov siete (SSID) networkmenu.test Otestovanie siete neutrino_starting Spustenie Neutrina... nfs.alreadymounted Adresár je už pripojený @@ -908,14 +1434,19 @@ nvodselector.head Výber času spustenia nvodselector.subservice Výber podkanálu options.default obnov predvolené options.fb FRAMEBUFFER +options.ntp_off DVB +options.ntp_on NTP options.null nič options.off nie options.on áno options.on.without_messages Bez správ options.serial SERIAL +parentallock.bouquetmode Predvolené bukety parentallock.changepin Zmena PIN kódu parentallock.changepin_hint1 Zadanie Vášho nového bezpečnostného PIN kódu! -parentallock.changetolocked zamknuté bukety +parentallock.changetolocked na zamknutie buketov +parentallock.defaultlocked zamknuté +parentallock.defaultunlocked odomknuté parentallock.head Zadanie bezpečnostného PIN kódu parentallock.lockage Blokovanie parentallock.lockage12 od 12 rokov @@ -927,6 +1458,39 @@ parentallock.never nikdy parentallock.onsignal pri zistení zámku parentallock.parentallock Rodičovský zámok parentallock.prompt Použitie PIN kódu +personalize.access Voľby prístupu +personalize.apply_settings Použiť zmeny? +personalize.button_auto auto +personalize.button_blue modrý +personalize.button_green zelený +personalize.button_red červený +personalize.button_yellow žltý +personalize.disabled Nepoužité +personalize.enabled Použité +personalize.head Osobné zohľadnenie +personalize.help Nápoveda +personalize.help_line1 Vytvorenie osobného zohľadnenia umožnuje prispôsobiť +personalize.help_line2 dôležité ponuky, ktoré používate. Ponuky +personalize.help_line3 môžu byť viditelné, skryté, použité, nepoužité +personalize.help_line4 alebo chránené PIN-om. +personalize.help_line5 Prístup k osobnému zohľadneniu môže byť chránený +personalize.help_line6 s PIN-om. PIN je totožný pre všetky chránené ponuky +personalize.help_line7 (neplatí pre vekové obmedzenie). +personalize.help_line8 Prednastavený PIN je: 0000 +personalize.menuconfiguration Konfigurácia menu +personalize.menudisabledhint Požadovaná ponuka je momentálne nepoužitá!\nPre aktiváciu prosímt otvorte ponuku 'Osobné zohľadnenie'\nnájdenú v ponuke 'Nastavenia'! +personalize.notprotected Nie +personalize.notvisible Skryté +personalize.pin PIN +personalize.pin_in_use PIN prístup pre personalizáciu nastavenia +personalize.pincode Osobný PIN +personalize.pinhint Zadanie osobného PIN kódu +personalize.pinprotect Áno +personalize.pinstatus vyžadujú PIN +personalize.plugins Doplnky +personalize.usermenu_preferred_buttons Priradenie preferovaných kláves +personalize.usermenu_show_cancel Zobraziť "Zrušiť" kláves +personalize.visible Viditeľné pictureviewer.defdir Východzí adresár pictureviewer.head Prehliadač obrázkov pictureviewer.help1 Spôsob menu @@ -941,16 +1505,19 @@ pictureviewer.help17 Pohyb doľava pictureviewer.help18 Pohyb doprava pictureviewer.help19 Pohyb nadol pictureviewer.help2 Zobrazenie obrázku -pictureviewer.help20 Zmena poradia triedenia -pictureviewer.help21 Znovunačítanie obrázku (bez orezania) -pictureviewer.help22 Ukončenie pictureviewer.help3 Zmena poradia triedenia +pictureviewer.help30 Mód audio prehrávača +pictureviewer.help31 Spustenia prehrávania +pictureviewer.help32 Pauzy prehrávania +pictureviewer.help33 Zastavenia prehrávania +pictureviewer.help34 Ďaľší titul +pictureviewer.help35 Predošlý titul pictureviewer.help4 Bez mierky obrázku -pictureviewer.help5 Spôsob DIASHOW +pictureviewer.help5 Mód DIASHOW pictureviewer.help6 Predchádzajúci obrázok pictureviewer.help7 Nasledujúci obrázok -pictureviewer.help8 Zmena poradia triedenia -pictureviewer.help9 Ukončenie +pictureviewer.help8 Ukončenie +pictureviewer.help9 Zobrazovací režim pictureviewer.resize.color_average rozšírené pictureviewer.resize.none žiadne pictureviewer.resize.simple jednoduché @@ -967,26 +1534,43 @@ ping.unreachable neodpovedal pinprotection.head Zadanie PIN kódu pinprotection.wrongcode Nespávny PIN kód! Skúste znova. plugins.hdd_dir Plugin adresár na HDD -plugins.result Výstup PLUGINu -progressbar.color Farba stavového riadku +plugins.result Výstup doplnku rclock.lockmsg Váš ovládač boxu bude zablokovaný.\n\nPre odblokovanie stlačte [ČERVENÝ] \na [MENU] na Vašom ovládači. rclock.menueadd Zamknutie DO rclock.title Zamknutie Diaľkového Ovládača rclock.unlockmsg Ovládač opäť funkčný. +recording.is_running Tento kanál sa nahráva. Spustiť nové nahrávanie? +recording.start Spustenie nahrávania, prosím čakajte...! +recording.stop Zastavenie nahrávania, prosím čakajte...! recordingmenu.apids Predvolené zvukové stopy recordingmenu.apids_ac3 Nahraj zvuk AC3 recordingmenu.apids_alt Nahraj ostatné zvukové stopy recordingmenu.apids_std Nahraj štandartný zvuk +recordingmenu.data_pids Dátové stopy recordingmenu.defdir Adresár nahrávania +recordingmenu.dvbsub_pids Nahraj titulky +recordingmenu.end_of_recording_epg EPG akt.udalosť +recordingmenu.end_of_recording_max max. čas nahrávania +recordingmenu.end_of_recording_name Konečný čas nahrávania recordingmenu.file disk (súbor) -recordingmenu.help Nahrávacie zariadenie:\n--------------------------------------\nserver:\npotrebný streamovaci SW na PC\n\(analóg) VCR:\npotrebný VCR (druhý SCART)\n\ndisk (súbor):\npotrebný pripojený sieťový NFS adresár\nalebo vnútorný HDD disk\nTS: použi SPTS mód(dBox2)\nPES: nepouži SPTS mód(dBox2)\n\n\nMaximálna veľkosť súboru:\n---------------------\nNFS V2: 2 GB (2048 MB)\nNFS V3: takmer nekonečné (0 MB)\nFAT: 2 GB (2048 MB)\nFAT32: 4 GB (4096 MB)\n\nPre NFS (UDP) sa doporučuje synchronizovaný zápis +recordingmenu.help Nahrávacie zariadenie:\n--------------------------------------\nserver:\npotrebný streamovaci SW na PC\n\(analóg) VCR:\npotrebný VCR (druhý SCART)\n\ndisk (súbor):\npotrebný pripojený sieťový NFS adresár\nalebo vnútorný HDD disk\nTS: použi SPTS režim(dBox2)\nPES: nepouži SPTS režim(dBox2)\n\n\nMaximálna veľkosť súboru:\n---------------------\nNFS V2: 2 GB (2048 MB)\nNFS V3: takmer nekonečné (0 MB)\nFAT: 2 GB (2048 MB)\nFAT32: 4 GB (4096 MB)\n\nPre NFS (UDP) sa doporučuje synchronizovaný zápis +recordingmenu.multimenu.ask_stop_all skutočne zastaviť všetky %d nahrávania? +recordingmenu.multimenu.info_stop_all %d z %d nahrávaní budú zastavené. +recordingmenu.multimenu.rec_akt nahrať aktuálny kanál +recordingmenu.multimenu.stop_all zastaviť všetky nahrávania +recordingmenu.multimenu.timeshift Časový posun recordingmenu.off vypnuté +recordingmenu.record_is_not_running Žiadne nahrávanie nebeží! +recordingmenu.record_is_running Nahrávanie beží! recordingmenu.save_in_channeldir Zapísanie do adresára kanálu recordingmenu.server server recordingmenu.server_mac Adresa MAC servera recordingmenu.setupnow Použi nastavenia -recordingmenu.tsdir Adresár časového posuvu +recordingmenu.slow_warn Použi pomalé nahrávacie upozornenie +recordingmenu.timeshift Časový posun +recordingmenu.tsdir Adresár časového posunu recordingmenu.vcr videomagnetofón +recordingmenu.vtxt_pid Nahraj teletext recordingmenu.zap_on_announce Informuj o zapnutí nahrávania recordtimer.announce Začatie nahrávania za pár minút. repeatblocker.hint_1 Doba spozdenia (ms) medzi dvoma stlačeniami klávesy @@ -994,9 +1578,12 @@ repeatblocker.hint_2 0 = vypnutie blokovania (červené tlačítko) reset_all Továrenské nastavenie reset_channels Zmazanie všetkych kanálov reset_confirm Skutočne? +reset_removed Zmazanie odstránených kanálov reset_settings Návrat k prednastavenému nastaveniu satsetup.auto_scan Automatické prehľadanie vybraného satelitu satsetup.auto_scan_all Automatické prehľadanie vybraných satelitov +satsetup.cable Káblové vyhľadávanie +satsetup.cable_nid Network ID satsetup.comm_input Potvrdený vstup satsetup.diseqc DiSEqC satsetup.diseqc10 DiSEqC 1.0 @@ -1005,6 +1592,7 @@ satsetup.diseqc12 DiSEqC 1.2 satsetup.diseqc_advanced Rozšírené satsetup.diseqc_com_uncom Potvrdený/Nepotvrdený satsetup.diseqc_input DiSEqC vstup +satsetup.diseqc_order Poradie DiSEqC príkazu satsetup.diseqc_uncom_com Nepotvrdený/Potvrdený satsetup.diseqcrepeat DiSEqC opakovania satsetup.extended Nastavenia DiSEqC @@ -1018,28 +1606,50 @@ satsetup.fastscan_prov_telesat TéléSAT satsetup.fastscan_prov_tvv TV Vlaanderen satsetup.fastscan_sd len SD satsetup.fastscan_type Typ prehľadania +satsetup.fe_mode Mód tuneru +satsetup.fe_mode_independent Nezávislý +satsetup.fe_mode_link_loop Prepojený +satsetup.fe_mode_link_twin Dvojitý +satsetup.fe_mode_master Hlavný +satsetup.fe_mode_unused Nepoužitý +satsetup.fe_setup Nastavenie tuneru satsetup.lofh LNB horné pásmo satsetup.lofl LNB spodné pásmo satsetup.lofs LNB prepnutie pásma +satsetup.logical_hd Preferovať HD kanály +satsetup.logical_numbers Použiť logické čísla satsetup.manual_scan Ručné prehľadávanie satsetup.minidiseqc Mini-DiSEqC satsetup.motor_pos Pozícia v motore satsetup.nodiseqc bez DiSEqC +satsetup.reset_numbers Resetovať čísla kanálu satsetup.sat_setup Nastavenia vstupov a LNB pre satelity satsetup.satellite Satelit +satsetup.select_sat Výber satelitov satsetup.smatvremote SMATV ladenie satsetup.uncomm_input Nepotvrdený vstup +satsetup.uni_settings Nastavenia Unicable +satsetup.unicable Unicable satsetup.usals_repeat Opakovanie USALS príkazu +satsetup.use_bat Použitie BAT satsetup.use_fta_flag Len nekódované satsetup.use_nit Použitie NIT satsetup.use_usals Použitie USALS +sc.empty Žiadna karta v čítačke +sc.init_failed Chyba inicializácie karty +sc.init_ok Inicializácia karty kompletná +sc.inserted Karta vložená do čítačky +sc.removed Karta odstránená z čítačky +sc.reset Reset karty +sc.timeout Vypršanie času menu karty +sc.waiting Čakanie na odpoveď karty scants.abort_body Skutočne prerušiť vyhľadávanie? scants.abort_header Prerušenie vyhľadávania scants.actcable Kábel: scants.actsatellite Satelit: scants.bouquet Bukety scants.bouquet_create vytvor nový -scants.bouquet_erase zmaz všetky +scants.bouquet_erase zmaž všetky scants.bouquet_leave bez zmien scants.bouquet_satellite Satelitný Buket scants.bouquet_update aktualizácia @@ -1049,9 +1659,11 @@ scants.finished Dokončené prehľadávanie transpondérov! scants.freqdata Kmitočet: scants.head Prehľadanie transpondéra scants.numberofdataservices Data -scants.numberofradioservices Radio +scants.numberofradioservices Rádio scants.numberoftotalservices Celkom scants.numberoftvservices TV +scants.preverences_receiving_system Preferencie +scants.preverences_scan Mód hľadania scants.provider Poskytovateľ: scants.select_tp Vyber transpondér scants.startnow Spusti prehľadávanie @@ -1060,12 +1672,23 @@ scants.transponders Transpondéry: scrambled_channel Kódovaný kanál screensetup.lowerright zelený = dolný, pravý okraj screensetup.upperleft červený = horný, ľavý oraj -servicemenu.getplugins Načítanie PLUGINov -servicemenu.getplugins_hint Načítavanie PLUGINov,\nprosím čakaj... +screenshot.count Počet +screenshot.cover Vytvor obálku pre prehliadač filmov +screenshot.defdir Umiestnenie adresára +screenshot.format Formát +screenshot.info Screenshot kláves nepoužitý +screenshot.menu Obrázok obrazovky +screenshot.osd OSD rozlíšenie +screenshot.res Rozlíšenie +screenshot.scale Pomer +screenshot.tv TV rozlíšenie +screenshot.video Obraz na pozadí +servicemenu.getplugins Načítanie doplnkov +servicemenu.getplugins_hint Načítavanie doplnkov,\nprosím čakaj... servicemenu.head Služby servicemenu.imageinfo Informácia o IMAGE servicemenu.reload Načítanie zoznamu kanálov -servicemenu.reload_hint Načítavania zoznamu kanálov,\nprosím čakaj... +servicemenu.reload_hint Načítavanie zoznamu kanálov,\nprosím čakaj... servicemenu.restart Reštart software servicemenu.restart_hint Reštartovanie, prosím čakaj... servicemenu.restart_refused_recording Neumožnené reštartovanie, prebieha nahrávanie @@ -1074,6 +1697,7 @@ servicemenu.update Aktualizácia software settings.backup Záloha nastavení settings.backup_failed Chybná záloha! settings.help Nápoveda +settings.menu_hints Zobrazí rady nápovedy settings.menu_pos Umiestnenie ponuky settings.missingoptionsconffile Nastavenia Neutrino boli aktualizované.\nNové možosti budú mať prednastavené hodnoty. settings.noconffile Nenájdené nastavenia Neutrino.\nPoužité budú prednastavené hodnoty. @@ -1090,7 +1714,9 @@ shutdowntimer.announce Vypnutie boxu za minútu.\nZrušiť vypnutie? sleeptimerbox.announce Do vypnutia ostáva minúta. sleeptimerbox.hint1 Čas do vypnutia v minútach (000=vypnuté) sleeptimerbox.hint2 Po uplinutí tohto času sa vypnem. +sleeptimerbox.hint3 Po uplinutí tohto času sa vypnem, ak sa nepoužije diaľkový ovládač sleeptimerbox.title Časovač vypnutia +sleeptimerbox.title2 Čas vypnutia pri neaktivite streaminfo.aratio Formát obrazu streaminfo.aratio_unknown Formát obrazu: neznámy streaminfo.audiotype Formát zvuku @@ -1104,20 +1730,23 @@ streaminfo.resolution Rolíšenie streaminfo.signal Parametre signálu streaming.busy Nahrávací proces aktívny.\nAk sa správa zobrazuje a nie je nič nahrávané,\nreštartujte Neutrino. streaming.dir_not_writable Do nahrávacieho adresára nie je možné nahrávať.\nNahrávanie nebude pracovať. +streaming.overflow Pretečenie buferu nahrávania, zvážte zastavenie niekterých nahrávaní +streaming.slow System/HDD je pomalý, zvážte zastavenie niekterých nahrávaní streaming.write_error Nahrávanie bolo prerušené\npretože vznikla chybu počas zapisovacieho procesu. stringinput.caps veľké/malé znaky stringinput.clear všetko zmaž subtitles.head Titulky subtitles.stop Vypnúť titulky -timer.eventrecord.msg ... Ukončené, alebo neukončené +timer.eventrecord.msg Udalosť je naplánovaná na nahrávanie.\nPre úpravu plánu otvorte časovač nahrávania. timer.eventrecord.title Plánovač nahrávania timer.eventtimed.msg Táto program je naplánovaný.\nBox bude zapnutý a \nprepnutý na tento kanál v stanovenom čase. -timer.eventtimed.title Plánovač programov +timer.eventtimed.title Plánovač udalostí timerbar.channelswitch prepni timerbar.recordevent nahraj timerlist.alarmtime Čas spustenia timerlist.apids PIDy zvuku timerlist.apids_dflt nahrávanie normálnych zvukových stôp +timerlist.ask_to_delete Zmazanie stôp časovača aktuálneho nahrávania!\nSkutočne vykonať? timerlist.bouquetselect Výber buketu timerlist.channel Kanál timerlist.channelselect Výber kanálu @@ -1125,14 +1754,14 @@ timerlist.delete zmaž timerlist.menumodify upravenie časovača timerlist.menunew nový plán timerlist.message Správa -timerlist.moderadio Radiové kanály +timerlist.moderadio Rádiové kanály timerlist.modeselect Výber typu timerlist.modetv Televízne kanály timerlist.modify uprav timerlist.name Časovač timerlist.new nový plán timerlist.overlapping_timer Konflikt časovača. Vytvoriť plán aj tak? -timerlist.plugin PLUGIN +timerlist.plugin Doplnky timerlist.program.unknown Neznámy program timerlist.recording_dir Adresár nahrávania timerlist.reload obnov @@ -1162,7 +1791,7 @@ timerlist.standby.off zo stavu pripravenosti timerlist.standby.on do stavu pripravenosti timerlist.stoptime Čas vypnutia timerlist.type Typ časovača -timerlist.type.execplugin spustenie PLUGINu +timerlist.type.execplugin spustenie doplnku timerlist.type.nextprogram Nasledujúci program timerlist.type.record nahrávanie timerlist.type.remind pripomenutie @@ -1187,8 +1816,13 @@ timing.filebrowser Prehliadač súborov timing.hint_1 Čas zobrazenia OSD timing.hint_2 na obrazovke TV (v sekundách) timing.infobar Stavový riadok +timing.infobar_movieplayer Stavový riadok (filmový mód) +timing.infobar_radio Stavový riadok (rádio mód) timing.menu Menu timing.numericzap Prepínanie číslami +unicable.lnb Vstup Unicable +unicable.qrg Kmitočet Unicable +unicable.scr SCR Unicable upnpbrowser.head UPnP prehliadač upnpbrowser.noservers Nenájdený UPnP server upnpbrowser.rescan Znova hľadať @@ -1202,40 +1836,50 @@ usermenu.item_bar --- Lemovanie --- usermenu.item_epg_misc Funkcie EPG usermenu.item_none Nič usermenu.item_vtxt Teletext +usermenu.msg_info_is_empty Nenadefinovaný názov pre toto menu!\nPoužije sa prednastavený názov:\n +usermenu.msg_warning_name Máte viac ako jednu položku vytvorené pro toto menu,\nale žiadny definovaný nový názov pro toto menu.\nDoporučujem vytvoriť nový názov! +usermenu.msg_warning_no_items Nedefinované žiadne položky!\nZresetovaný názov menu! usermenu.name Názov -video_mode_ok Video mód pracuje správne? +video_mode_ok Video režim pracuje správne? videomenu.43mode Zobrazenie formátu 4:3 +videomenu.analog_auto AUTO +videomenu.analog_cvbs CVBS +videomenu.analog_hd_rgb RGB (HD) videomenu.analog_hd_rgb_cinch RGB na CINCH (HD) videomenu.analog_hd_rgb_scart RGB na SCART (HD) +videomenu.analog_hd_yprpb YPbPr (HD) videomenu.analog_hd_yprpb_cinch YPbPr na CINCH (HD) videomenu.analog_hd_yprpb_scart YPbPr na SCART (HD) videomenu.analog_mode Analógový výstup +videomenu.analog_sd_rgb RGB (SD) videomenu.analog_sd_rgb_cinch RGB na CINCH (SD) videomenu.analog_sd_rgb_scart RGB na SCART (SD) +videomenu.analog_sd_yprpb YPbPr (SD) videomenu.analog_sd_yprpb_cinch YPbPr na CINCH (SD) videomenu.analog_sd_yprpb_scart YPbPr na SCART (SD) videomenu.auto Automaticky videomenu.brightness Jas videomenu.cinch CINCH videomenu.contrast Kontrast -videomenu.csync korekcia synchronizácie videomenu.dbdr MPEG2 deblock/dering videomenu.dbdr_both deblock+dering videomenu.dbdr_deblock deblock videomenu.dbdr_none nič -videomenu.enabled_modes Nastavenie módov pre VF klávesu +videomenu.enabled_modes Nastavenie režimov pre VF klávesu videomenu.fullscreen Celý obraz videomenu.hdmi_cec Uživateľské ovládanie (HDMI-CEC) videomenu.hdmi_cec_mode Mód HDMI-CEC videomenu.hdmi_cec_mode_off vyp videomenu.hdmi_cec_mode_recorder ako Rekordér videomenu.hdmi_cec_mode_tuner ako Tuner -videomenu.hdmi_cec_standby Použiť CEC v pohotovosti +videomenu.hdmi_cec_standby Použiť CEC v pripravenosti videomenu.hdmi_cec_view_on Použiť CEC pri sledovaní videomenu.hue Nasýtenie videomenu.letterbox Letterbox videomenu.panscan Pan&Scan videomenu.panscan2 14:9 Pan&Scan +videomenu.pip PiP nastavenie +videomenu.pip_error Chybné spustenie PiP videomenu.saturation Farebnosť videomenu.scart SCART videomenu.screensetup Nastavenie zobrazenia OSD @@ -1248,12 +1892,20 @@ videomenu.videoformat Formát obrazu videomenu.videoformat_149 14:9 videomenu.videoformat_169 16:9 videomenu.videoformat_43 4:3 -videomenu.videomode Obrazový mód +videomenu.videomode Obrazový režim +wizard.initial_settings Najdené ininicializačné nastavenia +wizard.install_settings Chcete inštalovať kanály pre Astra 19.2°E? wizard.welcome_head Vitajte v Sprievodcovi nastavenia wizard.welcome_text Ďaľšie kroky prevedú základnú inštaláciu tohto zariadenia.\nChceš pokračovať?\nBlahoželáme k zakúpeniu CST. Nasledujúce \nkroky ťa prevedú počiatočnou inštaláciou nastavenia prístroja.\nPrajeme ti veľa radosti s týmto príjmačom!\nĎaľší krok ? +word.from z zapit.scantype Vyhľadávanie kanálov zapit.scantype.all všetkých -zapit.scantype.radio len Radio +zapit.scantype.radio len Rádio zapit.scantype.tv len TV -zapit.scantype.tvradio TV a Radio +zapit.scantype.tvradio TV a Rádio +zapitsetup.head Nastavenia kanála spustenia +zapitsetup.info Kanál pri spustení +zapitsetup.last_radio Rádiový kanál +zapitsetup.last_tv TV kanál +zapitsetup.last_use posledný sledovaný kanál zaptotimer.announce Minúta do zmeny kanálu. From 0ce4f9d0d8dade0e36e8fc4cb8bc4ef61ccd70ac Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Wed, 1 May 2013 11:47:10 +0200 Subject: [PATCH 29/62] update encoding.conf by EnoSat --- data/encoding.conf | 118 ++++++++++++++++++++++++++++----------------- 1 file changed, 75 insertions(+), 43 deletions(-) diff --git a/data/encoding.conf b/data/encoding.conf index 074ec7593..495ae7277 100644 --- a/data/encoding.conf +++ b/data/encoding.conf @@ -5,28 +5,36 @@ gre ISO8859-7 pol ISO8859-2 rus ISO8859-5 bul ISO8859-5 -cn ISO3166-2 +cn ISO3166-2 #Table of transponder using two byte char mappings (VideoTexSuppl) #TSID ONID 0x441 0x1 ISO6937 # RTL 0x443 0x1 ISO6937 # Eurosport / RTL Austria # -0x447 0x1 #ASTRA 19.2 UPC Direct -0x427 0x1 #ASTRA 19.2 UPC Direct -0x44b 0x1 #ASTRA 19.2 UPC Direct -0x4ff 0x1 #ASTRA 19.2 UPC Direct -0x407 0x1 #ASTRA 19.2 UPC Direct -0x436 0x1 #ASTRA 19.2 MTV Euro - MTV Networks -0x42a 0x1 #ASTRA 19.2 VH1 Classic - MTV Networks -0xc23 0x3 #ASTRA 23.5 CzechLink -0xc93 0x3 #ASTRA 23.5 CzechLink -0xc95 0x3 #ASTRA 23.5 CzechLink -0xc8b 0x3 #ASTRA 23.5 CzechLink -0xc89 0x3 #ASTRA 23.5 CzechLink -0xbc7 0x3 #ASTRA 23.5 CzechLink -0xc8f 0x3 #ASTRA 23.5 CzechLink -0xc85 0x3 #ASTRA 23.5 CzechLink -0xbc6 0x3 #ASTRA 23.5 CzechLink +#0x447 0x1 #ASTRA 19.2 UPC Direct +#0x427 0x1 #ASTRA 19.2 UPC Direct +#0x44b 0x1 #ASTRA 19.2 UPC Direct +#0x4ff 0x1 #ASTRA 19.2 UPC Direct +#0x407 0x1 #ASTRA 19.2 UPC Direct +#0x436 0x1 #ASTRA 19.2 MTV Euro - MTV Networks +#0x42a 0x1 #ASTRA 19.2 VH1 Classic - MTV Networks +# +#0xc23 0x3 #ASTRA 23.5 CzechLink 10803H +#0xbc7 0x3 #ASTRA 23.5 CzechLink 12565H +#0xc8b 0x3 #ASTRA 23.5 CzechLink 11914H +#0xc8f 0x3 #ASTRA 23.5 CzechLink 11992H +0xbc6 0x3 #ASTRA 23.5 12525V skylink +0xc85 0x3 #ASTRA 23.5 11797H skylink +0xc87 0x3 #ASTRA 23.5 11836H skylink* +0xc88 0x3 #ASTRA 23.5 11856V skylink* +0xc89 0x3 #ASTRA 23.5 11876H skylink +0xc8a 0x3 #ASTRA 23.5 11895V skylink +0xc8c 0x3 #ASTRA 23.5 11934V skylink* +0xc8e 0x3 #ASTRA 23.5 11973V skylink* +0xc93 0x3 #ASTRA 23.5 12070H skylink +0xc95 0x3 #ASTRA 23.5 12109H skylink +0xc98 0x3 #ASTRA 23.5 12168V skylink* +0xc9a 0x3 #ASTRA 23.5 12207V skylink* #TSID ONID 0x1 0x601 #UPC Cable Hungary 0x2 0x601 #UPC Cable Hungary @@ -43,22 +51,38 @@ cn ISO3166-2 0xd 0x601 #UPC Cable Hungary 0xe 0x601 #UPC Cable Hungary 0xf 0x601 #UPC Cable Hungary -# UPC Direct Thor 1.0W -0x2b2 0x600 -0x2bd 0x600 -0x2be 0x600 -0x2bf 0x600 -0x2c0 0x600 -0x2c1 0x600 -0x2c2 0x600 -0x2c3 0x600 -0x2c4 0x600 -0x2c5 0x600 -0x2c6 0x600 -0x2e 0x46 -0x1 0x1111 -0x2 0x1111 -0x3 0x1111 +# freesat +0x2bd 0x600 # freesat 0.8W 11727 V +0x2be 0x600 # freesat 0.8W 11766 V +0x2bf 0x600 # freesat 0.8W 11804 V +0x2c0 0x600 # freesat 0.8W 11996 V +0x2c1 0x600 # freesat 0.8W 12034 V +0x2c2 0x600 # freesat 0.8W 12073 V +0x2c3 0x600 # freesat 0.8W 11938 H +0x2c4 0x600 # freesat 0.8W 12188 V +0x2c5 0x600 # freesat 0.8W 12265 V +0x2c6 0x600 # freesat 0.8W 11843 V +0x2c8 0x600 # freesat 0.8W 12111 V +0x26 0x46 # freesat 0.8W 11785 H +0x29 0x46 # freesat 0.8W 12015 H +0x1b 0x2c0 # freesat 0.8W 12226 V +0x5 0x1111 # freesat 0.8W 11747 H +0x7 0x1111 # freesat 0.8W 11976 H +0x65 0x1771 # freesat 0.8W 12380 V +# DigiTV +0x1 0x1 ISO8859-2 # DigiTV 0.8W 12687 H +0x2 0x1 ISO8859-2 # DigiTV 0.8W 12723 H +0x3 0x1 ISO8859-2 # DigiTV 0.8W 12643 H +0x4 0x1 ISO8859-2 # DigiTV 0.8W 12527 H +0x5 0x1 ISO8859-2 # DigiTV 0.8W 12563 H +0x6 0x1 ISO8859-2 # DigiTV 0.8W 12643 V +0x7 0x1 ISO8859-2 # DigiTV 0.8W 12607 H +0x8 0x1 ISO8859-2 # DigiTV 0.8W 12687 V +0x9 0x1 ISO8859-2 # DigiTV 0.8W 12607 V +0xa 0x1 ISO8859-2 # DigiTV 0.8W 12563 V +0xb 0x1 ISO8859-2 # DigiTV 0.8W 12718 V +0xc 0x1 ISO8859-2 # DigiTV 0.8W 11900 H +# Cyfra+ 200 318 #Hotbird Eutelsat (Eurosport) 300 318 #Hotbird Eutelsat (Eurosport, Animal Pl.HD) 400 318 #Hotbird 13.0 Cyfra+ @@ -83,13 +107,21 @@ cn ISO3166-2 13200 113 #Hotbird 13.0 Cyfrowy Polsat #Fallback encoding table for following transponders #TSID ONID ISO8859-X -#0x447 0x1 ISO8859-9 -50100 126 ISO8859-9 # Digiturk 7E 11.471 V 30.000 3/4 -50200 126 ISO8859-9 # Digiturk 7E 11.492 V 30.000 3/4 -50300 126 ISO8859-9 # Digiturk 7E 11.639 H 30.000 3/4 -50400 126 ISO8859-9 # Digiturk 7E 11.534 V 30.000 3/4 -50600 126 ISO8859-9 # Digiturk 7E 11.575 V and 42E 11.729 V 15.555 5/6 -50700 126 ISO8859-9 # Digiturk 7E 11.596 H 30.000 3/4 -50800 126 ISO8859-9 # Digiturk 7E 11.678 H 30.000 3/4 -50900 126 ISO8859-9 # Digiturk 7E 11.513 H 27.500 3/4 -51000 126 ISO8859-9 # Digiturk 7E 11.617 V 30.000 3/4 +0x4fb0 0x7e ISO8859-9 # Digiturk 7E 10762 V +0x5014 0x7e ISO8859-9 # Digiturk 7E 10803 H +0x5078 0x7e ISO8859-9 # Digiturk 7E 10804 V +0x5140 0x7e ISO8859-9 # Digiturk 7E 10845 V +0x51a4 0x7e ISO8859-9 # Digiturk 7E 10886 H +0x5208 0x7e ISO8859-9 # Digiturk 7E 10928 H +0x526c 0x7e ISO8859-9 # Digiturk 7E 10887 V +0x52d0 0x7e ISO8859-9 # Digiturk 7E 10928 V +0xa0f0 0x7e ISO8859-9 # Digiturk 7E 11455 V +0xc3b4 0x7e ISO8859-9 # Digiturk 7E 11471 H +0xc418 0x7e ISO8859-9 # Digiturk 7E 11492 V +0xc47c 0x7e ISO8859-9 # Digiturk 7E 11637 H +0xc4e0 0x7e ISO8859-9 # Digiturk 7E 11534 V +0xc5a8 0x7e ISO8859-9 # Digiturk 7E 11575 V and 42E 11729 V +0xc60c 0x7e ISO8859-9 # Digiturk 7E 11595 H +0xc670 0x7e ISO8859-9 # Digiturk 7E 11679 H +0xc6d4 0x7e ISO8859-9 # Digiturk 7E 11513 H +0xc738 0x7e ISO8859-9 # Digiturk 7E 11617 V From 39e31da8f14bfd024a34a25c52ee948472da62cd Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Wed, 1 May 2013 11:50:39 +0200 Subject: [PATCH 30/62] nhttpd: -add Slovak language by EnoSat --- src/nhttpd/web/languages/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nhttpd/web/languages/Makefile.am b/src/nhttpd/web/languages/Makefile.am index 69930d8ad..ed32f57d3 100644 --- a/src/nhttpd/web/languages/Makefile.am +++ b/src/nhttpd/web/languages/Makefile.am @@ -1,4 +1,4 @@ installdir = $(DATADIR)/neutrino/httpd/languages -install_DATA = Deutsch English Portuguese +install_DATA = Deutsch English Portuguese Slovak From 81efa46265ef77552904c56d7b9423d1209ca4ac Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Wed, 1 May 2013 11:52:24 +0200 Subject: [PATCH 31/62] nhttpd: -add Slovak language by EnoSat --- src/nhttpd/web/languages/Slovak | 536 ++++++++++++++++++++++++++++++++ 1 file changed, 536 insertions(+) create mode 100644 src/nhttpd/web/languages/Slovak diff --git a/src/nhttpd/web/languages/Slovak b/src/nhttpd/web/languages/Slovak new file mode 100644 index 000000000..501032626 --- /dev/null +++ b/src/nhttpd/web/languages/Slovak @@ -0,0 +1,536 @@ +# yWeb language file (Slovensky) by EnoSat +# language version: 1.1 +# $Date: 2013-04-30 22:22:22 +0100 (Ut, 30 Apríla 2013) $ +# $Revision: 212 $ +#========= Hlavné / Celkové nastavenie +global.no_iframes=Váš prehliadač nepodporuje I-rámce. +clear=vyčistiť +submit=Odoslať +action=Akcia +user=Uživateľ +password=Heslo +language=Jazyk +general=Základné +logos=Logá +url=URL +server=Server +refreshing=obnovovanie ... +refresh=obnoviť +record=nahrávanie +zap=prepnúť +lookup=nazrieť +save_values_desc=odoslať a uložiť hodnoty +save_values=Ukladanie hodnôt ... +save=uložiť +save_all=uložiť všetko +administration=Administrácia +normal=Normal +management=Manžment +uninstaller=Odinštalovanie +send=poslať +cancel=zrušiť +answer=Odpoveď +reboot=reBoot +shutdown=vypnutie +status=Stav +restart=reŠtart +on=áno +off=nie +download=Stiahnuť +back=späť +date=dátum +from=od +to=do +program=program +others=Iné +description=popis +color=Farba +tag=Udalosť +empty=Prázdna +check=overiť +help=Nápoveda +attention=Upozornenie! +directory=Adresár +filename=Názov súboru +restriced_by_management_ip=obmedzené Manažmentom-IP + +#======== Hlavná ponuka +main.boxcontrol=Ovládanie zariadenia +main.boxcontrol_desc=Ovládanie zariadenia a Obľúbené +main.live=Naživo +main.live_desc=Živá TV, Synchronizácia časovača & Nastavenia +main.tools=Nástroje +main.tools_desc=Pripojenia, WOL, Rozšírené nástroje +main.settings=Nastavenia +main.settings_desc=Nastavenia zariadenia, Prehliadač, Doplnky ... +main.extensions=Rozšírenia +main.extensions_desc=Uživatelské rozšírenia ... +main.info=Informácia +main.info_desc=Informácia o yWeb, Aktualizácie +main.live_tv_desc=Živá TV +main.live_tv_popup_desc=Okno Živá TV +main.remote_full_desc=Diaľkové ovládanie a OSD +main.stream_to_vlc_client_desc=Stream do VLC klienta +main.version=Verzia + +#========= Ponuka ovládania boxu +bc.menue.bouquets_desc=Prepínanie kanálov +bc.menue.bouquets=Obľúbené +bc.menue.control_desc=funkcie ovládania zariadenia (reBoot , Diaľkové ovládanie, SPTS, ...) +bc.menue.control=Ovládanie +bc.menue.messages_desc=poslať Správu do zariadenia +bc.menue.messages=Správy +bc.menue.remote_desc=Webovský Diaľkový ovládač +bc.menue.remote=Ovládač +bc.menue.lcd_screenshot_desc=vytvorí obrázok OSD zobrazenia v mierke +bc.menue.lcd_screenshot=Zosnímanie OSD obrazovky +bc.menue.lcd_screenshot_desc_ni=lcshot nie je inštalovaný v /bin alebo /var/bin +bc.menue.screenshot=Zosnímanie TV obrazovky +bc.menue.screenshot_desc=vytvorí obrázok z osd a/alebo TV bez mierky + +bc.menue.decrease_volume=znížiť hlasitosť +bc.menue.increase_volume=zvýšiť hlasitosť +bc.menue.mute_volume=umlčať hlasitosť +bc.menue.switch_to_tv=prepnúť do TV +bc.menue.switch_to_radio=prepnúť do Rádio +bc.menue.webinf_slavebox=Webinterface pre podriadené zariadenie +bc.menue.volumen_display=zobrazenie hlasitosti + +#========= Ovládanie +bc.control.freemem=Voľná pamäť +bc.control.lock=zamknuté +bc.control.unlock=odomknuté +bc.control.standby_mode=režim pripravenosti +bc.control.recording_mode=režim nahrávania +bc.control.box=box +bc.control.remote=ovládač +bc.control.playback=režim prehrávania +bc.control.epg_sectiond=EPG Sekcia +bc.control.live_lock=naživo zamknuté +bc.control.reboot.ask=Skutočne reštartovať zariadenie? +bc.control.reboot=reBoot +bc.control.shutdown.ask=Skutočne vypnúť zariadenie? +bc.control.shutdown=vypnúť +bc.control.status=stav +bc.control.restart=reŠtart + +========= Ovládanie - Správa +bc.msg.message_to_screen_desc=vložte správu pre poslanie na TV obrazovku +bc.msg.message_to_screen=Správu na obrazovku +bc.msg.popup_to_screen=Správu do okna +bc.msg.send_message=poslať správu + +======== Ovládanie - Zosnímanie obrazu obrazovky +bc.screenshot.create=Zosnímať obrazovku +bc.screenshot.delete=Vymazať obrazovku +bc.screenshot.zoom=Zoomovať obrazovku +bc.screenshot.wait_text=Vytváram obrázok obrazovky +bc.screenshot.checkenable=OSD a/alebo TV musí byť použitý! + +========= Ovládanie - Iné +bc.channels=Kanály + +====== Rozšírenia +ext.installer_updater=Inštalácia/Aktualizácia +ext.uninstaller=Odinštalovať rozšírenia +ext.search_for_ext=Vyhľadávanie rozšírení ... +ext.installed_extensions=Inštalované rozšírenia +ext.type=Typ +ext.extension=Rozšírenie +ext.tag=Udalosť +ext.version=Verzia +ext.size=Veľkosť +ext.uninstall=Odinštalovať +ext.info=Informácia +ext.free=Voľné +ext.action=Akcia +ext.status=Stav +ext.preview=Nastavenia nového rozšírenia (prehľad) +ext.update_preview=Prehľad zoznamu aktualizácií +ext.your=Vaša +ext.update=Aktuálna +ext.update_install=aktualizovať/inštalovať +ext.site=Stránka +ext.refresh_now=Nastavenia uložené. Teraz obnovte Menu. +ext.ext_saved=Nastavenia rozšírení uložené + +====== Obľúbené +bou.bouquet=Obľúbené +bou.bouquets_must_be_saved=Všetky Obľúbené musia byť uložené! +bou.bouquet_editor=Úprava obľúbených +bou.bouquet_add=pridať obľúbené +bou.name_of_bouquet=Názov pre obľúbené +bou.rename_bouquet=Premenovať obľúbené +bou.move_up=presun nahor +bou.move_down=presun nadol +bou.remove=odstrániť +bou.delete=vymazať +bou.add=pridať +bou.rename=premenovať +bou.bouqets_saved=Obľúbené uložené +bou.delete1=Skutočne vymazať obľúbené? +bou.delete2= +bou.no_bouquet_name=Nezadaný názov obľúbených + +======= EPG +epg.get_epg=načítavanie EPG ... +epg.epg_plus=EPG Plus +epg.select_bouquet=výber obľúbených - kanály budú aktualizované +epg.hover_for_details=Presun ukazovateľa na stanicu pre získanie podrobností +epg.refresh=obnovovanie EPG +epg.past_hours=predchádzajúce hodiny +epg.next_hours=nasledujúce hodiny +epg.set_timer=Nastavenie časovaca. Vykonané. +epg.zap_to=Prepnutie na kanál. Vykonané. + +======= EPG Streaminfo +epg.si.streaminfo=Informácie streamu +epg.si.resolution=Rozlíšenie +epg.si.ratio=Pomer strán +epg.si.fps=Snímok za sekundu +epg.si.audiotype=Druh zvuku +epg.si.frequence=Kmitočet +epg.si.onid=Originálny sieťový ID (ONID) +epg.si.sid=Služba ID (SID) +epg.si.tsid=Transpondér stream ID (TID) +epg.si.vpid=Obrazový PID +epg.si.apid=Zvukový PID +epg.si.vtxtpid=TeleText PID +epg.si.crypt=Kodovací systém + +======= Nastavenia +set.reload_neutrino=reŠtart Neutrina +set.reboot_required=Nutný reBoot +set.sync_with_neutrino_desc=Po zmenách nastavení cez yWeb:
Vybrať na TV "Hlavné Menu-> Služby-> Reštart software", pre prijatie zmien vnútri neutrína.
Po zmenách nastavení vnútri Neutrina:
Vybrať na TV "Hlavné Menu-> Nastavenia-> Uloženie nastavenia", pre použitie týchto zmien a znovu načítať túto stránku. +set.sync_with_neutrino=Synchronizovať s Neutrinom + +====== Hlavné nastavenia a Ponuka +set.menue.webserver=Webserver +set.menue.timer_settings=Nastavenie tvinfo.de +set.menue.zapit=Prepínanie +set.menue.backup_restore=Záloha a Obnova +set.menue.bouquet_editor=Úprava obľúbených +set.menue.video_audio=Obraz/Zvuk +set.menue.parental=Rodičovská kontrola +set.menue.direct_recording=Priame nahrávanie +set.menue.recording=Nahrávanie +set.menue.audio_player=Prehrávač hudby +set.menue.esound_server=Server Esound +set.menue.movieplayer=Prehrávač filmov +set.menue.pictureviewer=Prehliadač obrázkov +set.menue.lcd_display=LCD zobrazovač +set.menue.key_settings=Nákres kľúča +set.menue.boot_options=Voľby zavádzania +set.menue.peronalization=Osobné zohľadnenie +set.menue.plugins=Doplnky +set.menue.others=Ostatné +======= Nastavenie nahrávania v Neutrine +set.rec.rec_dest=Umiestnenie nahrávok +set.rec.device=Nahrávacie zariadenie +set.rec.recmode=Nastavenie režimu nahrávania +set.rec.server=Server +set.rec.recorder=Nahrávanie na videorekordér +set.rec.file=Súbor +set.rec.recserver_ip=IP serveru nahrávania +set.rec.recserver_port=Port serveru nahrávania +set.rec.recserver_wol=WOL serveru nahrávania +set.rec.mac_adress=MAC adresa +set.rec.rec_behavior=Spravovanie nahrávania +set.rec.stop_playback=Zastavenie prehrávania +set.rec.epg_sectionsd_desc=nastavenie nahrávania podľa EPG +set.rec.epg_sectionsd=EPG (Čiastkove) +set.rec.dont_stop=nezastavovať +set.rec.stop=zastaviť +set.rec.restart=reŠtart +set.rec.zap=Oznámenie prepnutia +set.rec.scart=Predchádzať prepnutiu Scartu +set.rec.spts=Nahrávanie v SPTS režime +set.rec.timer_settings=Nastavenia korekcií časovača +set.rec.start_delay=Korekcia štartu nahrávania (sekundy) +set.rec.stop_delay=Korekcia ukončenia nahrávania (sekundy) +set.rec.zap_delay=Korekcia zapnutia prevoľby (sekundy) +set.rec.audio_channels=Zvukové stopy +set.rec.audio_standard=Štandartný kanál nahrávania zvuku +set.rec.audio_alternate=Voliteľný kanál módu nahrávania zvuku +set.rec.audio_ac3=Nahrávanie DolbyDigital (AC3) zvuku +set.rec.channeldir=Uložiť v adresáry kanála +set.rec.epg_end=Nahrávanie až do konca EPG +set.rec.recordtime=Čas nahrávania v hodinách +set.rec.timeshift_desc=Časový posun (Timeshift) +set.rec.timeshift.pause=Spustenie klávesou PAUSE +set.rec.timeshift.auto_record=Automatické nahrávanie (v sek, 0=deaktivované) +set.rec.timeshift.auto_delete=Automatické vymazanie časového posunu +set.rec.timeshift.tmp_timeshift=Dočasný časový posun + +======= Nastavenia Movieplayera v Neutrine +set.mp.sources=Voľba zdroja +set.mp.streamingserver_ip=IP Stream servera +set.mp.streamingserver_port=Port Stream servera +set.mp.streamingserver=Streamovací server +set.mp.dvd_device=DVD zariadenie +set.mp.vlc_dir=Adresár (VLC) +set.mp.transcoding=Transkódovanie +set.mp.video_datarate=Dátová rýchlosť obrazu +set.mp.transcode=Transkódovať +set.mp.video_codec=MPEG obrazový kodek +set.mp.resolution=Rozlíšenie +set.mp.audio_datarate=Dátová rýchlosť zvuku +set.mp.transcode_audio=Transkódovanie zvuku (dvd/vcd/mpg) +set.mp.force_ac3=Ako AC3 pre AVI +set.mp.player=Prehrávač +set.mp.start_directory=Štartovací adresár +set.mp.only_movieplayer=Iba prehrávač filmov +set.mp.used_buffer=Použi buffer (WabberQueue) +set.mp.number_buffersegments=Čislo segmentu buffera +set.mp.picture_in_browser=TV obrázok v prehliadači + +======= Rodičovské nastavenia v Neutrine +set.parental.activate=Aktivácia +set.parental.type.never=Nikdy +set.parental.type.bouquet=Obľubené +set.parental.type.preset=Preddefinovanné +set.parental.minimum_age=Minimálny vek +set.parental.pin=PIN + +======= Nastavenia NHTTP +set.nhttpd.webserver=Webserver +set.nhttpd.authentication=Autorizácia +set.nhttpd.client_without_authentication_desc=Klient bez kontroly autorizácie. Vloženie IP. +set.nhttpd.client_without_authentication=Klient bez autorizácie +set.nhttpd.active_after_boot=aktívne po nabootovaní +set.nhttpd.port=Vydávateľ +set.nhttpd.threading=Prepojené +set.nhttpd.alternate_web_folder=Alternatívny web-adresár +set.nhttpd.allowed_file_extensions=Povolené prípony súboru / MIME +set.nhttpd.allow_all_file_extensions=Povoliť všetky prípony súboru +set.nhttpd.url_of_logos_desc=Vloženie adresára s logami staníc +set.nhttpd.url_of_logos=Adresár s logami staníc +set.nhttpd.server=Server +set.nhttpd.ips_without_keep_alive_desc=(napr. JtG Server, oddelené s COMMAS) +set.nhttpd.ips_without_keep_alive=IP s No keep-alive +set.nhttpd.cache=Cache +set.nhttpd.cache_info=Informácia o Cache +set.nhttpd.clear_cache=vyčistiť cache +set.nhttpd.server_configuration=Konfigurácia servera +set.nhttpd.check_password=Heslo na potvrdenie , minimum 4 písmena +set.nhttpd.check_port=Port je potrebný + +========= Nastavenie yWeb +set.yweb.enter_ip_desc=zadanie IP (xxx.xxx.xxx.xxx) +set.yweb.enter_mac_desc=zadanie MAC adresy (xx:xx:xx:xx:xx:xx) +set.yweb.description=Popis +set.yweb.enter_description_desc=vloženie popisu +set.yweb.management_IPs=Manažovateľné IP +set.yweb.wake_on_lan=Prebudiť na sieti +set.yweb.box_tag_desc=Pomenovanie zariadenia vo vrchnom menu. +set.yweb.box_tag=Názov zariadenia +set.yweb.box_color_desc=Farba názvu zariadenia vo vrchnom menu. napr. vložte 2188e0 bez # +set.yweb.box_color=Farba +set.yweb.start_page=Štartovacia stránka +set.yweb.remote=Ovládač + +======== Nastavenie prehliadača obrázkov +set.pv.pictureviewer=Prehliadač obrázkov +set.pv.scale=Zobrazenie +set.pv.scale.none=Žiadne +set.pv.scale.simple=Jednoduché +set.pv.scale.complex=Kompletné +set.pv.slideshow_duration=Čas prezentácie +set.pv.start_dir=Štartovací adresár +set.pv.decoding_server_ip=IP do Servera -dekodovača +set.pv.decoding_server_port=Port Servera -dekodovača + +======== Nastavenie prehrávača hudby +set.ap.audioplayer=Prehrávač hudby +set.ap.display_order.actor_title=Umelec , Titul +set.ap.display_order.title_actor=Titul, Umelec +set.ap.display_order=Zobrazenie +set.ap.select_actual_track=Voľba stopy +set.ap.search_by_name=Hľadanie podľa názvu +set.ap.repeat_mode=Režim opakovania +set.ap.show_playlist=Zobrazenie zoznamu +set.ap.screensaver=Obrazový setrič (min, 0=vypnute ) +set.ap.decode_priority=Vyššia priorita dekódovania +set.ap.start_dir=Štartovací adresár +set.ap.parse_shoutcast=Shoutcast Meta-Dáta + +======= Nastavenia časovača +set.timer.header=Nastavenie časovača tvinfo.de +set.timer.username=Uživateľ +set.timer.password=Heslo +set.timer.klack.url_desc=("&" bude prevedené do ";" na uloženie) +set.timer.klack.url=Osobný RSS TV-Plánovač URL +set.timer.klack.security_code_desc=váš "klack" bezpečnostný kód dostane vaše dáta bez prihlásenia +set.timer.klack.security_code=Bezpečnostný kód +set.timer.channel_name_replacelist=Názov kanálu výmenného zoznamu + +======= Nastavenia Zálohy/Obnovenia +set.settings.backup=Záloha +set.settings.backup_desc=Zálohovanie vaších nastavení +set.settings.restore=Obnova +set.settings.restore_desc=Nahranie a obnova vaších nastavení. Váš STB bude rebootnutý. +set.settings.warning=Záloha a Obnovenie je možné len pre ten istý Image s rovnakou úrovňou vývoja. + +============ Nástroje Info +tools.info.show_messages=Správy kernelu +tools.info.processes=Procesy +tools.info.memory=Pamäť +tools.info.cpu_info=Informácia o CPU +tools.info.mem_info=Informácia o pamäti +tools.info.partitions=Informácia o partíciach +tools.info.mtd=mtd +tools.info.stat=Stav +tools.info.version=Verzia + +============ Nástroje yInstaller +tools.yinstaller.no_file_given=Nevybraný súbor ! +tools.yinstaller.space.mtd=Celková kapacita +tools.yinstaller.space.used= Použitá +tools.yinstaller.space.free= Voľná +tools.yinstaller.space.percentage= Použitá v percentách +tools.yinstaller.not_determine=Nedá sa určiť voľná kapacita. +tools.yinstaller.head=yInstaller +tools.yinstaller.tar_file=tar-súbor +tools.yinstaller.upload_install=nahrať a inštalovať + +============ Nástroje +tools.automount_desc=spravovanie automaticky pripojených súborov +tools.automount=Automatické pripojenia +tools.mounts_desc=spravovanie pripojených súborov +tools.mounts=Pripojenia +tools.wake_on_lan=Prebudiť na sieti +tools.check_install=Overenie inštalácie +tools.expert=Rozšírené +tools.image_desc=záloha alebo programovanie pamäte +tools.image=Image +tools.command_shell=Príkazy Shell-u +tools.not_installed=Nenainštalované +tools.cmd_shell.output_desc=automatický posun (len IE) +tools.path=Cesta +tools.command=Príkaz +tools.cmd.enter_command=vloženie príkazu pre vykonanie +tools.cmd.execute_command=vykonanie operačného príkazu +tools.boot_logo=Bootovacie logo + +=========== Ponuka ŽIVÁ TV +live.heading=ŽIVÁ TV / Časovač +live.live=ŽIVÁ TV +live.tv_popup_desc=ŽIVÁ TV (okno) +live.tv=TV +live.radio_popup_desc=ŽIVÉ Radio (okno) +live.radio=Rádio +live.double_view=Dvojnásobná veľkosť +live.timer=Časovač +live.epg=EPG +live.epg_plus_popup_desc=EPG+ (okno) +live.epg_plus=EPG Plus +live.timer_sync=Synchronizácia časovača + +=========== ŽIVÉ TV/Rádio +live.get_stream_info=Získavanie
informácii streamovania. +live.getting_bouquets=Získavanie obľúbených .... +live.getting_channels=Získavanie kanálov ... +live.select_resolution=Výber rozlíšenia +live.change_channel=Zmena kanála +live.view_epg=Pozri EPG pre vybraný kanál +live.reload=Aktualizuj kanály +live.getting_subchannels=Choď na subkanály... +live.mute=Zapni/Vypni hlasitosť +live.stop=Zastaviť streamovanie +live.play_or_pause=Prehrať alebo pozastaviť streamovanie +live.lower_volume=Znížiť hlasitosť +live.higher_volume=Zvýšiť hlasitosť +live.fullscreen=Prepnutie na celu obrazovku dvojklikom +live.lock_unlock=Zamknúť/odomknúť TV (mód nahravania, rc, lcd) +live.toggle_udp=UDP Streamovanie Zap/Vyp +live.settings=Nastavenia ŽiváTV +live.snapshot=Urobiť snímku obrazovky +live.record=Nahrávací režim +live.transcode=Transkódovací režim +live.build_vlc=...vstavané riadenie vlc ... +live.select_bouquet=Výber buketu (kanály budú aktualizované) +live.select_channel=Výber kanála (použije na prepnutie) +live.live_popup_msg=V móde Live-View nie je prepínanie kanálov priamo ovládané cez Web, Box - diaľkove ovládanie +live.unlock=odblokovanie RC (diaľkové ovládanie) + +=========== Nahrávanie cez ŽIVÚ Tv +live.rec.record_mode=Režim nahrávania +live.rec.filename=Názov súboru +live.rec.display_on=Zapnúť zobrazenie +live.rec.transcoding_on=Zapnúť transkódovanie +live.rec.record=Spustiť nahrávanie +live.rec.stop_record=Zastaviť nahrávanie +live.rec.tanscode=Transkódovanie nahrávania +live.rec.profile=Profily +live.rec.video=Obraz +live.rec.width=Šírka +live.rec.height=Výška +live.rec.codec=Kodek +live.rec.bitrate=Bitrate +live.rec.scale=Mierka +live.rec.audio=Zvuk +live.rec.channels=Kanály +live.rec.trans_broadcast=Transkódované vysielanie +live.rec.access=Prístup +live.rec.type=Typ +live.rec.ip_port=IP:Port + +=========== Nastavenia ŽIVÁ TV +live.set.vlc_settings=Nastavenia VLC(IE & Mozilla >= 0.8.6.1) +live.set.deinterlace=Deinterlace +live.set.http_caching=Vyrovnávacia pamäť http +live.set.udp_defaul=Prednastaviť UDP port +live.set.slavebox_ip=IP druhého Boxu(2. dbox) +live.set.enter_ip=vložiť IP (xxx.xxx.xxx.xxx) druhého Boxu +live.set.vlc_rec_dir=VLC nahrávací adresár +live.set.refresh_liveview=Obnoviť ŽiváTV + +=========== ŽIVÉ Timer Edit +live.timer_edit.timer=Úprava časovača +live.timer_edit.times=Časy +live.timer_edit.alarm_date=Nastavená doba spustenia +live.timer_edit.time=čas +live.timer_edit.stop_date=Nastavená doba zastavenia +live.timer_edit.repeat=Opakovanie +live.timer_edit.repeat1=opakovanie [0-bez obmedzenia] +live.timer_edit.weekdays.format=(Pon-Ned, X=Timer) +live.timer_edit.weekdays=Týždenne +live.timer_edit.values=Hodnoty +live.timer_edit.channel=Kanál +live.timer_edit.apids=Audio pidy +live.timer_edit.apids.default=Prednastavené +live.timer_edit.apids.standard=Štandartné +live.timer_edit.apids.alt=Alternativné +live.timer_edit.apids.ac3=AC3 +live.timer_edit.standby=Režim spánku +live.timer_edit.plugin=Doplnok +live.timer_edit.rec_dir=Adresár nahrávania +live.timer_edit.description=Popis + +=========== LIVE Timer Sync +live.timer-sync.get_timer=Načítať časovač. +live.timer-sync.header=Synchronizácia TVInfo časovača +live.timer-sync.timer_source=Zdroj časovača +live.timer-sync.rec_dir=Nahrávací adresár +live.timer-sync.settings=Nastavenia +live.timer-sync.debugging=Debugovanie +live.timer-sync.get_selected=načítanie vybraných +live.timer-sync.clear_all=zmazať všetko +live.timer-sync.timer_preview=Prehľadový zoznam časovača +live.timer-sync.start_time=Čas začiatku +live.timer-sync.end_time=Čas konca +live.timer-sync.channel=Kanál +live.timer-sync.programm=Program +live.timer-sync.source=Zdroj +live.timer-sync.set_timer=nastav časovač +live.timer-sync.clear_log=vyčisti log +live.timer-sync.log=Log +live.timer-sync.action=Akcia +live.timer-sync.status=Stav + +========== INFO +info.help=Pomoc +info.About=O programe +info.check_for_updates=Kontrola aktualizácie +info.your_version=Vaša inštalovaná verzia +info.actual_version=Aktuálna verzia From 1396896dd1f5914eaa9c4eaaf06fefe00be4a4e5 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Wed, 1 May 2013 22:00:03 +0200 Subject: [PATCH 32/62] CTimerManager:: don't set wekup flag if box boot from zapto timer --- src/neutrino.cpp | 2 +- src/timerd/timermanager.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 0958ec7c3..134614dac 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -1820,7 +1820,7 @@ TIMER_START(); //timer start bool timer_wakeup = false; wake_up( timer_wakeup ); - pthread_create (&timer_thread, NULL, timerd_main_thread, (void *) timer_wakeup); + pthread_create (&timer_thread, NULL, timerd_main_thread, (void *) (timer_wakeup && g_settings.shutdown_timer_record_type)); timerd_thread_started = true; init_cec_setting = true; diff --git a/src/timerd/timermanager.cpp b/src/timerd/timermanager.cpp index 3d77889d6..3b11dfdec 100644 --- a/src/timerd/timermanager.cpp +++ b/src/timerd/timermanager.cpp @@ -61,6 +61,7 @@ void CTimerManager::Init(void) eventServer = new CEventServer; m_saveEvents = false; m_isTimeSet = false; + timer_is_rec = false; wakeup = 0; loadRecordingSafety(); @@ -706,6 +707,8 @@ bool CTimerManager::shutdown() dprintf("shutdown: nextAnnounceTime %ld\n", nextAnnounceTime); if ( event->eventType == CTimerd::TIMER_RECORD ) timer_is_rec = true; + else + timer_is_rec = false; } } } From 26edf137bd11bd13b3b36e1a906f8d67b63834f5 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Thu, 2 May 2013 20:13:17 +0200 Subject: [PATCH 33/62] src/gui/epgview.cpp:use paintBackgroundBoxRel only for hide --- src/gui/epgview.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/epgview.cpp b/src/gui/epgview.cpp index c7f28069f..7a8e7084f 100644 --- a/src/gui/epgview.cpp +++ b/src/gui/epgview.cpp @@ -1114,11 +1114,11 @@ void CEpgData::showTimerEventBar (bool pshow) frameBuffer->getIconSize(NEUTRINO_ICON_BUTTON_RED, &icol_w, &icol_h); h = std::max(fh, icol_h+4); - frameBuffer->paintBackgroundBoxRel(sx,y,ox,h); // hide only? - if (! pshow) + if (! pshow){ + frameBuffer->paintBackgroundBoxRel(sx,y,ox,h); return; - + } frameBuffer->paintBoxRel(sx,y,ox,h, COL_INFOBAR_SHADOW_PLUS_1, RADIUS_LARGE, CORNER_BOTTOM);//round /* 2 * ICON_LARGE_WIDTH for potential 16:9 and DD icons */ From fd54a2aeced1d6dbcbb7484a34861bfcaa19fd10 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Fri, 3 May 2013 15:35:05 +0200 Subject: [PATCH 34/62] src/gui/cam_menu.cpp: use enableSaveScreen --- src/gui/cam_menu.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/cam_menu.cpp b/src/gui/cam_menu.cpp index 23ca51949..a537be267 100644 --- a/src/gui/cam_menu.cpp +++ b/src/gui/cam_menu.cpp @@ -315,6 +315,7 @@ int CCAMMenuHandler::handleCamMsg (const neutrino_msg_t msg, neutrino_msg_data_t int selected = -1; if(pMenu->choice_nb) { CMenuWidget* menu = new CMenuWidget(convertDVBUTF8(pMenu->title, strlen(pMenu->title), 0).c_str(), NEUTRINO_ICON_SETTINGS); + menu->enableSaveScreen(true); CMenuSelectorTarget * selector = new CMenuSelectorTarget(&selected); int slen = strlen(pMenu->subtitle); From 3fb97b59c1b9dbad56474693019eba23f5bf9b50 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Fri, 3 May 2013 18:42:35 +0200 Subject: [PATCH 35/62] src/gui/channellist.cpp: skip paint BG for item if firstpaint --- src/gui/channellist.cpp | 13 ++++++++----- src/gui/channellist.h | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index 65f6654eb..483b6eb38 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -1811,7 +1811,7 @@ void CChannelList::paintButtonBar(bool is_current) ::paintButtons(x, y_foot, full_width, bcnt, Button, full_width, footerHeight); } -void CChannelList::paintItem(int pos) +void CChannelList::paintItem(int pos, const bool firstpaint) { int ypos = y+ theight + pos*fheight; uint8_t color; @@ -1820,7 +1820,7 @@ void CChannelList::paintItem(int pos) bool paintbuttons = false; unsigned int curr = liststart + pos; int rec_mode; - + fb_pixel_t c_rad_small = 0; #if 0 if(CNeutrinoApp::getInstance()->recordingstatus && !autoshift && curr < chanlist.size()) { iscurrent = (chanlist[curr]->channel_id >> 16) == (rec_channel_id >> 16); @@ -1835,12 +1835,15 @@ void CChannelList::paintItem(int pos) bgcolor = COL_MENUCONTENTSELECTED_PLUS_0; paintItem2DetailsLine (pos); paintDetails(curr); - frameBuffer->paintBoxRel(x,ypos, width- 15, fheight, bgcolor, RADIUS_LARGE); + c_rad_small = RADIUS_LARGE; paintbuttons = true; } else { color = iscurrent ? COL_MENUCONTENT : COL_MENUCONTENTINACTIVE; bgcolor = iscurrent ? COL_MENUCONTENT_PLUS_0 : COL_MENUCONTENTINACTIVE_PLUS_0; - frameBuffer->paintBoxRel(x,ypos, width- 15, fheight, bgcolor, 0); + } + + if(!firstpaint || (curr == selected)){ + frameBuffer->paintBoxRel(x,ypos, width- 15, fheight, bgcolor, c_rad_small); } if(curr < chanlist.size()) { @@ -2103,7 +2106,7 @@ void CChannelList::paint() frameBuffer->paintBoxRel(x+width,y+theight,infozone_width,pig_height+infozone_height,COL_MENUCONTENT_PLUS_0); for(unsigned int count = 0; count < listmaxshow; count++) { - paintItem(count); + paintItem(count, true); } const int ypos = y+ theight; const int sb = height - theight - footerHeight; // paint scrollbar over full height of main box diff --git a/src/gui/channellist.h b/src/gui/channellist.h index 0b2b64f1b..e0cd4cf35 100644 --- a/src/gui/channellist.h +++ b/src/gui/channellist.h @@ -100,7 +100,7 @@ private: void paintDetails(int index); void clearItem2DetailsLine (); void paintItem2DetailsLine (int pos); - void paintItem(int pos); + void paintItem(int pos,const bool firstpaint = false); bool updateSelection(int newpos); void paint(); void paintHead(); From 9e49b7cd885068feea48f9c885548523f7708554 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Sat, 4 May 2013 12:18:21 +0200 Subject: [PATCH 36/62] * CNeutrinoEventList: Skip unnecessary drawing of the background --- src/gui/eventlist.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gui/eventlist.cpp b/src/gui/eventlist.cpp index 185938308..bdee9d829 100644 --- a/src/gui/eventlist.cpp +++ b/src/gui/eventlist.cpp @@ -685,9 +685,7 @@ void CNeutrinoEventList::paintItem(unsigned int pos, t_channel_id channel_idI) uint8_t color; fb_pixel_t bgcolor; int ypos = y+ theight+0 + pos*fheight; - std::string datetime1_str, datetime2_str, duration_str; unsigned int curpos = liststart + pos; - const char * icontype = 0; if(RADIUS_LARGE) frameBuffer->paintBoxRel(x, ypos, width- 15, fheight, COL_MENUCONTENT_PLUS_0, 0); @@ -708,10 +706,12 @@ void CNeutrinoEventList::paintItem(unsigned int pos, t_channel_id channel_idI) bgcolor = COL_MENUCONTENT_PLUS_0; } - frameBuffer->paintBoxRel(x, ypos, width- 15, fheight, bgcolor, RADIUS_LARGE); + if (!RADIUS_LARGE || (curpos==selected && RADIUS_LARGE) || (curpos==current_event && RADIUS_LARGE)) + frameBuffer->paintBoxRel(x, ypos, width- 15, fheight, bgcolor, RADIUS_LARGE); if(curpos Date: Fri, 19 Apr 2013 14:49:23 +0200 Subject: [PATCH 37/62] * dvbsubtitle: Fix segfault in destructor --- lib/libdvbsub/dvbsubtitle.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/libdvbsub/dvbsubtitle.cpp b/lib/libdvbsub/dvbsubtitle.cpp index d3384ccf7..26134b02d 100644 --- a/lib/libdvbsub/dvbsubtitle.cpp +++ b/lib/libdvbsub/dvbsubtitle.cpp @@ -200,8 +200,11 @@ cDvbSubtitleConverter::cDvbSubtitleConverter(void) cDvbSubtitleConverter::~cDvbSubtitleConverter() { - avcodec_close(avctx); - av_free(avctx); + if (avctx) { + avcodec_close(avctx); + av_free(avctx); + avctx = NULL; + } delete bitmaps; } From a03eb3d7324f81716ff42021a3b3964c005c91b3 Mon Sep 17 00:00:00 2001 From: Michael Liebmann Date: Sun, 5 May 2013 14:05:02 +0200 Subject: [PATCH 38/62] * CFrameBuffer::paintBoxRel(): Correct debug message if dx or dy are 0 --- src/driver/framebuffer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/driver/framebuffer.cpp b/src/driver/framebuffer.cpp index a14964dd9..c6442d60f 100644 --- a/src/driver/framebuffer.cpp +++ b/src/driver/framebuffer.cpp @@ -638,7 +638,7 @@ void CFrameBuffer::paintBoxRel(const int x, const int y, const int dx, const int return; if (dx == 0 || dy == 0) { - printf("paintBoxRel: radius %d, start x %d y %d end x %d y %d\n", radius, x, y, x+dx, x+dy); + printf("paintBoxRel: radius %d, start x %d y %d end x %d y %d\n", radius, x, y, x+dx, y+dy); return; } #if defined(FB_HW_ACCELERATION) From 634f2f01b69a59eb630dbe8743d34562651e6c18 Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Thu, 9 May 2013 16:32:11 +0200 Subject: [PATCH 39/62] CChannelList::show() call hide only once --- src/gui/channellist.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index 483b6eb38..75ac32630 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -595,6 +595,7 @@ int CChannelList::show() bool bouquet_changed = false; bool loop=true; + bool dont_hide = false; while (loop) { g_RCInput->getMsgAbsoluteTimeout(&msg, &data, &timeoutEnd, true); if ( msg <= CRCInput::RC_MaxRC ) @@ -762,6 +763,7 @@ int CChannelList::show() res = bouquetList->showChannelList(); loop = false; } + dont_hide = true; } } else if ( msg == CRCInput::RC_ok ) { @@ -919,10 +921,10 @@ int CChannelList::show() if (bouquet_changed) res = -5; /* in neutrino.cpp: -5 == "don't change bouquet after adding a channel to fav" */ - - hide(); - - fader.Stop(); + if(!dont_hide){ + hide(); + fader.Stop(); + } if (bShowBouquetList) { res = bouquetList->exec(true); From 5af55b4092ed156fc1c20ef71b7a912c71c182e0 Mon Sep 17 00:00:00 2001 From: svenhoefer Date: Fri, 10 May 2013 10:31:46 +0200 Subject: [PATCH 40/62] - framebuffer: add possibility to force small windows --- src/driver/framebuffer.cpp | 20 +++++++++++++++----- src/driver/framebuffer.h | 5 +++-- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/driver/framebuffer.cpp b/src/driver/framebuffer.cpp index c6442d60f..3d5d47fc1 100644 --- a/src/driver/framebuffer.cpp +++ b/src/driver/framebuffer.cpp @@ -430,15 +430,25 @@ unsigned int CFrameBuffer::getScreenHeight(bool real) return g_settings.screen_EndY - g_settings.screen_StartY; } -unsigned int CFrameBuffer::getScreenWidthRel() +unsigned int CFrameBuffer::getScreenPercentRel(bool force_small) { - // always reduce a possible detailline - return (g_settings.screen_EndX - g_settings.screen_StartX - 2*ConnectLineBox_Width) * (g_settings.big_windows ? 100 : NON_BIG_WINDOWS) / 100; + int percent = 100; + if (force_small || !g_settings.big_windows) + percent = NON_BIG_WINDOWS; + return percent; } -unsigned int CFrameBuffer::getScreenHeightRel() +unsigned int CFrameBuffer::getScreenWidthRel(bool force_small) { - return (g_settings.screen_EndY - g_settings.screen_StartY) * (g_settings.big_windows ? 100 : NON_BIG_WINDOWS) / 100; + int percent = getScreenPercentRel(force_small); + // always reduce a possible detailline + return (g_settings.screen_EndX - g_settings.screen_StartX - 2*ConnectLineBox_Width) * percent / 100; +} + +unsigned int CFrameBuffer::getScreenHeightRel(bool force_small) +{ + int percent = getScreenPercentRel(force_small); + return (g_settings.screen_EndY - g_settings.screen_StartY) * percent / 100; } unsigned int CFrameBuffer::getScreenX() diff --git a/src/driver/framebuffer.h b/src/driver/framebuffer.h index e1f79e119..058425963 100644 --- a/src/driver/framebuffer.h +++ b/src/driver/framebuffer.h @@ -146,8 +146,9 @@ class CFrameBuffer unsigned int getStride() const; // size of a single line in the framebuffer (in bytes) unsigned int getScreenWidth(bool real = false); unsigned int getScreenHeight(bool real = false); - unsigned int getScreenWidthRel(); - unsigned int getScreenHeightRel(); + unsigned int getScreenPercentRel(bool force_small); + unsigned int getScreenWidthRel(bool force_small = false); + unsigned int getScreenHeightRel(bool force_small = false); unsigned int getScreenX(); unsigned int getScreenY(); From fc5d09983385491ad77d7e724bffe518590d5ab7 Mon Sep 17 00:00:00 2001 From: svenhoefer Date: Fri, 10 May 2013 10:33:23 +0200 Subject: [PATCH 41/62] - epgview: depend window size on font size --- src/gui/epgview.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/epgview.cpp b/src/gui/epgview.cpp index 7a8e7084f..97f11c965 100644 --- a/src/gui/epgview.cpp +++ b/src/gui/epgview.cpp @@ -117,8 +117,8 @@ CEpgData::CEpgData() void CEpgData::start() { - ox = frameBuffer->getScreenWidthRel(); - oy = frameBuffer->getScreenHeightRel(); + ox = frameBuffer->getScreenWidthRel(bigFonts ? false /* big */ : true /* small */); + oy = frameBuffer->getScreenHeightRel(bigFonts ? false /* big */ : true /* small */); topheight = g_Font[SNeutrinoSettings::FONT_TYPE_EPG_TITLE]->getHeight(); topboxheight = topheight + 6; From 8cd93f64f1756fa634e57fa79120f30ced26e49a Mon Sep 17 00:00:00 2001 From: Jacek Jendrzej Date: Fri, 10 May 2013 11:28:22 +0200 Subject: [PATCH 42/62] CNeutrinoEventList::exec call hide only once Conflicts: src/gui/eventlist.cpp --- src/gui/eventlist.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/gui/eventlist.cpp b/src/gui/eventlist.cpp index bdee9d829..9487992af 100644 --- a/src/gui/eventlist.cpp +++ b/src/gui/eventlist.cpp @@ -300,11 +300,11 @@ int CNeutrinoEventList::exec(const t_channel_id channel_id, const std::string& c } UpdateTimerList(); + bool dont_hide = false; if(channelname_prev.empty(), channelname_next.empty()){ paintHead(channel_id, channelname); }else{ paintHead(channelname, channelname_prev, channelname_next); - } paint(channel_id); showFunctionBar(true, channel_id); @@ -576,6 +576,7 @@ int CNeutrinoEventList::exec(const t_channel_id channel_id, const std::string& c } } loop = false; + dont_hide = true; exec(_channel_id, current_channel_name, prev_channel_name, next_channel_name); } else if (msg == CRCInput::RC_0) { @@ -651,8 +652,10 @@ int CNeutrinoEventList::exec(const t_channel_id channel_id, const std::string& c } } - hide(); - fader.Stop(); + if(!dont_hide){ + hide(); + fader.Stop(); + } return res; } From 34a87975a0f1654936d085c0918bf8c80cff1881 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Wed, 15 May 2013 09:29:29 +0400 Subject: [PATCH 43/62] gui/audio_setup.cpp: add 'heavy' srs algo on apollo --- data/locale/english.locale | 1 + src/gui/audio_setup.cpp | 9 ++++++++- src/system/locals.h | 1 + src/system/locals_intern.h | 1 + 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/data/locale/english.locale b/data/locale/english.locale index 6474ff886..bf6dc58f3 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -98,6 +98,7 @@ GENRE.TRAVEL_HOBBIES.7 gardening GENRE.UNKNOWN unknown apidselector.head Select language audio.srs_algo Type +audio.srs_algo_heavy Light audio.srs_algo_light Light audio.srs_algo_normal Normal audio.srs_iq SRS TruVolume algo diff --git a/src/gui/audio_setup.cpp b/src/gui/audio_setup.cpp index ec407188b..e35724472 100644 --- a/src/gui/audio_setup.cpp +++ b/src/gui/audio_setup.cpp @@ -87,11 +87,18 @@ const CMenuOptionChooser::keyval AUDIOMENU_ANALOGOUT_OPTIONS[AUDIOMENU_ANALOGOUT { 2, LOCALE_AUDIOMENU_MONORIGHT } }; +#ifdef BOXMODEL_APOLLO +#define AUDIOMENU_SRS_OPTION_COUNT 3 +#else #define AUDIOMENU_SRS_OPTION_COUNT 2 +#endif const CMenuOptionChooser::keyval AUDIOMENU_SRS_OPTIONS[AUDIOMENU_SRS_OPTION_COUNT] = { { 0 , LOCALE_AUDIO_SRS_ALGO_LIGHT }, - { 1 , LOCALE_AUDIO_SRS_ALGO_NORMAL } + { 1 , LOCALE_AUDIO_SRS_ALGO_NORMAL }, +#ifdef BOXMODEL_APOLLO + { 2 , LOCALE_AUDIO_SRS_ALGO_HEAVY } +#endif }; #define AUDIOMENU_AVSYNC_OPTION_COUNT 3 diff --git a/src/system/locals.h b/src/system/locals.h index 8ac2be9f0..82fd5576d 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -125,6 +125,7 @@ typedef enum LOCALE_GENRE_UNKNOWN, LOCALE_APIDSELECTOR_HEAD, LOCALE_AUDIO_SRS_ALGO, + LOCALE_AUDIO_SRS_ALGO_HEAVY, LOCALE_AUDIO_SRS_ALGO_LIGHT, LOCALE_AUDIO_SRS_ALGO_NORMAL, LOCALE_AUDIO_SRS_IQ, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index fce38ae4d..0363b31bd 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -125,6 +125,7 @@ const char * locale_real_names[] = "GENRE.UNKNOWN", "apidselector.head", "audio.srs_algo", + "audio.srs_algo_heavy", "audio.srs_algo_light", "audio.srs_algo_normal", "audio.srs_iq", From a9a2b708b449ce6d0967ec0c7bfcb1e0f62094bc Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Wed, 15 May 2013 15:59:38 +0400 Subject: [PATCH 44/62] gui/movieplayer.cpp: update display after bookmarks menu --- src/gui/movieplayer.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/movieplayer.cpp b/src/gui/movieplayer.cpp index 43309e11f..c77117577 100644 --- a/src/gui/movieplayer.cpp +++ b/src/gui/movieplayer.cpp @@ -576,6 +576,8 @@ void CMoviePlayerGui::PlayFile(void) selectChapter(); else handleMovieBrowser((neutrino_msg_t) g_settings.mpkey_bookmark, position); + update_lcd = true; + clearSubtitle(); } else if (msg == (neutrino_msg_t) g_settings.mpkey_audio) { selectAudioPid(is_file_player); update_lcd = true; From df1fa6a6bfdd2b217798a1f3fe0666443a32e478 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Wed, 15 May 2013 16:00:09 +0400 Subject: [PATCH 45/62] driver/record.cpp: show record duration in xx hour yy min format --- src/driver/record.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/driver/record.cpp b/src/driver/record.cpp index 436a5ccdc..6f86c9e7e 100644 --- a/src/driver/record.cpp +++ b/src/driver/record.cpp @@ -677,8 +677,10 @@ void CRecordInstance::GetRecordString(std::string &str) int err = GetStatus(); strftime(stime, sizeof(stime), "%H:%M:%S ", localtime(&start_time)); time_t duration = time(0) - start_time; - char dtime[15]; - snprintf(dtime, sizeof(dtime), " (%02d:%02d)", (int) duration/3600, (int) duration/60); + char dtime[20]; + int h = duration/3600; + int m = duration/60; + snprintf(dtime, sizeof(dtime), " (%02d %s %02d min)", h, h == 1 ? "hour" : "hours", m); str = stime + channel->getName() + ": " + GetEpgTitle() + ((err & REC_STATUS_OVERFLOW) ? " [!]" : "") + dtime; } From 2499abc6c83efd56c3f24c905287ef343179b6a2 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Wed, 15 May 2013 16:02:03 +0400 Subject: [PATCH 46/62] gui/moviebrowser.cpp: change default columns to channel,title,date,size,duration,info; change default column sizes --- src/gui/moviebrowser.cpp | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/gui/moviebrowser.cpp b/src/gui/moviebrowser.cpp index 0724afbe3..2bfefd28e 100644 --- a/src/gui/moviebrowser.cpp +++ b/src/gui/moviebrowser.cpp @@ -175,12 +175,12 @@ const neutrino_locale_t m_localizedItemName[MB_INFO_MAX_NUMBER+1] = #define MB_ROW_WIDTH_FILEPATH 22 #define MB_ROW_WIDTH_TITLE 35 #define MB_ROW_WIDTH_SERIE 15 -#define MB_ROW_WIDTH_INFO1 25 +#define MB_ROW_WIDTH_INFO1 15 #define MB_ROW_WIDTH_MAJOR_GENRE 15 #define MB_ROW_WIDTH_MINOR_GENRE 8 #define MB_ROW_WIDTH_INFO2 25 #define MB_ROW_WIDTH_PARENTAL_LOCKAGE 4 -#define MB_ROW_WIDTH_CHANNEL 12 +#define MB_ROW_WIDTH_CHANNEL 15 #define MB_ROW_WIDTH_BOOKMARK 4 #define MB_ROW_WIDTH_QUALITY 10 #define MB_ROW_WIDTH_PREVPLAYDATE 12 @@ -189,8 +189,8 @@ const neutrino_locale_t m_localizedItemName[MB_INFO_MAX_NUMBER+1] = #define MB_ROW_WIDTH_COUNTRY 8 #define MB_ROW_WIDTH_GEOMETRIE 8 #define MB_ROW_WIDTH_AUDIO 8 -#define MB_ROW_WIDTH_LENGTH 6 -#define MB_ROW_WIDTH_SIZE 10 +#define MB_ROW_WIDTH_LENGTH 10 +#define MB_ROW_WIDTH_SIZE 12 const int m_defaultRowWidth[MB_INFO_MAX_NUMBER+1] = { @@ -479,7 +479,7 @@ void CMovieBrowser::init(void) break; } } - +#if 0 /***** Browser List **************/ if(m_settings.browserRowNr == 0) { @@ -494,7 +494,7 @@ void CMovieBrowser::init(void) m_settings.browserRowItem[5] = MB_INFO_QUALITY; reinit_rows = true; } - +#endif if (reinit_rows) { for (i = 0; i < m_settings.browserRowNr; i++) @@ -582,12 +582,21 @@ void CMovieBrowser::initGlobalSettings(void) m_settings.browserFrameHeight = 50; /* percent */ m_settings.browserRowNr = 6; +#if 0 m_settings.browserRowItem[0] = MB_INFO_TITLE; m_settings.browserRowItem[1] = MB_INFO_INFO1; m_settings.browserRowItem[2] = MB_INFO_RECORDDATE; m_settings.browserRowItem[3] = MB_INFO_SIZE; m_settings.browserRowItem[4] = MB_INFO_PARENTAL_LOCKAGE; m_settings.browserRowItem[5] = MB_INFO_QUALITY; +#endif + m_settings.browserRowItem[0] = MB_INFO_CHANNEL; + m_settings.browserRowItem[1] = MB_INFO_TITLE; + m_settings.browserRowItem[2] = MB_INFO_RECORDDATE; + m_settings.browserRowItem[3] = MB_INFO_SIZE; + m_settings.browserRowItem[4] = MB_INFO_LENGTH; + m_settings.browserRowItem[5] = MB_INFO_INFO1; + m_settings.browserRowWidth[0] = m_defaultRowWidth[m_settings.browserRowItem[0]]; //300; m_settings.browserRowWidth[1] = m_defaultRowWidth[m_settings.browserRowItem[1]]; //100; m_settings.browserRowWidth[2] = m_defaultRowWidth[m_settings.browserRowItem[2]]; //80; @@ -3418,7 +3427,8 @@ bool CMovieBrowser::getMovieInfoItem(MI_MOVIE_INFO& movie_info, MB_INFO_ITEM ite #endif // MB_INFO_AUDIO test break; case MB_INFO_LENGTH: // = 18, - snprintf(str_tmp,MAX_STR_TMP,"%4d",movie_info.length); + //snprintf(str_tmp,MAX_STR_TMP,"%4d",movie_info.length); + snprintf(str_tmp,MAX_STR_TMP,"%dh %dm", movie_info.length/60, movie_info.length%60); *item_string = str_tmp; break; case MB_INFO_SIZE: // = 19, From 77c9f6242cea207653838f13c9129fbfc96adfb8 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Wed, 15 May 2013 16:02:25 +0400 Subject: [PATCH 47/62] timerd/timermanager.cpp: change default record safety to 5min --- src/timerd/timermanager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/timerd/timermanager.cpp b/src/timerd/timermanager.cpp index 3b11dfdec..a9bfa47e2 100644 --- a/src/timerd/timermanager.cpp +++ b/src/timerd/timermanager.cpp @@ -625,8 +625,8 @@ void CTimerManager::loadRecordingSafety() { /* set defaults if no configuration file exists */ dprintf("%s not found\n", CONFIGFILE); - m_extraTimeStart = 0; - m_extraTimeEnd = 0; + m_extraTimeStart = 300; + m_extraTimeEnd = 300; config.saveConfig(CONFIGFILE); } else From bbade7451d685fa6319b1cf8b2967362b9a2c693 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Wed, 15 May 2013 16:04:37 +0400 Subject: [PATCH 48/62] neutrino.cpp: change defaults: record ttx/subtitles to true; progress bars to horizontal bars; infoviewer epg progress to below channel name; ca sys display to discreet; direct record end to epg event --- src/neutrino.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 134614dac..1bfcafd85 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -392,11 +392,11 @@ int CNeutrinoApp::loadSetup(const char * fname) g_settings.infobar_show_channeldesc = configfile.getBool("infobar_show_channeldesc" , false ); g_settings.infobar_subchan_disp_pos = configfile.getInt32("infobar_subchan_disp_pos" , 0 ); g_settings.progressbar_color = configfile.getBool("progressbar_color", true ); - g_settings.progressbar_design = configfile.getInt32("progressbar_design",0); + g_settings.progressbar_design = configfile.getInt32("progressbar_design", 2); //horizontal bars g_settings.infobar_show = configfile.getInt32("infobar_show", 1); g_settings.infobar_show_channellogo = configfile.getInt32("infobar_show_channellogo" , 3 ); - g_settings.infobar_progressbar = configfile.getInt32("infobar_progressbar" , 0 ); - g_settings.casystem_display = configfile.getInt32("casystem_display", 2 );//mini ca mode default + g_settings.infobar_progressbar = configfile.getInt32("infobar_progressbar" , 1 ); // below channel name + g_settings.casystem_display = configfile.getInt32("casystem_display", 1 );//discreet ca mode default g_settings.scrambled_message = configfile.getBool("scrambled_message", true ); g_settings.volume_pos = configfile.getInt32("volume_pos", 0 ); g_settings.volume_digits = configfile.getBool("volume_digits", true); @@ -505,7 +505,7 @@ int CNeutrinoApp::loadSetup(const char * fname) g_settings.personalize[i] = configfile.getInt32( personalize_settings[i].personalize_settings_name, personalize_settings[i].personalize_default_val ); g_settings.colored_events_channellist = configfile.getInt32( "colored_events_channellist" , 0 ); - g_settings.colored_events_infobar = configfile.getInt32( "colored_events_infobar" , 0 ); + g_settings.colored_events_infobar = configfile.getInt32( "colored_events_infobar" , 2 ); // next g_settings.colored_events_alpha = configfile.getInt32( "colored_events_alpha", 0x00 ); g_settings.colored_events_red = configfile.getInt32( "colored_events_red", 95 ); g_settings.colored_events_green = configfile.getInt32( "colored_events_green", 70 ); @@ -587,12 +587,12 @@ int CNeutrinoApp::loadSetup(const char * fname) g_settings.recording_zap_on_announce = configfile.getBool("recording_zap_on_announce" , false); g_settings.shutdown_timer_record_type = configfile.getBool("shutdown_timer_record_type" , false); - g_settings.recording_stream_vtxt_pid = configfile.getBool("recordingmenu.stream_vtxt_pid" , false); - g_settings.recording_stream_subtitle_pids = configfile.getBool("recordingmenu.stream_subtitle_pids", false); + g_settings.recording_stream_vtxt_pid = configfile.getBool("recordingmenu.stream_vtxt_pid" , true); + g_settings.recording_stream_subtitle_pids = configfile.getBool("recordingmenu.stream_subtitle_pids", true); g_settings.recording_stream_pmt_pid = configfile.getBool("recordingmenu.stream_pmt_pid" , false); g_settings.recording_choose_direct_rec_dir = configfile.getInt32( "recording_choose_direct_rec_dir", 0 ); 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" , false); + 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" , true); From 5b42594a1af62247894ce427d68e498018d7ca15 Mon Sep 17 00:00:00 2001 From: "[CST] Bas" Date: Fri, 17 May 2013 05:10:52 +0800 Subject: [PATCH 49/62] neutrino: fix dutch locale, it's being maintained by Astrasat. Move it to 'maintained'. --- data/locale/Makefile.am | 2 +- .../dutch.locale => nederlands.locale} | 0 data/locale/unmaintained/nederlands.locale | 667 ------------------ 3 files changed, 1 insertion(+), 668 deletions(-) rename data/locale/{unmaintained/dutch.locale => nederlands.locale} (100%) delete mode 100644 data/locale/unmaintained/nederlands.locale diff --git a/data/locale/Makefile.am b/data/locale/Makefile.am index feed9a7bc..845a8b4f4 100644 --- a/data/locale/Makefile.am +++ b/data/locale/Makefile.am @@ -1,6 +1,7 @@ installdir = $(DATADIR)/neutrino/locale locale = \ + nederlands.locale \ deutsch.locale \ english.locale @@ -12,7 +13,6 @@ locale_unmaintained = \ unmaintained/czech.locale \ unmaintained/francais.locale \ unmaintained/italiano.locale \ - unmaintained/nederlands.locale \ unmaintained/polski.locale \ unmaintained/portugues.locale \ unmaintained/russkij.locale \ diff --git a/data/locale/unmaintained/dutch.locale b/data/locale/nederlands.locale similarity index 100% rename from data/locale/unmaintained/dutch.locale rename to data/locale/nederlands.locale diff --git a/data/locale/unmaintained/nederlands.locale b/data/locale/unmaintained/nederlands.locale deleted file mode 100644 index b23984063..000000000 --- a/data/locale/unmaintained/nederlands.locale +++ /dev/null @@ -1,667 +0,0 @@ -EPGMenu.epgplus Preview overzicht -EPGMenu.eventinfo Info over uitzending -EPGMenu.eventlist Preview programma -EPGMenu.head EPG - Programma Informatie -EPGMenu.streaminfo technische Informatie -EPGPlus.actions Aktie's -EPGPlus.head Preview (EPG Plus) -EPGPlus.next_bouquet Volgend Boeket -EPGPlus.options Optie's -EPGPlus.page_down Vorige pagina. -EPGPlus.page_up Volgende pagina. -EPGPlus.prev_bouquet Vorig Boeket. -EPGPlus.record Opname -EPGPlus.refresh_epg Aktualiseren -EPGPlus.remind Herinneren -EPGPlus.scroll_mode Scroll Mode -EPGPlus.select_font_name Lettertype kiezen -EPGPlus.stretch_mode Stretch Mode -EPGPlus.swap_mode Bladeren -EPGPlus.view_mode Mode -GENRE.ARTS.0 Kunst/ cultuur -GENRE.ARTS.1 Beeldende kunst -GENRE.ARTS.10 kunst/culturele magazines -GENRE.ARTS.11 mode -GENRE.ARTS.2 fijne kunst -GENRE.ARTS.3 religie -GENRE.ARTS.4 populair cultuur/traditionele kunst -GENRE.ARTS.5 literatuur -GENRE.ARTS.6 film/cinema -GENRE.ARTS.7 experimentele film/video -GENRE.ARTS.8 uitzendingen/pers -GENRE.ARTS.9 nieuwe media -GENRE.CHILDRENs_PROGRAMMES.0 Kinderprogramma/ animatie -GENRE.CHILDRENs_PROGRAMMES.1 Kleuterprogramma -GENRE.CHILDRENs_PROGRAMMES.2 Ontspanningsprogramma (leeftijd: 6 tot 14) -GENRE.CHILDRENs_PROGRAMMES.3 Ontspanningsprogramma (leeftijd: 10 tot 16) -GENRE.CHILDRENs_PROGRAMMES.4 informationeel/educationeel/schoolprogramma -GENRE.CHILDRENs_PROGRAMMES.5 tekenfilms/animatie -GENRE.DOCUS_MAGAZINES.0 documentatie/magazine -GENRE.DOCUS_MAGAZINES.1 natuur/dieren/omgeving -GENRE.DOCUS_MAGAZINES.2 technologie/natuurkunde -GENRE.DOCUS_MAGAZINES.3 Geneeskunde/psychologie/ -GENRE.DOCUS_MAGAZINES.4 Vreemde landen/expeditie's -GENRE.DOCUS_MAGAZINES.5 sociale- en spirituele wetenschappen -GENRE.DOCUS_MAGAZINES.6 andere opvoedingen -GENRE.DOCUS_MAGAZINES.7 Talen -GENRE.MOVIE.0 film/drama -GENRE.MOVIE.1 detectieve/thriller -GENRE.MOVIE.2 aventuren/western/oorlog -GENRE.MOVIE.3 science-fiction/fantasy/horror -GENRE.MOVIE.4 comedy -GENRE.MOVIE.5 soap/melodrama/folkloristisch -GENRE.MOVIE.6 romantiek -GENRE.MOVIE.7 ernstig/klassiek/religieus/historische film/drama -GENRE.MOVIE.8 +18 / drama -GENRE.MUSIC_DANCE.0 muziek / ballet / dance -GENRE.MUSIC_DANCE.1 rock/pop -GENRE.MUSIC_DANCE.2 klassieke music -GENRE.MUSIC_DANCE.3 folk/traditionele muziek -GENRE.MUSIC_DANCE.4 jazz -GENRE.MUSIC_DANCE.5 musical/opera -GENRE.MUSIC_DANCE.6 ballet -GENRE.NEWS.0 nieuws -GENRE.NEWS.1 nieuws/weerbulletin -GENRE.NEWS.2 nieuwsmagazine -GENRE.NEWS.3 documentaire -GENRE.NEWS.4 discussie/interview/debat -GENRE.SHOW.0 Show / Spelshow -GENRE.SHOW.1 game show/quiz/contest -GENRE.SHOW.2 varieteit show -GENRE.SHOW.3 talk show -GENRE.SOCIAL_POLITICAL.0 sociale en politieke evenementen/zaken -GENRE.SOCIAL_POLITICAL.1 magazines/verslagen/documentaire -GENRE.SOCIAL_POLITICAL.2 economische /sociale adviezen -GENRE.SOCIAL_POLITICAL.3 Opmerkzame personen -GENRE.SPORTS.0 sport -GENRE.SPORTS.1 speciale evenementen (Olympische spelen,Wereldbeker, etc.) -GENRE.SPORTS.10 paardensport -GENRE.SPORTS.11 gevechtsporten -GENRE.SPORTS.2 sportmagazine -GENRE.SPORTS.3 Voetbal -GENRE.SPORTS.4 tennis/squash -GENRE.SPORTS.5 teamsporten -GENRE.SPORTS.6 atletiek -GENRE.SPORTS.7 motorsport -GENRE.SPORTS.8 watersport -GENRE.SPORTS.9 wintersport -GENRE.TRAVEL_HOBBIES.0 reizen en ontspanning -GENRE.TRAVEL_HOBBIES.1 tourisme/reizen -GENRE.TRAVEL_HOBBIES.2 werk -GENRE.TRAVEL_HOBBIES.3 autotoerisme -GENRE.TRAVEL_HOBBIES.4 fitness & gezondheid -GENRE.TRAVEL_HOBBIES.5 koken -GENRE.TRAVEL_HOBBIES.6 adverteren/shopping -GENRE.TRAVEL_HOBBIES.7 tuinieren -GENRE.UNKNOWN Onbekend -apids.hint_1 Geef de te streamen APIDs in -apids.hint_2 in hex-weergave scheiden met ' ' -apidselector.head Kies taal -audiomenu.PCMOffset Volume Decrease PCM -audiomenu.analogout Analoge uitgang -audiomenu.avs avs -audiomenu.dolbydigital Dolby Digital -audiomenu.monoleft mono links -audiomenu.monoright mono rechts -audiomenu.stereo stereo -audioplayer.add Voeg toe -audioplayer.artist_title Artiest, Titel -audioplayer.defdir Startdirectory -audioplayer.delete Wis -audioplayer.deleteall Wis alles -audioplayer.display_order display order -audioplayer.fastforward Vooruitspoelen -audioplayer.follow auto Kies huidig -audioplayer.head Audio Speellijst -audioplayer.highprio Hoge decoderingsprioriteit -audioplayer.id3scan Scannen van ID3 tags -audioplayer.keylevel key level -audioplayer.name Audioplayer -audioplayer.pause pauze -audioplayer.play Play -audioplayer.playing Huidig nummer -audioplayer.rewind terugspoelen -audioplayer.screensaver_timeout screensaver timeout (min, 0=uit) -audioplayer.shuffle shuffle -audioplayer.stop Stop -audioplayer.title_artist Titel, Artiest -audioplayerpicsettings.general Audioplayer/ beeldviewer -bookmarkmanager.delete Verwijderen -bookmarkmanager.name Favorieten -bookmarkmanager.rename Hernoemen -bookmarkmanager.select Kiezen -bouqueteditor.add Voeg toe -bouqueteditor.bouquetname Naam van het boeket -bouqueteditor.delete Wis -bouqueteditor.discardingchanges Wegzetten van de wijzigingen, even geduld a.u.b... -bouqueteditor.hide Verberg -bouqueteditor.lock Slot -bouqueteditor.move Verzet -bouqueteditor.name Boeket-editor -bouqueteditor.newbouquetname Nieuwe naam van het boeket -bouqueteditor.rename Hernoem -bouqueteditor.return Klaar -bouqueteditor.savechanges? Wilt u de wijzigingen bewaren? -bouqueteditor.savingchanges Bewaren van wijzigingen, even geduld... -bouqueteditor.switch Toevoegen/verwijderen -bouqueteditor.switchmode TV/Radio -bouquetlist.head Boeket -cablesetup.provider Kabelprovider -channellist.head Alle Services -channellist.nonefound Geen kanalen gevonden!\nVoer aub een scan uit\n(dbox-toets -> service) -channellist.since sinds -colorchooser.alpha alpha -colorchooser.blue blauw -colorchooser.green groen -colorchooser.red rood -colormenu.background Achtergrond -colormenu.background_head Achtergrond -colormenu.fade Fade menu's -colormenu.font lettergrootte -colormenu.menucolors Menu kleuren -colormenu.statusbar Infobar -colormenu.textcolor Tekstkleur -colormenu.textcolor_head Tekstkleur -colormenu.themeselect selecteer onderwerp -colormenu.timing OSD Tijd -colormenusetup.menucontent Vensterinhoud -colormenusetup.menucontent_inactive Vensterinhoud niet actief -colormenusetup.menucontent_selected Vensterinhoud geactiveerd -colormenusetup.menuhead Menu bovenkant -colorstatusbar.head Infobar -colorstatusbar.text Infobar -colorthememenu.classic_theme Classic thema -colorthememenu.dblue_theme Donkerblauw thema -colorthememenu.dvb2k_theme DVB2000 thema -colorthememenu.head Themakeuze -colorthememenu.neutrino_theme Neutrino thema -date.Apr April -date.Aug Augustus -date.Dec December -date.Feb Februari -date.Fri vrijdag -date.Jan Januari -date.Jul Juli -date.Jun Juni -date.Mar Maart -date.May Mei -date.Mon maandag -date.Nov November -date.Oct Oktober -date.Sat zaterdag -date.Sep September -date.Sun zondag -date.Thu donderdag -date.Tue dinsdag -date.Wed woensdag -epglist.head Event-list - %s -epglist.noevents EPG is niet beschikbaar -epgviewer.More_Screenings Meerdere Screenings op dit kanaal -epgviewer.nodetailed Geen details beschikbaar -epgviewer.notfound Geen EPG gevonden -eventlistbar.channelswitch Planning -eventlistbar.eventsort Sorteren -eventlistbar.recordevent Opnemen -favorites.addchannel Huidig kanaal zal toegevoegd worden\naan het boeket "mijn favorieten".\nDit zal enkele seconden durens... -favorites.bouquetname Mijn favorieten -favorites.bqcreated Bouquet "Mijn favorieten" is gemaakt...\n -favorites.chadded Huidig kanaal is aan de favorieten toegevoegd...\n -favorites.chalreadyinbq Huidig kanaal staat reeds bij de favorieten...\n -favorites.finalhint \nGebruik de boeketeditor om de favorieten aan te passen.\n -favorites.menueadd Voeg kanaal aan favorieten toe. -favorites.nobouquets Favorieten zijn alleen beschikbaar met geactiveerde boeketten. -filebrowser.delete Verwijderen -filebrowser.dodelete1 Moet -filebrowser.dodelete2 gewist worden? -filebrowser.filter.active Filter aan -filebrowser.filter.inactive Filter uit -filebrowser.head Browser -filebrowser.mark Markeer -filebrowser.nextpage Volgende pagina -filebrowser.prevpage Vorige pagina -filebrowser.scan Folders doorzoeken -filebrowser.select Kies -filebrowser.showrights Toon rechten -filebrowser.sort.date (datum) -filebrowser.sort.name (bestandsname) -filebrowser.sort.namedirsfirst (Dateiname2) -filebrowser.sort.size (Grootte) -filebrowser.sort.type (Type) -flashupdate.actionreadflash lezen -flashupdate.cantopenfile Kan bestand niet openen -flashupdate.cantopenmtd Kan het mtd-device niet openen -flashupdate.checkupdate Zoek nieuwe versie -flashupdate.currentversion_sep Huidige versie -flashupdate.currentversiondate Datum -flashupdate.currentversiontime Tijd -flashupdate.erasefailed Wissen van de flash mislukt -flashupdate.erasing Wissen van de flash -flashupdate.experimentalimage De gekozen image is nog niet getest.D.w.z.dat\nuw ontvanger misschien niet opstart na de update.\n\nWilt u echt deze versie updaten? -flashupdate.expertfunctions Expert-functie's -flashupdate.fileis0bytes De grootte van het bestand is 0 Byte -flashupdate.fileselector File kiezen -flashupdate.flashreadyreboot De image is succesvol geflashed.\nDe DBox zal nu herstarten. -flashupdate.getinfofile Haalt info versie op -flashupdate.getinfofileerror Geen info van de versie gevonden -flashupdate.getupdatefile Krijgt een update -flashupdate.getupdatefileerror Krijgt geen update -flashupdate.globalprogress Globale vooruitgang: -flashupdate.head Software Update -flashupdate.md5check controleer image -flashupdate.md5sumerror Image heeft fouten -flashupdate.msgbox De volgende nieuwe image is gevonden:\nDatum: %s, %s\nBaseImage: %s\nImageType: %s\n\nWilt u de nieuwe image nu downloaden en installeren? -flashupdate.msgbox_manual De volgende nieuwe image is gevonden:\nDatum: %s, %s\nBaseImage: %s\nImageType: %s\n\nWilt u deze versie nu installeren? -flashupdate.mtdselector Partitie kiezen -flashupdate.programmingflash Programmeren van de flash -flashupdate.proxypassword Paswoord -flashupdate.proxypassword_hint1 Geef het paswoord voor de proxyserver -flashupdate.proxypassword_hint2 Leeg betekent geen proxy -flashupdate.proxyserver Hostnaam -flashupdate.proxyserver_hint1 Geef naam of IP proxyserver, Gebruik host: poort -flashupdate.proxyserver_hint2 Geen invoer = geen proxy -flashupdate.proxyserver_sep Proxyserver -flashupdate.proxyusername Gebruikersnaam -flashupdate.proxyusername_hint1 Geef de gebruikersnaam van de proxyserver -flashupdate.proxyusername_hint2 Geen invoer= geen proxy-auth -flashupdate.readflash Lees de hele image -flashupdate.readflashmtd Lees een partitie -flashupdate.ready Klaar -flashupdate.reallyflashmtd Wilt u echt flashen?\n\nAls er een fout optreed is de image niet\ngeldig, De Dbox zal niet starten na het flashen.\n\nImagename: %s\nTarget: %s -flashupdate.savesuccess De image is succesvol bewaard \nonder %s. -flashupdate.selectimage Beschikbare Images -flashupdate.squashfs.noversion Versiecontrole van SquashFS gaat momenteel enkel via webupdating -flashupdate.titlereadflash Lezen Flash -flashupdate.titlewriteflash Writing Flash -flashupdate.updatemode Updatemode -flashupdate.updatemode_internet Internet -flashupdate.updatemode_manual Manueel (ftp) -flashupdate.url_file config file -flashupdate.versioncheck Controleer versie -flashupdate.writeflash Schrijf de hele image -flashupdate.writeflashmtd Schrijf een partitie -flashupdate.wrongbase Your Release cycle differs, unable to update\nwithout having installed the right version! -fontmenu.channellist kanalenlijst -fontmenu.epg EPG -fontmenu.eventlist Eventlist -fontmenu.gamelist Spellijst -fontmenu.head Settings lettergrootte -fontmenu.infobar Infobar -fontsize.channel_num_zap Directe selectie -fontsize.channellist Kanalenlijst -fontsize.channellist_descr Omschrijving -fontsize.channellist_number Nummer -fontsize.epg_date EPG datum -fontsize.epg_info1 EPG Info 1 -fontsize.epg_info2 EPG Info 2 -fontsize.epg_title EPG Titel -fontsize.eventlist_datetime datum/tijd -fontsize.eventlist_itemlarge groot -fontsize.eventlist_itemsmall klein -fontsize.eventlist_title Titel -fontsize.filebrowser_item filebrowser item -fontsize.gamelist_itemlarge groot -fontsize.gamelist_itemsmall klein -fontsize.hint lettertype instellen,\ngeduld aub... -fontsize.infobar_channame Kanaalnaam -fontsize.infobar_info info -fontsize.infobar_number Nummer -fontsize.infobar_small klein -fontsize.menu Menutekst -fontsize.menu_info Menu Info -fontsize.menu_title Menu Titel -gtxalpha.alpha1 Alpha 1 -gtxalpha.alpha2 Alpha 2 -infoviewer.epgnotload EPG niet geladen.... -infoviewer.epgwait wachten op EPG... -infoviewer.eventlist Event-Lijst -infoviewer.languages Geluid -infoviewer.motor_moving Positionering van de antenne -infoviewer.nocurrent Geen info beschikbaar voor dit programma -infoviewer.noepg EPG is niet beschikbaar -infoviewer.notavailable Kanaal is niet beschikbaar -infoviewer.selecttime Tijdskeuze -infoviewer.streaminfo Kenmerken -infoviewer.subservice Subservices -infoviewer.waittime Wacht op de tijd... -ipsetup.hint_1 Gebruik 0 tot 9, of Use 0..9, of gebruik Up/Down, -ipsetup.hint_2 OK bewaar, Home afbreken -keybindingmenu.RC Key herhaal-blocker -keybindingmenu.addrecord Voeg record timer toe -keybindingmenu.addrecord_head Voeg record timer toe -keybindingmenu.addremind add zapto timer -keybindingmenu.addremind_head add zapto timer -keybindingmenu.allchannels_on_ok Alle services -keybindingmenu.bouquetchannels_on_ok Huidig boeket -keybindingmenu.bouquetdown vorig boeket -keybindingmenu.bouquetdown_head keysetup vorig boeket back -keybindingmenu.bouquethandling Boeket-control -keybindingmenu.bouquetlist_on_ok Boeketlijst -keybindingmenu.bouquetup Volgend boeket -keybindingmenu.bouquetup_head keysetup Volgend boeket -keybindingmenu.cancel Sluit kanalenlijst -keybindingmenu.cancel_head Kanalenlijst gesloten -keybindingmenu.channeldown Kanaal omlaag -keybindingmenu.channeldown_head Keysetup channel down -keybindingmenu.channellist Kanaallijst -keybindingmenu.channelup kanaal omhoog -keybindingmenu.channelup_head Keysetup channel up -keybindingmenu.head Keybinding Setup -keybindingmenu.modechange Modechange -keybindingmenu.pagedown Volgende pagina -keybindingmenu.pagedown_head Keysetup page down -keybindingmenu.pageup Vorige pagina -keybindingmenu.pageup_head Keysetup page up -keybindingmenu.quickzap Quickzap -keybindingmenu.repeatblock generic delay -keybindingmenu.repeatblockgeneric Herhaal delay -keybindingmenu.sort Verander sorteervolgorde -keybindingmenu.sort_head Verander sorteervolgorde -keybindingmenu.subchanneldown subchannel omlaag -keybindingmenu.subchanneldown_head key subkanaal omlaag -keybindingmenu.subchannelup subkanaal omhoog -keybindingmenu.subchannelup_head key subkanaal omhoog -keybindingmenu.tvradiomode TV/Radio-mode -keybindingmenu.tvradiomode_head TV/Radio-mode -keychooser.head Setup nieuwe Key -keychooser.text1 Geef de nieuwe key in -keychooser.text2 Wacht enkele sec. om af te breken -keychoosermenu.currentkey Huidige key -keychoosermenu.setnew setup nieuwe key -keychoosermenu.setnone Geen key -languagesetup.head Setup Taal -languagesetup.select Taalkeuze -lcdcontroler.brightness normale helderheid -lcdcontroler.brightnessstandby Standby helderheid -lcdcontroler.contrast Contrast -lcdcontroler.head Display-instellingen -lcdmenu.head LCD Settings -lcdmenu.lcdcontroler Contrast / Helderheid -lcdmenu.statusline status lijn -lcdmenu.statusline.both Volume/Speelduur -lcdmenu.statusline.playtime Speelduur -lcdmenu.statusline.volume Volume -mainmenu.audioplayer Audioplayer -mainmenu.games Spelletjes -mainmenu.head Hoofdmenu -mainmenu.movieplayer Filmspeler -mainmenu.pausesectionsd Lees EPG -mainmenu.pictureviewer Weergeven van afbeeldingen -mainmenu.radiomode Radio-Mode -mainmenu.recording Opnemen -mainmenu.recording_start Start opname -mainmenu.recording_stop Stop opname -mainmenu.service Service -mainmenu.settings Instellingen -mainmenu.shutdown Uitschakelen -mainmenu.sleeptimer SleepTimer -mainmenu.tvmode TV-Mode -mainsettings.audio Geluid -mainsettings.colors Kleuren/lettertype -mainsettings.head Settings -mainsettings.keybinding Key Setup -mainsettings.language Taal -mainsettings.lcd LCD-display -mainsettings.misc Overige settings -mainsettings.network Netwerk -mainsettings.recording Opnemen -mainsettings.savesettingsnow Bewaar de settings nu -mainsettings.savesettingsnow_hint Even geduld, settings worden bewaard -mainsettings.video Beeld -menu.back Terug -messagebox.back terug -messagebox.cancel Annuleren -messagebox.discard Bewaren van de wijzigingen? -messagebox.error Fout -messagebox.info Informatie -messagebox.no Neen -messagebox.yes Ja -miscsettings.general Algemeen -miscsettings.head Overige settings -miscsettings.infobar_sat_display Satelliet display in infobar -miscsettings.shutdown_real standby -miscsettings.shutdown_real_rcdelay vertraagde shutdown -miscsettings.startbhdriver load BH-Mode drivers -motorcontrol.head Motor-Setup -movieplayer.bookmark Favorieten -movieplayer.bookmarkname Bookmark Naam -movieplayer.bookmarkname_hint1 Geef de naam voor de -movieplayer.bookmarkname_hint2 nieuwe favoriet in -movieplayer.fileplayback Bestand via VLC -movieplayer.head Filmplayer -movieplayer.toomanybookmarks U heeft te veel favorieten.\nEr moet een andere favoriet gewist worden. -movieplayer.tshelp Rood/Home Stop\nGROEN Kies audio track\nGEEL Pause/Continue\nBLUE Create bookmark\nd-box Show progress\n1 approx. 1 minute back\n3 skip approx. 1 minute\n4 approx. 5 minuten terug\n6 sla over ongeveer 5 minuten\n7 ongeveer 10 minuten terug\n9 sla ongeveer 10 minutes\nHelp: http://www.giggo.de/dbox2/movieplayer.html\n -movieplayer.tsplayback Speel TS -movieplayer.vlchelp ROOD/Home Stop\nGROEN Resync\nGEEL Pause/verder\nBLAUW Favoriet instellen\n1 ca. 1 Minuut terug\n3 ca. 1 Minuut vooruit\n4 ca. 5 Minuten terug\n6 ca. 5 Minuten vooruit\n7 ca. 10 Minuten terug\n9 ca. 10 Minuten vooruit\nHelp: http://www.giggo.de/dbox2/movieplayer.html\n -networkmenu.broadcast Broadcast -networkmenu.dhcp DHCP -networkmenu.gateway Standaard Gateway -networkmenu.ipaddress IP-Addres -networkmenu.mount NFS/CIFS -networkmenu.nameserver Nameserver -networkmenu.netmask Netmasker -networkmenu.setupnow Netwerk nu activeren -networkmenu.setuponstartup Netwerk activeren bij opstarten -networkmenu.show Toon actieve netwerksettings -networkmenu.test Test nu het netwerk -nfs.alreadymounted directory reeds gemount -nfs.automount mount bij starten -nfs.dir directory/share -nfs.ip NFS/CIFS Server IP -nfs.localdir plaatselijke directory -nfs.mount Mount NFS/CIFS volume -nfs.mount_options mountoptie's -nfs.mounterror mountfout -nfs.mounterror_notsup Type filesysteem niet ondersteund -nfs.mountnow direct mounten -nfs.mounttimeout mountfout: timeout -nfs.password paswoord Common Internet File System (CIFS) -nfs.remount Lijst opnieuw mounten -nfs.type type -nfs.type_cifs Common Internet File System (CIFS) -nfs.type_nfs Network File System (NFS) -nfs.umount Umount NFS/CIFS volume -nfs.umounterror umountingfout: volume -nfs.username Gebruikersnaam Common Internet File System (CIFS) -nfsmenu.head NFS/CIFS instellingen -nvod.percentage (%d%% over) -nvod.starting (start binnen %d minuten) -nvodselector.directormode Direct-Mode -nvodselector.head Kies starttijd -nvodselector.subservice Kies Subservice -options.default Reset naar standaard -options.fb Framebuffer -options.null Null -options.off Uit -options.on Aan -options.serial Serieel -parentallock.changepin verander PIN code -parentallock.changepin_hint1 Geef hier de nieuwe PIN-code in! -parentallock.changetolocked on locked bouquets -parentallock.head Voer PIN-code v.h. kinderslot in -parentallock.lockage Programma op slot -parentallock.lockage12 Voor jonger dan 12j -parentallock.lockage16 Voor jonger dan 16j -parentallock.lockage18 Voor jonger dan 18j -parentallock.lockedprogram Gesloten programma (vanaf %d jaar en hoger) -parentallock.never nooit -parentallock.onsignal Bij uitzenden op slot -parentallock.parentallock Kinderslot -parentallock.prompt prompt voor PIN -pictureviewer.defdir startdirectory -pictureviewer.head Weergave van afbeeldingen -pictureviewer.resize.color_average Geavanceerd -pictureviewer.resize.none Geen -pictureviewer.resize.simple Eenvoudig -pictureviewer.scaling schaal -pictureviewer.show Toon -pictureviewer.slide_time toon tijd van slideshow -pictureviewer.slideshow slideshow -pictureviewer.sortorder verander volgorde -pictureviewer.sortorder.date (datum) -pictureviewer.sortorder.filename (bestandsnaam) -ping.ok Bereikbaar door Ping -ping.protocol Niet bereikbaar (fout bij host of protocol) -ping.socket Niet bereikbaar (socketfout) -ping.unreachable Onbereikbaar door Ping -pinprotection.head Voer PIN-code in -pinprotection.wrongcode Foute PIN-Code! Probeer opnieuw -rclock.lockmsg Uw afstandsbediening van de DBox2 zal vergrendeld worden.\nOm de DBox2 vrij te geven druk op \nen op uw afstandsbediening. -rclock.menueadd Vergrendelen afstandsbediening -rclock.title Vergrendel afstandsbediening -rclock.unlockmsg Afstandsbediening in werking. -recordingmenu.defdir Opnamefolder -recordingmenu.file Direct (file) -recordingmenu.filesettingsseparator Direct opnemen -recordingmenu.off Uit -recordingmenu.server server -recordingmenu.server_mac MAC adres -recordingmenu.setupnow Activeer veranderingen -recordingmenu.stream_all_audio_pids Alle audiopids opnemen -recordingmenu.vcr vcr -recordtimer.announce Opname start in enkele minuten -repeatblocker.hint_1 Kortste tijd (in ms) tussen 2 drukken op de knop -repeatblocker.hint_2 Druk op 0 om de blocker uit te zetten (rood is spatie) -satsetup.diseqc DiSEqC -satsetup.diseqc10 DiSEqC 1.0 -satsetup.diseqc11 DiSEqC 1.1 -satsetup.diseqc12 DiSEqC 1.2 -satsetup.diseqcrepeat DiSEqC-herhaling -satsetup.extended DiSEqC-Settings -satsetup.extended_motor Motorsettings -satsetup.minidiseqc Mini-DiSEqC -satsetup.nodiseqc Geen DiSEqC -satsetup.satellite Satelliet -satsetup.smatvremote SMATV Remote Tuning -scants.actcable Kabel: -scants.actsatellite Satelliet: -scants.bouquet Boeket -scants.bouquet_create Maak een nieuw -scants.bouquet_erase Wis alles -scants.bouquet_leave Verlaat huidig -scants.bouquet_satellite Satellietboeket -scants.bouquet_update update -scants.channel Kanaal: -scants.failed Faling transponderscan! -scants.finished Transponderscan succesvol! -scants.freqdata Frequentie -scants.head Scan transponder -scants.numberofdataservices Data: -scants.numberofradioservices Radio: -scants.numberoftotalservices Totaal: -scants.numberoftvservices TV: -scants.provider Provider: -scants.startnow Start scan -scants.transponders Transponders: -screensetup.lowerright groen = setup lower right -screensetup.upperleft rood = setup upper left -servicemenu.head Service -servicemenu.reload Herlaad Kanalenlijst -servicemenu.reload_hint Even geduld, herladen van kanalenlijst -servicemenu.scants Service scan -servicemenu.update Software Update -settings.missingoptionsconffile De neutrino-settings zijn geupdate.\nNew Opties worden standaard gezet. -settings.noconffile Geen neutrino-settings gevonden.\nStandaart in gebruik. -shutdowntimer.announce Box zal uitschakelen in 1 min.\nUitschakelen aflassen? -sleeptimerbox.announce Sleeptimer in 1 min -sleeptimerbox.hint1 Schakel uit in ...minuten. (000=uit) -sleeptimerbox.hint2 dbox2 zal uitgaan na deze tijd. -sleeptimerbox.title Sleeptimer -streaminfo.aratio Aspect Ratio -streaminfo.aratio_unknown Aspect Ratio: onbekend -streaminfo.audiotype Audiotype -streaminfo.bitrate Bitrate -streaminfo.framerate Framerate -streaminfo.framerate_unknown Framerate: onbekend -streaminfo.head Stream-Informatie -streaminfo.not_available Niet beschikbaar -streaminfo.resolution Resolutie -streaming.busy Een of meerdere opnames zijn bezig.\nAls U deze oodschap krijgt en er is geen opname\nbezig herstart dan Neutrino. -streaming.dir_not_writable De opnamefolder is niet bereikbaar.\nOpnemen zal niet gaan. -streaming.write_error De opname is afgebroken \nomdat er een schrijffout opgetreden is. -stringinput.caps caps/geen caps -stringinput.clear Wis alles -timer.eventrecord.msg OK, niet OK -timer.eventrecord.title Opname plannen -timer.eventtimed.msg Dit programma is opgeslagen.\ndbox2 zal opstarten en \nschakelt naar dit programma op het gegeven tijdstip. -timer.eventtimed.title Programmeren -timerbar.channelswitch Overzicht -timerbar.recordevent Opnemen -timerlist.alarmtime Alarm time -timerlist.apids Audio PIDs -timerlist.bouquetselect Kies boeket -timerlist.channel Kanaal -timerlist.channelselect Kies kanaal -timerlist.delete Wis -timerlist.menumodify Pas timer aan -timerlist.menunew nieuwe timer -timerlist.message Boodschap -timerlist.moderadio Radio-kanalen -timerlist.modeselect Mode selection -timerlist.modetv TV-kanalen -timerlist.modify Modify -timerlist.name Timer list -timerlist.new Nieuwe timer -timerlist.program.unknown Programma onbekend -timerlist.reload Herlaad -timerlist.repeat Herhaal -timerlist.repeat.biweekly Tweewekelijks -timerlist.repeat.byeventdescription Bekijk programmatie -timerlist.repeat.daily Dagelijks -timerlist.repeat.fourweekly Vierweekelijks -timerlist.repeat.friday Vr -timerlist.repeat.monday Ma -timerlist.repeat.monthly Maandelijks -timerlist.repeat.once Eenmalig -timerlist.repeat.saturday Za -timerlist.repeat.sunday Zo -timerlist.repeat.thursday Do -timerlist.repeat.tuesday Di -timerlist.repeat.unknown Onbekend -timerlist.repeat.wednesday Woe -timerlist.repeat.weekdays Op weekdagen -timerlist.repeat.weekly weekelijks -timerlist.save Bewaar timer -timerlist.standby SB mode -timerlist.standby.off Standby laten -timerlist.standby.on Enter standby -timerlist.stoptime Stop time -timerlist.type Timer typ -timerlist.type.nextprogram Volgend programma -timerlist.type.record Opnemen -timerlist.type.remind Herinnering -timerlist.type.shutdown Uitschakelen -timerlist.type.sleeptimer Sleeptimer -timerlist.type.standby Standby -timerlist.type.unknown Onbekend -timerlist.type.zapto Zap naar -timerlist.weekdays Weekdagen -timerlist.weekdays.hint_1 Ma Di Wo Do Vr Za Zo -timerlist.weekdays.hint_2 'X'=timer '-' geen timer -timersettings.record_safety_time_after Stop opname tijdscorrectie -timersettings.record_safety_time_after.hint_1 Correctie van tijd in min. (00=uit). Deze tijd -timersettings.record_safety_time_after.hint_2 wordt toegevoegd aan iedere stoptijd van de timer. -timersettings.record_safety_time_before Start opname tijdscorrectie -timersettings.record_safety_time_before.hint_1 Correctie van tijd in min. (00=uit). Deze tijd -timersettings.record_safety_time_before.hint_2 will be deducted of every record timer. -timersettings.separator Timer instellingen -timing.chanlist Kanalenlijst -timing.epg Epg -timing.filebrowser Browser voor bestanden -timing.head OSD Timeouts -timing.hint_1 Tijd in sec. Na deze tijd zal de -timing.hint_2 infobar verdwijnen. -timing.infobar Infobar -timing.menu Menu -videomenu.csync Sync.-correctie -videomenu.screensetup Scherm Setup -videomenu.videoformat Formaat -videomenu.videoformat_169 16:9 -videomenu.videoformat_43 4:3 (LB) -videomenu.videoformat_431 4:3 (PS) -videomenu.videosignal Video uit -videomenu.videosignal_composite CVBS -videomenu.videosignal_rgb RGB + CVBS -videomenu.videosignal_svideo S-Video -videomenu.videosignal_yuv_c YUV + CVBS -videomenu.videosignal_yuv_v YUV + VBS -zaptotimer.announce Zapto timer in 1 minuut. From 142d7c204c6ce52e4242814e94cbfc9e9e6d3912 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Wed, 15 May 2013 16:28:54 +0400 Subject: [PATCH 50/62] english.locale: fix copy-paste --- data/locale/english.locale | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/locale/english.locale b/data/locale/english.locale index bf6dc58f3..de3d717df 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -98,7 +98,7 @@ GENRE.TRAVEL_HOBBIES.7 gardening GENRE.UNKNOWN unknown apidselector.head Select language audio.srs_algo Type -audio.srs_algo_heavy Light +audio.srs_algo_heavy Heavy audio.srs_algo_light Light audio.srs_algo_normal Normal audio.srs_iq SRS TruVolume algo From 3959771c18f25488f5c1175694dff5a7380aab2d Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Tue, 21 May 2013 16:54:05 +0400 Subject: [PATCH 51/62] system/flashtool.cpp: use buffer on stack --- src/system/flashtool.cpp | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/src/system/flashtool.cpp b/src/system/flashtool.cpp index 13f4a4580..0806022dd 100644 --- a/src/system/flashtool.cpp +++ b/src/system/flashtool.cpp @@ -100,13 +100,7 @@ bool CFlashTool::readFromMTD( const std::string & filename, int globalProgressEn filesize = CMTDInfo::getInstance()->getMTDSize(mtdDevice); - unsigned char * buf = new unsigned char[meminfo.writesize]; - if (buf == NULL) { - printf("CFlashTool::program: mem alloc failed\n"); - close(fd); - close(fd1); - return false; - } + unsigned char buf[meminfo.writesize]; unsigned mtdoffset = 0; long fsize = filesize; while(fsize > 0) { @@ -149,7 +143,6 @@ bool CFlashTool::readFromMTD( const std::string & filename, int globalProgressEn if(statusViewer) statusViewer->showLocalStatus(100); - delete[] buf; close(fd); close(fd1); return true; @@ -210,13 +203,7 @@ bool CFlashTool::program( const std::string & filename, int globalProgressEndEra if(statusViewer) globalProgressBegin = statusViewer->getGlobalStatus(); - unsigned char * buf = new unsigned char[meminfo.writesize]; - if (buf == NULL) { - printf("CFlashTool::program: mem alloc failed\n"); - close(fd); - close(fd1); - return false; - } + unsigned char buf[meminfo.writesize]; unsigned mtdoffset = 0; unsigned fsize = filesize; printf("CFlashTool::program: file %s write size %d, erase size %d\n", filename.c_str(), meminfo.writesize, meminfo.erasesize); @@ -269,7 +256,6 @@ bool CFlashTool::program( const std::string & filename, int globalProgressEndEra if(statusViewer) statusViewer->showLocalStatus(100); - delete[] buf; close(fd1); close(fd); // FIXME error message @@ -289,7 +275,7 @@ bool CFlashTool::getInfo() meminfo.writesize = 1024; isnand = (meminfo.type == MTD_NANDFLASH); - printf("CFlashTool::getInfo: NAND: %s\n", isnand ? "yes" : "no"); + printf("CFlashTool::getInfo: NAND: %s writesize %d\n", isnand ? "yes" : "no", meminfo.writesize); return true; } From 87032e1438309c54e21f9681917682205ff5c6ba Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Wed, 29 May 2013 18:06:17 +0400 Subject: [PATCH 52/62] add hint icon for youtube feeds playback --- data/icons/Makefile.am | 1 + data/icons/hint_ytplay.png | Bin 0 -> 3495 bytes 2 files changed, 1 insertion(+) create mode 100644 data/icons/hint_ytplay.png diff --git a/data/icons/Makefile.am b/data/icons/Makefile.am index 6c85adf37..b51421e48 100644 --- a/data/icons/Makefile.am +++ b/data/icons/Makefile.am @@ -125,6 +125,7 @@ install_DATA += \ hint_tvradio_switch.png \ hint_vfd.png \ hint_video.png \ + hint_ytplay.png \ home.png \ icon_green.png \ icon_movieplayer.png \ diff --git a/data/icons/hint_ytplay.png b/data/icons/hint_ytplay.png new file mode 100644 index 0000000000000000000000000000000000000000..0d687cca0861acb476e86a42068f16ebf6ff898a GIT binary patch literal 3495 zcmV;Y4OsGtP)P2>TjHSQOdS3et*5QNi7wPNyw)aRcjCjIn2Qs#a}vL{#*+wc17diB)j} zkyWeq^mJOSI;SdHH+Gc81zAGE8Ui7_x!;!r=|C`P$Eov9An)aS@B7~G{qMc+zJ$R4 zc_I4B#h1hQvKHlQgn&CAKjz^TLjUaPX$w0Iiu2J>3ixWYwJ<+5>H4qAE`SR-`3i+1 zUg+qw%+t-yibwv?^PVY4m0Yf_cvN{}po_C)%+;J$ZmJnUfl-z=HYuZhysb2ql>qJS z6rQNlz23cTsE?_2a%og z0|*L~czX6{-0JEGumI@nXn90uc~9!y+T|7&RO#$OtUA=-T~ou^YJt5yfSo-Jcw9*Y zeci{vJ&md(K$WvI0z8zyk*5PV85k((-@hN@Ca(hyz=%>~YYXbF+rh)i3h0u*L5s2# zZqA<%BS(w?{s)VIJS$UV0ff#_`H%(3*8*e*4w3YC_h8)W(TS;X3a}x$bkPT7WK0ay ze6Wa?l$8;?ZQCKBtdurw-)7uu{vHJg0ysL+%F0UVoB4WxAwwkn+}#-0hI#_rW?@_u zst6fQUi$PiQ0_~lmvVB*XsnYR+iCm73q*~5<>nStz~>PMl?r&BowO6jDa_5m635!A z)kI-t1{9srNu@GA3gN5T-jP;TJ(fo07ia;phP)v05Q`btrY7JNFtXIy*@MIGJs_;E zhVz#%!z**=LfxF%pi;=;{E$ExFl{=xySYNg4?ln~GZR{H%#GP|U?`fY)qSiDX$v87eDwbCgCg?fO&5;tdOMyyn70Za&^_rt;=*|-s! zvoqxtc$UxDzSKhWyq$B7~i0YD3I`%MIhj)vM9(~J+jEP%B& zt(MhE-zwArWDFi8aTN*~k*XD=kZBp5!qE|2zGlFCzyPR-o(UZl6_7t{7>q>)(T z<2pIm?A!%zmoCENloV)0fME1T*}8R*8x;kUFbGsln`Zn2F;T0vw1OJBT>5rlkrp6* z5CS+lFrxN$lT3(xSD_Quulkt292Q3IBLHn_q4~o?$hb|LKqgs0G5I342;h3@B7K~k zLYi>m!8o=iejUk=VijNkrkZ3zwdUruroKV?PLU2EZO}l8*xsITQL_Nr?qFmxr{eRV zX6Z6IHX@Rg$FKlOS~zSN8ILAZBZ=hz?00?+Vgz`UoJ^GK;$bMxraCT;6ik@{lMvt$ z3t(&lh%K4GoXQ#-5ujKLaAM#fIAmu*<>}MV z7QY^bT3f-L)vG}ky8vFDFagTmdE590B10W6T3t(vbZT*l4j>>v;%sHb2)T2QX$rLA z&FYtbM8}L7LrP{$htB3^s9i6Z!0`ZoiO|xL5waF$q7QW7JzGbOqFw_A5P3#M z*I`H_6oSL}@l?R$k*0I!phG6(K5zH;2iNd$s=R!eG+`d)>>mJ4S(zsJfE<$rg-Ruz zUUF9pkm8R37Uql-uBNFb^gl1SUQt~lRvcPENUR(rDjg3zoQ;+@Y+tt#UdVpho2p|wJ_GWy8w%3Z2 z&vJ8vn2iZEI5?PC;CbK=OuC0zsxi5HRC*5{tXV@XN=y6nfyNFEtyin1(f96Y0gfVo z6^}3?fxw`0=PfK?0;UAv;o;BJLaJ`wgwll)fYw%neQMQeP<2vij2_^KpDzON85e-_Rr)Q6`X-P?>si+9%CL~ZEpa0ZvB{Uih z{q^m)NPBs?LDgjH4yx+ZNN3$E)dC#$MF2jJ5eftbrMo$C5=ggffs_08(azmp5g~3S zc#Y_CEgG7ZP8-_rve zVgYzO#!+DQo4a-|w3pZ~DO-Bdt@Lu0z-Rjgy2>xm}ID`xXGfc2>g?o%kT)rFz z-MI}Br_TT%4>QJ;9NZ99g@wIdV@d1P9l!$2F6{pl zo@dd#Ns~c>8Kxd!e_R~(WC57H96;iV6~yP(Ef|056g{wZE%Cl_1IA@%)59Cq6R-2< zp=t17YEe=`Y(yf6OwXVh$BvP*?b{&|Q}3pG_o(?xFOqS4zQzL=k6w$3Axh4KdOsht zQHTYYqX#(X>w^G%#uhV6Lng!lBqXo^TzfyJ#r-k28P0qSE+fKV|Eg8M+WP3MEJ#`x z2mTmMMrCBe;f)(0;7%??W@p1GJn%SP{sl&!NQ0dpehA_6I*7pfS@bQNix*(z@l>$J zv?FKMEZ}^=fC)8gI-w1ncy4Lg695ZTzy_lP(TYWhj#gjKM<-r@6JQl!57!7l`<*#W zhVNkkM$iKve@y%kAR;r9CgEwz4*^D}r_;j;3B*754n$^U)8wsNiR<}u5Se;{?pd;g zgf=#UJ%ap<{RS5lkjUg@u=envIkVqGCobxB9xMPJQ&9mbou^mefDXW#$2aH$g_9;h z?E3X!#zr6f;6Qvl^*D2egznkH0qkc1SZB@1q=yi|_Z9-2NTWwKZ6bcTr~rZ`Z`(%1 z2r%Y&DrG+WI|(W-21SPk4}p}rJ2{ciBS*ldUq5;k0hC3>27N%;siEy?Li6+r?Ds(c zKA*87h71Ux2m#)Yk7oh6_5pT?8=7t1f;eE7wy#fa}Y@qIE&yvtDzto!0nl;1+O(-%g4IOs_@zw&+qnkGq-@IJT zaXAGpT!67DDHH+72;5Oe9Xkd`cJHQDKm9}&AdC~{SXbxHCCXyM3bdhOZ3ytb9^e}e zfXA4FVFikH0D31*LVs}k?mGzm;tOyI4TVE-anLU(2i!5=Peuh^v9yGdxYEbaK|QZt z1%FiH=+2!ms-XcQ@biovJHX|aU%&@dP2RN&MmIOZ=%Yu$64UT2^XK)cKs&Gsbp95= z9DP90hXQx;+FEGDXk(4n?EU=-L3Jr^QkQ4VBC5(q z2KNCC)_VZ33h=vr*Xv0xcXxxan2n0W;%E93ll=O1dVA#x(uwIpufGql0H6g}pa)3w z_Li8V6LaTD0|zoT2=mboUdHHQWorx1qBNj_x#$yZRaJ&NvEK>eKQ;0XyAcdO%nfu|>R4hbPvj!s>h%pX;N;>OfeR!$VxuYpF{+WWKhb*@D?1teVx zAOJcrL-jW`;aiD5`x{gL9b;G#(2<`2>}5>|73kFUd!7r+z{7V|frWY#VgUpk041~! z6YAbJXl5qXf6o}q*r>WY0ORdFk4MNi2*K;X!+Ym*3}A)|u(^|l(pUsIpjSYQlg>o4 zQT#sgq35BnW{!(|AI)ei0#tO(79rg5;x?@M|Jjp#N~y(3ua=gV=dq3Fd%2A${{}uv VJE`!#GZ6p)002ovPDHLkV1frpcLD$a literal 0 HcmV?d00001 From 3cfd62b9e1795e1abdeeb12ef031dc5b004a7c78 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Wed, 29 May 2013 18:06:44 +0400 Subject: [PATCH 53/62] locals: add locales for youtube feeds playback --- data/locale/english.locale | 20 +++++++++++++++++++- src/system/locals.h | 18 ++++++++++++++++++ src/system/locals_intern.h | 18 ++++++++++++++++++ 3 files changed, 55 insertions(+), 1 deletion(-) diff --git a/data/locale/english.locale b/data/locale/english.locale index de3d717df..56642a043 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -321,7 +321,7 @@ eventfinder.search Search eventfinder.search_within_epg Search within eventfinder.search_within_list Search within eventfinder.searching Search for keyword in EPG... -eventfinder.start_search Start Search +eventfinder.start_search Start Search eventlistbar.channelswitch schedule eventlistbar.eventsort sorting eventlistbar.recordevent record @@ -1107,6 +1107,7 @@ menu.hint_video_saturation Change picture saturation menu.hint_video_scart_mode Select analog output mode for SCART connectors menu.hint_volume_digits Numeric display of the volumebar on/off menu.hint_volume_pos Select volume indicator position +menu.hint_ytplay Play selected youtube feeds menu.hint_zap_cycle When swithing channels, stay in current bouquet menu.next Next (press Menu to quit) messagebox.back Back @@ -1339,6 +1340,22 @@ moviebrowser.update_if_dest_empty_only Copy if destination is empty only moviebrowser.use_dir Use directory moviebrowser.use_movie_dir Use movie directory moviebrowser.use_rec_dir Use record directory +moviebrowser.yt_error Failed to load youtube feed +moviebrowser.yt_max_results Max results to fetch +moviebrowser.yt_most_discussed Most discussed +moviebrowser.yt_most_popular Most popular +moviebrowser.yt_most_resent Most resent +moviebrowser.yt_most_responded Most responded +moviebrowser.yt_most_shared Most shared +moviebrowser.yt_next_results Next results +moviebrowser.yt_on_the_web Trending videos +moviebrowser.yt_prev_results Previous results +moviebrowser.yt_recently_featured Recently featured +moviebrowser.yt_region Region +moviebrowser.yt_related Related videos +moviebrowser.yt_search Search keyword +moviebrowser.yt_top_favorites Top favorites +moviebrowser.yt_top_rated Top rated movieplayer.bookmark Bookmarks movieplayer.bookmarkname Bookmarkname movieplayer.bookmarkname_hint1 Enter a name for your new bookmark @@ -1360,6 +1377,7 @@ movieplayer.tshelp7 skip approx. 1 minute movieplayer.tshelp8 approx. 5 minutes back movieplayer.tshelp9 skip approx. 5 minutes movieplayer.tsplayback Play TS +movieplayer.ytplayback Youtube feeds playback mpkey.audio Audio track mpkey.bookmark save bookmark mpkey.forward Forward diff --git a/src/system/locals.h b/src/system/locals.h index 82fd5576d..ff46c39aa 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -1134,6 +1134,7 @@ typedef enum LOCALE_MENU_HINT_VIDEO_SCART_MODE, LOCALE_MENU_HINT_VOLUME_DIGITS, LOCALE_MENU_HINT_VOLUME_POS, + LOCALE_MENU_HINT_YTPLAY, LOCALE_MENU_HINT_ZAP_CYCLE, LOCALE_MENU_NEXT, LOCALE_MESSAGEBOX_BACK, @@ -1366,6 +1367,22 @@ typedef enum LOCALE_MOVIEBROWSER_USE_DIR, LOCALE_MOVIEBROWSER_USE_MOVIE_DIR, LOCALE_MOVIEBROWSER_USE_REC_DIR, + LOCALE_MOVIEBROWSER_YT_ERROR, + LOCALE_MOVIEBROWSER_YT_MAX_RESULTS, + LOCALE_MOVIEBROWSER_YT_MOST_DISCUSSED, + LOCALE_MOVIEBROWSER_YT_MOST_POPULAR, + LOCALE_MOVIEBROWSER_YT_MOST_RESENT, + LOCALE_MOVIEBROWSER_YT_MOST_RESPONDED, + LOCALE_MOVIEBROWSER_YT_MOST_SHARED, + LOCALE_MOVIEBROWSER_YT_NEXT_RESULTS, + LOCALE_MOVIEBROWSER_YT_ON_THE_WEB, + LOCALE_MOVIEBROWSER_YT_PREV_RESULTS, + LOCALE_MOVIEBROWSER_YT_RECENTLY_FEATURED, + LOCALE_MOVIEBROWSER_YT_REGION, + LOCALE_MOVIEBROWSER_YT_RELATED, + LOCALE_MOVIEBROWSER_YT_SEARCH, + LOCALE_MOVIEBROWSER_YT_TOP_FAVORITES, + LOCALE_MOVIEBROWSER_YT_TOP_RATED, LOCALE_MOVIEPLAYER_BOOKMARK, LOCALE_MOVIEPLAYER_BOOKMARKNAME, LOCALE_MOVIEPLAYER_BOOKMARKNAME_HINT1, @@ -1387,6 +1404,7 @@ typedef enum LOCALE_MOVIEPLAYER_TSHELP8, LOCALE_MOVIEPLAYER_TSHELP9, LOCALE_MOVIEPLAYER_TSPLAYBACK, + LOCALE_MOVIEPLAYER_YTPLAYBACK, LOCALE_MPKEY_AUDIO, LOCALE_MPKEY_BOOKMARK, LOCALE_MPKEY_FORWARD, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 0363b31bd..9266736d0 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -1134,6 +1134,7 @@ const char * locale_real_names[] = "menu.hint_video_scart_mode", "menu.hint_volume_digits", "menu.hint_volume_pos", + "menu.hint_ytplay", "menu.hint_zap_cycle", "menu.next", "messagebox.back", @@ -1366,6 +1367,22 @@ const char * locale_real_names[] = "moviebrowser.use_dir", "moviebrowser.use_movie_dir", "moviebrowser.use_rec_dir", + "moviebrowser.yt_error", + "moviebrowser.yt_max_results", + "moviebrowser.yt_most_discussed", + "moviebrowser.yt_most_popular", + "moviebrowser.yt_most_resent", + "moviebrowser.yt_most_responded", + "moviebrowser.yt_most_shared", + "moviebrowser.yt_next_results", + "moviebrowser.yt_on_the_web", + "moviebrowser.yt_prev_results", + "moviebrowser.yt_recently_featured", + "moviebrowser.yt_region", + "moviebrowser.yt_related", + "moviebrowser.yt_search", + "moviebrowser.yt_top_favorites", + "moviebrowser.yt_top_rated", "movieplayer.bookmark", "movieplayer.bookmarkname", "movieplayer.bookmarkname_hint1", @@ -1387,6 +1404,7 @@ const char * locale_real_names[] = "movieplayer.tshelp8", "movieplayer.tshelp9", "movieplayer.tsplayback", + "movieplayer.ytplayback", "mpkey.audio", "mpkey.bookmark", "mpkey.forward", From 82721e92e869db2620062e1e0b659f14856333ca Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Wed, 29 May 2013 18:07:57 +0400 Subject: [PATCH 54/62] system/settings.cpp: add personalize item for youtube feeed playback --- src/system/settings.cpp | 1 + src/system/settings.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/system/settings.cpp b/src/system/settings.cpp index 1f75181e6..d848aec29 100644 --- a/src/system/settings.cpp +++ b/src/system/settings.cpp @@ -92,6 +92,7 @@ const struct personalize_settings_t personalize_settings[SNeutrinoSettings::P_SE //media menu->movieplayer {"personalize_mplayer_mbrowswer" , CPersonalizeGui::PERSONALIZE_MODE_VISIBLE}, {"personalize_mplayer_fileplay" , CPersonalizeGui::PERSONALIZE_MODE_VISIBLE}, + {"personalize_mplayer_ytplay" , CPersonalizeGui::PERSONALIZE_MODE_VISIBLE}, //key {"personalize_feat_key_fav" , CPersonalizeGui::PERSONALIZE_FEAT_KEY_GREEN}, diff --git a/src/system/settings.h b/src/system/settings.h index 54ccf2847..88a491e4e 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -213,6 +213,7 @@ struct SNeutrinoSettings //movieplayer menu P_MPLAYER_MBROWSER, P_MPLAYER_FILEPLAY, + P_MPLAYER_YTPLAY, //feature keys P_FEAT_KEY_FAVORIT, From 3e88fb4ab38280bbcc5d0a8f4b05f2224f8d344f Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Wed, 29 May 2013 18:08:34 +0400 Subject: [PATCH 55/62] add youtube feeds parser --- src/system/Makefile.am | 1 + src/system/ytparser.cpp | 596 ++++++++++++++++++++++++++++++++++++++++ src/system/ytparser.h | 142 ++++++++++ 3 files changed, 739 insertions(+) create mode 100644 src/system/ytparser.cpp create mode 100644 src/system/ytparser.h diff --git a/src/system/Makefile.am b/src/system/Makefile.am index 081507c44..2ed9e2309 100644 --- a/src/system/Makefile.am +++ b/src/system/Makefile.am @@ -38,4 +38,5 @@ libneutrino_system_a_SOURCES = \ helpers.cpp \ ping.c \ settings.cpp \ + ytparser.cpp \ setting_helpers.cpp diff --git a/src/system/ytparser.cpp b/src/system/ytparser.cpp new file mode 100644 index 000000000..db3be26a5 --- /dev/null +++ b/src/system/ytparser.cpp @@ -0,0 +1,596 @@ +/* + Copyright (C) 2013 CoolStream International Ltd + + License: GPLv2 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "ytparser.h" + +#if LIBCURL_VERSION_NUM < 0x071507 +#error +#include +#endif + +#define URL_TIMEOUT 60 + +std::string cYTVideoUrl::GetUrl() +{ + std::string fullurl = url; + fullurl += "&signature="; + fullurl += sig; + return fullurl; +} + +void cYTVideoInfo::Dump() +{ + printf("id: %s\n", id.c_str()); + printf("author: %s\n", author.c_str()); + printf("title: %s\n", title.c_str()); + printf("duration: %d\n", duration); + //printf("description: %s\n", description.c_str()); + printf("urls: %d\n", formats.size()); + for (yt_urlmap_iterator_t it = formats.begin(); it != formats.end(); ++it) { + printf("format %d type [%s] url %s\n", it->first, it->second.type.c_str(), it->second.GetUrl().c_str()); + } + printf("===================================================================\n"); +} + +std::string cYTVideoInfo::GetUrl(int fmt) +{ + yt_urlmap_iterator_t it; + if (fmt) { + if ((it = formats.find(fmt)) != formats.end()) + return it->second.GetUrl(); + return ""; + } + if ((it = formats.find(37)) != formats.end()) + return it->second.GetUrl(); + if ((it = formats.find(22)) != formats.end()) + return it->second.GetUrl(); + if ((it = formats.find(18)) != formats.end()) + return it->second.GetUrl(); + return ""; +} + +cYTFeedParser::cYTFeedParser() +{ + thumbnail_dir = "/tmp/ytparser"; + parsed = false; + feedmode = -1; + tquality = "mqdefault"; + max_results = 25; +} + +cYTFeedParser::~cYTFeedParser() +{ +} + +size_t cYTFeedParser::CurlWriteToString(void *ptr, size_t size, size_t nmemb, void *data) +{ + std::string* pStr = (std::string*) data; + pStr->append((char*) ptr, nmemb); + return size*nmemb; +} + +bool cYTFeedParser::getUrl(std::string &url, std::string &answer) +{ + CURL * curl_handle = curl_easy_init(); + curl_easy_setopt(curl_handle, CURLOPT_URL, url.c_str()); + curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, &cYTFeedParser::CurlWriteToString); + curl_easy_setopt(curl_handle, CURLOPT_FILE, (void *)&answer); + curl_easy_setopt(curl_handle, CURLOPT_FAILONERROR, 1); + curl_easy_setopt(curl_handle, CURLOPT_TIMEOUT, URL_TIMEOUT); + curl_easy_setopt(curl_handle, CURLOPT_NOSIGNAL, (long)1); + + char cerror[CURL_ERROR_SIZE]; + curl_easy_setopt(curl_handle, CURLOPT_ERRORBUFFER, cerror); + + printf("try to get [%s] ...\n", url.c_str()); + CURLcode httpres = curl_easy_perform(curl_handle); + + curl_easy_cleanup(curl_handle); + + printf("http: res %d size %d\n", httpres, answer.size()); + + if (httpres != 0 || answer.empty()) { + printf("error: %s\n", cerror); + return false; + } + return true; +} + +bool cYTFeedParser::DownloadUrl(std::string &url, std::string &file) +{ + FILE * fp = fopen(file.c_str(), "wb"); + if (fp == NULL) { + perror(file.c_str()); + return false; + } + CURL * curl_handle = curl_easy_init(); + curl_easy_setopt(curl_handle, CURLOPT_URL, url.c_str()); + curl_easy_setopt(curl_handle, CURLOPT_FILE, fp); + curl_easy_setopt(curl_handle, CURLOPT_FAILONERROR, 1); + curl_easy_setopt(curl_handle, CURLOPT_TIMEOUT, URL_TIMEOUT); + curl_easy_setopt(curl_handle, CURLOPT_NOSIGNAL, (long)1); + + char cerror[CURL_ERROR_SIZE]; + curl_easy_setopt(curl_handle, CURLOPT_ERRORBUFFER, cerror); + + printf("try to get [%s] ...\n", url.c_str()); + CURLcode httpres = curl_easy_perform(curl_handle); + + double dsize; + curl_easy_getinfo(curl_handle, CURLINFO_SIZE_DOWNLOAD, &dsize); + curl_easy_cleanup(curl_handle); + fclose(fp); + + printf("http: res %d size %f.\n", httpres, dsize); + + if (httpres != 0) { + printf("curl error: %s\n", cerror); + unlink(file.c_str()); + return false; + } + return true; +} + +void cYTFeedParser::decodeUrl(std::string &url) +{ + CURL * curl_handle = curl_easy_init(); + char * str = curl_easy_unescape(curl_handle, url.c_str(), 0, NULL); + curl_easy_cleanup(curl_handle); + if(str) + url = str; + curl_free(str); +} + +void cYTFeedParser::splitString(std::string &str, std::string delim, std::vector &strlist, int start) +{ + strlist.clear(); + int end = 0; + while ((end = str.find(delim, start)) != std::string::npos) { + strlist.push_back(str.substr(start, end - start)); + start = end + delim.size(); + } + strlist.push_back(str.substr(start)); +} + +void cYTFeedParser::splitString(std::string &str, std::string delim, std::map &strmap, int start) +{ + int end = 0; + if ((end = str.find(delim, start)) != std::string::npos) { + strmap[str.substr(start, end - start)] = str.substr(end - start + delim.size()); + } +} + +bool cYTFeedParser::saveToFile(const char * name, std::string str) +{ + FILE * fp = fopen(name, "w+"); + if (fp) { + fprintf(fp, "%s", str.c_str()); + fclose(fp); + return false; + } + printf("cYTFeedParser::saveToFile: failed to open %s\n", name); + return false; +} + +std::string cYTFeedParser::getXmlName(xmlNodePtr node) +{ + std::string result; + char * name = xmlGetName(node); + if (name) + result = name; + return result; +} + +std::string cYTFeedParser::getXmlAttr(xmlNodePtr node, const char * attr) +{ + std::string result; + char * value = xmlGetAttribute(node, attr); + if (value) + result = value; + return result; +} + +std::string cYTFeedParser::getXmlData(xmlNodePtr node) +{ + std::string result; + char * value = xmlGetData(node); + if (value) + result = value; + return result; +} + +bool cYTFeedParser::parseFeedXml(std::string &answer) +{ + xmlDocPtr answer_parser = parseXmlFile(curfeedfile.c_str()); + if (answer_parser == NULL) + answer_parser = parseXml(answer.c_str()); + + if (answer_parser == NULL) { + printf("failed to parse xml\n"); + return false; + } + next.clear(); + prev.clear(); + total.clear(); + start.clear(); + xmlNodePtr entry = xmlDocGetRootElement(answer_parser)->xmlChildrenNode; + while (entry) { + std::string name = getXmlName(entry); +#ifdef DEBUG_PARSER + printf("entry: %s\n", name.c_str()); +#endif + if (name == "openSearch:startIndex") { + start = getXmlData(entry); + printf("start %s\n", start.c_str()); + } else if (name == "openSearch:totalResults") { + total = getXmlData(entry); + printf("total %s\n", total.c_str()); + } + else if (name == "link") { + std::string link = getXmlAttr(entry, "rel"); + if (link == "next") { + next = getXmlAttr(entry, "href"); + printf(" next [%s]\n", next.c_str()); + } else if (link == "previous") { + prev = getXmlAttr(entry, "href"); + printf(" prev [%s]\n", prev.c_str()); + } + } + else if (name != "entry") { + entry = entry->xmlNextNode; + continue; + } + xmlNodePtr node = entry->xmlChildrenNode; + cYTVideoInfo vinfo; + std::string thumbnail; + while (node) { + name = getXmlName(node); +#ifdef DEBUG_PARSER + printf(" node: %s\n", name.c_str()); +#endif + if (name == "title") { +#ifdef DEBUG_PARSER + printf(" title [%s]\n", getXmlData(node).c_str()); +#endif + vinfo.title = getXmlData(node); + } + else if (name == "published") { + vinfo.published = getXmlData(node).substr(0, 10); + } + else if (name == "author") { + xmlNodePtr author = node->xmlChildrenNode; + while(author) { + name = getXmlName(author); + if (name == "name") { +#ifdef DEBUG_PARSER + printf(" author [%s]\n", getXmlData(author).c_str()); +#endif + vinfo.author = getXmlData(author); + } + author = author->xmlNextNode; + } + } + else if (name == "media:group") { + xmlNodePtr media = node->xmlChildrenNode; + while (media) { + name = getXmlName(media); + if (name == "media:description") { + vinfo.description = getXmlData(media).c_str(); + } + else if (name == "media:category") { + vinfo.category = getXmlData(media).c_str(); + } + else if (name == "yt:videoid") { +#ifdef DEBUG_PARSER + printf(" id [%s]\n", getXmlData(media).c_str()); +#endif + vinfo.id = getXmlData(media).c_str(); + } + else if (name == "media:thumbnail") { + /* save first found */ + if (thumbnail.empty()) + thumbnail = getXmlAttr(media, "url"); + + /* check wanted quality */ + if (tquality == getXmlAttr(media, "yt:name")) { + vinfo.thumbnail = getXmlAttr(media, "url"); +#ifdef DEBUG_PARSER + printf("vinfo.thumbnail [%s]\n", vinfo.thumbnail.c_str()); +#endif + } + } + else if (name == "yt:duration") { + vinfo.duration = atoi(getXmlAttr(media, "seconds").c_str()); + } +#if 0 + else if (name == "media:player") { + std::string url = getXmlAttr(media, "url"); + printf(" media:player [%s]\n", url.c_str()); + } + else if (name == "media:title") { + } +#endif + media = media->xmlNextNode; + } + } + node = node->xmlNextNode; + } + if (!vinfo.id.empty()) { + /* save first one, if wanted not found */ + if (vinfo.thumbnail.empty()) + vinfo.thumbnail = thumbnail; + if (ParseVideoInfo(vinfo)) + videos.push_back(vinfo); + } + entry = entry->xmlNextNode; + } + xmlFreeDoc(answer_parser); + parsed = !videos.empty(); + return parsed; +} + +bool cYTFeedParser::supportedFormat(int fmt) +{ + if((fmt == 37) || (fmt == 22) || (fmt == 18)) + return true; + return false; +} + +bool cYTFeedParser::decodeVideoInfo(std::string &answer, cYTVideoInfo &vinfo) +{ + bool ret = false; + decodeUrl(answer); +#if 0 + std::string infofile = thumbnail_dir; + infofile += "/"; + infofile += vinfo.id; + infofile += ".txt" + saveToFile(infofile.c_str(), answer); +#endif + if(answer.find("token=") == std::string::npos) + return ret; + + //FIXME check expire + std::vector ulist; + unsigned fmt = answer.find("url_encoded_fmt_stream_map="); + if (fmt != std::string::npos) { + fmt = answer.find("=", fmt); + splitString(answer, ",", ulist, fmt+1); + for (unsigned i = 0; i < ulist.size(); i++) { +#if 0 // to decode all params + decodeUrl(ulist[i]); + printf("URL: %s\n", ulist[i].c_str()); +#endif + std::map smap; + std::vector uparams; + splitString(ulist[i], "&", uparams); + if (uparams.size() < 3) + continue; + for (unsigned j = 0; j < uparams.size(); j++) { + decodeUrl(uparams[j]); +#ifdef DEBUG_PARSER + printf(" param: %s\n", uparams[j].c_str()); +#endif + splitString(uparams[j], "=", smap); + } +#ifdef DEBUG_PARSER + printf("=========================================================\n"); +#endif + cYTVideoUrl yurl; + yurl.url = smap["url"]; + yurl.sig = smap["sig"]; + int id = atoi(smap["itag"].c_str()); + if (supportedFormat(id) && !yurl.url.empty() && !yurl.sig.empty()) { + yurl.quality = smap["quality"]; + yurl.type = smap["type"]; + vinfo.formats.insert(yt_urlmap_pair_t(id, yurl)); + ret = true; + } + } + } + return ret; +} + +bool cYTFeedParser::ParseFeed(std::string &url) +{ + videos.clear(); + + std::string answer; + curfeedfile = thumbnail_dir; + curfeedfile += "/"; + curfeedfile += curfeed; + curfeedfile += ".xml"; +#ifdef CACHE_FILES + if(!DownloadUrl(url, cfile)) + return false; +#else + if (!getUrl(url, answer)) + return false; +#endif + return parseFeedXml(answer); +} + +bool cYTFeedParser::ParseFeed(yt_feed_mode_t mode, std::string search, std::string vid) +{ + std::string url = "http://gdata.youtube.com/feeds/api/standardfeeds/"; + bool append_res = true; + if (mode < FEED_LAST) { + switch(mode) { + case TOP_RATED: + curfeed = "top_rated"; + break; + case TOP_FAVORITES: + curfeed = "top_favorites"; + break; + case MOST_SHARED: + curfeed = "most_shared"; + break; + case MOST_POPULAR: + default: + curfeed = "most_popular"; + break; + case MOST_RESENT: + curfeed = "most_recent"; + break; + case MOST_DISCUSSED: + curfeed = "most_discussed"; + break; + case MOST_RESPONDED: + curfeed = "most_responded"; + break; + case RECENTLY_FEATURED: + curfeed = "recently_featured"; + break; + case ON_THE_WEB: + curfeed = "on_the_web"; + break; + } + if (!region.empty()) { + url += region; + url += "/"; + } + url += curfeed; + url += "?"; + } + else if (mode == NEXT) { + if (next.empty()) + return false; + url = next; + append_res = false; + } + else if (mode == PREV) { + if (prev.empty()) + return false; + url = prev; + append_res = false; + } + else if (mode == RELATED) { + if (vid.empty()) + return false; + url = "http://gdata.youtube.com/feeds/api/videos/"; + url += vid; + url += "/related?"; + } + else if (mode == SEARCH) { + if (search.empty()) + return false; + url = "http://gdata.youtube.com/feeds/api/videos?q="; + url += search; + url += "&"; + } + + feedmode = mode; + if (append_res) { + url += "v=2&max-results="; + char res[10]; + sprintf(res, "%d", max_results); + url+= res; + } + + return ParseFeed(url); +} + +bool cYTFeedParser::ParseVideoInfo(cYTVideoInfo &vinfo) +{ + bool ret = false; + std::vector estr; + estr.push_back("&el=embedded"); + estr.push_back("&el=vevo"); + estr.push_back("&el=detailpage"); + + for (unsigned i = 0; i < estr.size(); i++) { + std::string vurl = "http://www.youtube.com/get_video_info?video_id="; + vurl += vinfo.id; + vurl += estr[i]; + vurl += "&ps=default&eurl=&gl=US&hl=en"; + printf("cYTFeedParser::ParseVideoInfo: get [%s]\n", vurl.c_str()); + std::string answer; + if (!getUrl(vurl, answer)) + continue; + ret = decodeVideoInfo(answer, vinfo); + if (ret) + break; + } + return ret; +} + +bool cYTFeedParser::DownloadThumbnails() +{ + bool ret = false; + if (mkdir(thumbnail_dir.c_str(), 0755)) { + perror(thumbnail_dir.c_str()); + //return ret; + } + for (unsigned i = 0; i < videos.size(); i++) { + if (!videos[i].thumbnail.empty()) { + std::string fname = thumbnail_dir; + fname += "/"; + fname += videos[i].id; + fname += ".jpg"; + bool found = !access(fname.c_str(), F_OK); + if (!found) + found = DownloadUrl(videos[i].thumbnail, fname); + if (found) + videos[i].tfile = fname; + ret |= found; + } + } + return ret; +} + +bool cYTFeedParser::GetVideoUrls() +{ + bool ret = false; + for (unsigned i = 0; i < videos.size(); i++) { + ret |= ParseVideoInfo(videos[i]); + } + return ret; +} + +void cYTFeedParser::Cleanup(bool delete_thumbnails) +{ + printf("cYTFeedParser::Cleanup: %d videos\n", videos.size()); + if (delete_thumbnails) { + for (unsigned i = 0; i < videos.size(); i++) { + unlink(videos[i].tfile.c_str()); + } + } + unlink(curfeedfile.c_str()); + videos.clear(); + parsed = false; + feedmode = -1; +} + +void cYTFeedParser::Dump() +{ + printf("feed: %d videos\n", videos.size()); + for (unsigned i = 0; i < videos.size(); i++) + videos[i].Dump(); +} diff --git a/src/system/ytparser.h b/src/system/ytparser.h new file mode 100644 index 000000000..357ac1409 --- /dev/null +++ b/src/system/ytparser.h @@ -0,0 +1,142 @@ +/* + Copyright (C) 2013 CoolStream International Ltd + + License: GPLv2 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#ifndef __YT_PARSER__ +#define __YT_PARSER__ + +#include +#include + +#include +#include +#include +#include + +class cYTVideoUrl +{ + public: + std::string quality; + std::string type; + std::string sig; + std::string url; + + std::string GetUrl(); +}; + +typedef std::map yt_urlmap_t; +typedef std::pair yt_urlmap_pair_t; +typedef yt_urlmap_t::iterator yt_urlmap_iterator_t; + +class cYTVideoInfo +{ + public: + std::string id; + std::string title; + std::string author; + std::string description; + std::string category; + std::string thumbnail; + std::string tfile; + std::string published; + int duration; + yt_urlmap_t formats; + + void Dump(); + std::string GetUrl(int fmt = 0); + +}; + +typedef std::vector yt_video_list_t; + +class cYTFeedParser +{ + private: + std::string error; + std::string thumbnail_dir; + std::string curfeed; + std::string curfeedfile; + std::string tquality; // thumbnail size + std::string region; // more results + std::string next; // next results + std::string prev; // prev results + std::string start; // start index + std::string total; // total results + + int feedmode; + int max_results; + bool parsed; + yt_video_list_t videos; + + std::string getXmlName(xmlNodePtr node); + std::string getXmlAttr(xmlNodePtr node, const char * attr); + std::string getXmlData(xmlNodePtr node); + + static size_t CurlWriteToString(void *ptr, size_t size, size_t nmemb, void *data); + static void decodeUrl(std::string &url); + static void splitString(std::string &str, std::string delim, std::vector &strlist, int start = 0); + static void splitString(std::string &str, std::string delim, std::map &strmap, int start = 0); + static bool saveToFile(const char * name, std::string str); + bool getUrl(std::string &url, std::string &answer); + bool DownloadUrl(std::string &url, std::string &file); + bool parseFeedXml(std::string &answer); + bool decodeVideoInfo(std::string &answer, cYTVideoInfo &vinfo); + bool supportedFormat(int fmt); + bool ParseFeed(std::string &url); + public: + enum yt_feed_mode_t + { + TOP_RATED, + TOP_FAVORITES, + MOST_SHARED, + MOST_POPULAR, + MOST_RESENT, + MOST_DISCUSSED, + MOST_RESPONDED, + RECENTLY_FEATURED, + ON_THE_WEB, + FEED_LAST, + NEXT, + PREV, + RELATED, + SEARCH, + MODE_LAST + }; + cYTFeedParser(); + ~cYTFeedParser(); + + bool ParseFeed(yt_feed_mode_t mode = MOST_POPULAR, std::string search = "", std::string vid = ""); + bool ParseVideoInfo(cYTVideoInfo &vinfo); + bool GetVideoUrls(); + bool DownloadThumbnails(); + void Dump(); + void Cleanup(bool delete_thumbnails = true); + + yt_video_list_t &GetVideoList() { return videos; } + bool Parsed() { return parsed; } + int GetFeedMode() { return feedmode; } + bool HaveNext(void) { return !next.empty(); } + bool HavePrev(void) { return !prev.empty(); } + std::string GetTotal(void) { return total; } + std::string GetError(void) { return error; } + + void SetRegion(std::string reg) { region = reg; } + void SetMaxResults(int count) { max_results = count; } +}; + +#endif From 8bea88b5bf69ee3d0ae296edafb25569dca9a00f Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Wed, 29 May 2013 18:09:19 +0400 Subject: [PATCH 56/62] gui/widget/icons.h: add hint icon for youtube feeds playback --- src/gui/widget/icons.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/widget/icons.h b/src/gui/widget/icons.h index dbeb07bf3..11c42f70f 100644 --- a/src/gui/widget/icons.h +++ b/src/gui/widget/icons.h @@ -241,6 +241,7 @@ #define NEUTRINO_ICON_HINT_FACTORY "hint_factory" /* misc */ +#define NEUTRINO_ICON_HINT_YTPLAY "hint_ytplay" #define NEUTRINO_ICON_VARPATH "/var/share/tuxbox/neutrino/icons/" //alternatively path for user-defined icons From bc16511047ddab1e796290655d1654a29cbcdc34 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Wed, 29 May 2013 18:09:46 +0400 Subject: [PATCH 57/62] gui/mediaplayer.cpp: add youtube feeds playback menu item --- src/gui/mediaplayer.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gui/mediaplayer.cpp b/src/gui/mediaplayer.cpp index b7998ca51..d810753e4 100644 --- a/src/gui/mediaplayer.cpp +++ b/src/gui/mediaplayer.cpp @@ -246,6 +246,8 @@ void CMediaPlayerMenu::showMoviePlayer(CMenuWidget *moviePlayer, CPersonalizeGui fw_mbrowser->setHint(NEUTRINO_ICON_HINT_MB, LOCALE_MENU_HINT_MB); CMenuForwarder *fw_file = new CMenuForwarder(LOCALE_MOVIEPLAYER_FILEPLAYBACK, true, NULL, &CMoviePlayerGui::getInstance(), "fileplayback", CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN); fw_file->setHint(NEUTRINO_ICON_HINT_FILEPLAY, LOCALE_MENU_HINT_FILEPLAY); + CMenuForwarder *fw_yt = new CMenuForwarder(LOCALE_MOVIEPLAYER_YTPLAYBACK, true, NULL, &CMoviePlayerGui::getInstance(), "ytplayback", CRCInput::RC_yellow, NEUTRINO_ICON_BUTTON_YELLOW); + fw_yt->setHint(NEUTRINO_ICON_HINT_YTPLAY, LOCALE_MENU_HINT_YTPLAY); p->addIntroItems(moviePlayer); @@ -254,6 +256,8 @@ void CMediaPlayerMenu::showMoviePlayer(CMenuWidget *moviePlayer, CPersonalizeGui //fileplayback p->addItem(moviePlayer, fw_file, &g_settings.personalize[SNeutrinoSettings::P_MPLAYER_FILEPLAY]); + //ytplayback + p->addItem(moviePlayer, fw_yt, &g_settings.personalize[SNeutrinoSettings::P_MPLAYER_YTPLAY]); // #if 0 // //moviePlayer->addItem(new CMenuForwarder(LOCALE_MOVIEPLAYER_PESPLAYBACK, true, NULL, moviePlayerGui, "pesplayback")); From f4a07e730ec17d815e0f71e7524ffb9a8179d281 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Thu, 30 May 2013 09:57:13 +0400 Subject: [PATCH 58/62] system/ytparser.cpp: try to fix category, if more than one present --- src/system/ytparser.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/system/ytparser.cpp b/src/system/ytparser.cpp index db3be26a5..0c0b833bb 100644 --- a/src/system/ytparser.cpp +++ b/src/system/ytparser.cpp @@ -305,7 +305,8 @@ bool cYTFeedParser::parseFeedXml(std::string &answer) vinfo.description = getXmlData(media).c_str(); } else if (name == "media:category") { - vinfo.category = getXmlData(media).c_str(); + if (vinfo.category.size() < 3) + vinfo.category = getXmlData(media).c_str(); } else if (name == "yt:videoid") { #ifdef DEBUG_PARSER From f4aa8a0d12846c926ed994dba302a094d9e09b7e Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Thu, 30 May 2013 09:59:10 +0400 Subject: [PATCH 59/62] gui/movieinfo.cpp: add fields for youtube feeds player --- src/gui/movieinfo.cpp | 3 +++ src/gui/movieinfo.h | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/gui/movieinfo.cpp b/src/gui/movieinfo.cpp index 4059faa67..2e976d3a4 100644 --- a/src/gui/movieinfo.cpp +++ b/src/gui/movieinfo.cpp @@ -902,6 +902,9 @@ void CMovieInfo::clearMovieInfo(MI_MOVIE_INFO * movie_info) movie_info->bookmarks.user[i].length = 0; movie_info->bookmarks.user[i].name = ""; } + movie_info->tfile.clear(); + movie_info->ytdate.clear(); + movie_info->ytid.clear(); } /************************************************************************ diff --git a/src/gui/movieinfo.h b/src/gui/movieinfo.h index d90369b63..cc4d6683d 100644 --- a/src/gui/movieinfo.h +++ b/src/gui/movieinfo.h @@ -169,7 +169,10 @@ typedef struct int epgVideoPid; // currently not used, we just do not want to loose this info if movie info is saved backed int VideoType; int epgVTXPID; // currently not used, we just do not want to loose this info if movie info is saved backed -}MI_MOVIE_INFO; + std::string tfile; // thumbnail/cover file name + std::string ytdate; // yt published + std::string ytid; // yt published +} MI_MOVIE_INFO; class CMovieInfo From 4c857837d5f92bb0fdadaf2c323605250027da9c Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Thu, 30 May 2013 10:01:29 +0400 Subject: [PATCH 60/62] gui/moviebrowser.cpp: add youtube feeds playback mode --- src/gui/moviebrowser.cpp | 323 +++++++++++++++++++++++++++++++++------ src/gui/moviebrowser.h | 22 +++ 2 files changed, 300 insertions(+), 45 deletions(-) diff --git a/src/gui/moviebrowser.cpp b/src/gui/moviebrowser.cpp index 2bfefd28e..d1aa5c081 100644 --- a/src/gui/moviebrowser.cpp +++ b/src/gui/moviebrowser.cpp @@ -513,7 +513,8 @@ void CMovieBrowser::init(void) refreshLastRecordList(); refreshBrowserList(); refreshFilterList(); - g_PicViewer->getSupportedImageFormats(PicExts); + g_PicViewer->getSupportedImageFormats(PicExts); + show_mode = MB_SHOW_RECORDS; //FIXME #if 0 TRACE_1("Frames\r\n\tScren:\t%3d,%3d,%3d,%3d\r\n\tMain:\t%3d,%3d,%3d,%3d\r\n\tTitle:\t%3d,%3d,%3d,%3d \r\n\tBrowsr:\t%3d,%3d,%3d,%3d \r\n\tPlay:\t%3d,%3d,%3d,%3d \r\n\tRecord:\t%3d,%3d,%3d,%3d\r\n\r\n", g_settings.screen_StartX, @@ -604,6 +605,9 @@ void CMovieBrowser::initGlobalSettings(void) m_settings.browserRowWidth[4] = m_defaultRowWidth[m_settings.browserRowItem[4]]; //30; m_settings.browserRowWidth[5] = m_defaultRowWidth[m_settings.browserRowItem[5]]; //30; + m_settings.ytmode = cYTFeedParser::MOST_POPULAR; + m_settings.ytresults = 10; + m_settings.ytregion = "default"; } void CMovieBrowser::initFrames(void) @@ -766,6 +770,11 @@ bool CMovieBrowser::loadSettings(MB_SETTINGS* settings) snprintf(cfg_key, sizeof(cfg_key), "mb_browserRowWidth_%d", i); settings->browserRowWidth[i] = configfile.getInt32(cfg_key, 50); } + settings->ytmode = configfile.getInt32("mb_ytmode", cYTFeedParser::MOST_POPULAR); + settings->ytresults = configfile.getInt32("mb_ytresults", 10); + settings->ytregion = configfile.getString("mb_ytregion", "default"); + settings->ytsearch = configfile.getString("mb_ytsearch", ""); + settings->ytvid = configfile.getString("mb_ytvid", ""); return (result); } @@ -815,6 +824,11 @@ bool CMovieBrowser::saveSettings(MB_SETTINGS* settings) snprintf(cfg_key, sizeof(cfg_key), "mb_browserRowWidth_%d", i); configfile.setInt32(cfg_key, settings->browserRowWidth[i]); } + configfile.setInt32("mb_ytmode", settings->ytmode); + configfile.setInt32("mb_ytresults", settings->ytresults); + configfile.setString("mb_ytregion", settings->ytregion); + configfile.setString("mb_ytsearch", settings->ytsearch); + configfile.setString("mb_ytvid", settings->ytvid); if (configfile.getModifiedFlag()) configfile.saveConfig(MOVIEBROWSER_SETTINGS_FILE); @@ -968,6 +982,7 @@ int CMovieBrowser::exec(const char* path) if(m_file_info_stale == true) { TRACE("[mb] reload\r\n"); + loadMovies(); } else @@ -1236,11 +1251,18 @@ void CMovieBrowser::refreshMovieInfo(void) bool logo_ok = false; int picw = (int)(((float)16 / (float)9) * (float)m_cBoxFrameInfo.iHeight); int pich = m_cBoxFrameInfo.iHeight; - std::string fname = getScreenshotName(m_movieSelectionHandler->file.Name); - if(fname.empty()) { - std::string cover = m_movieSelectionHandler->file.Name; - cover.replace((cover.length()-18),15,""); //covername without yyyymmdd_hhmmss - fname = getScreenshotName(cover); + + std::string fname; +printf("CMovieBrowser::refreshMovieInfo\n"); + if (show_mode == MB_SHOW_YT) { + fname = m_movieSelectionHandler->tfile; + } else { + fname = getScreenshotName(m_movieSelectionHandler->file.Name); + if((fname.empty()) && (m_movieSelectionHandler->file.Name.length() > 18)) { + std::string cover = m_movieSelectionHandler->file.Name; + cover.replace((cover.length()-18),15,""); //covername without yyyymmdd_hhmmss + fname = getScreenshotName(cover); + } } logo_ok = (!fname.empty()); int flogo_w = 0, flogo_h = 0; @@ -1278,6 +1300,7 @@ void CMovieBrowser::refreshMovieInfo(void) } } } + void CMovieBrowser::info_hdd_level(bool paint_hdd) { struct statfs s; @@ -1582,7 +1605,15 @@ void CMovieBrowser::refreshBookmarkList(void) // P3 void CMovieBrowser::refreshTitle(void) { //Paint Text Background - TRACE("[mb]->refreshTitle : %s\r\n",m_textTitle.c_str()); + std::string title = m_textTitle.c_str(); + if (show_mode == MB_SHOW_YT) { + title = g_Locale->getText(LOCALE_MOVIEPLAYER_YTPLAYBACK); + title += " : "; + title += g_Locale->getText(getFeedLocale()); + } + + TRACE("[mb]->refreshTitle : %s\r\n", title.c_str()); + const short text_border_width = 8; int start_y = m_cBoxFrame.iY+ m_cBoxFrameTitleRel.iY; @@ -1593,7 +1624,7 @@ void CMovieBrowser::refreshTitle(void) CFrameBuffer::getInstance()->getIconSize(NEUTRINO_ICON_MOVIEPLAYER, &iconw, &iconh); m_pcWindow->paintIcon(NEUTRINO_ICON_MOVIEPLAYER, m_cBoxFrame.iX+m_cBoxFrameTitleRel.iX+6, start_y+ m_cBoxFrameTitleRel.iHeight/2 - iconh/2); - m_pcFontTitle->RenderString(m_cBoxFrame.iX+m_cBoxFrameTitleRel.iX + iconw + text_border_width, start_y + m_cBoxFrameTitleRel.iHeight, m_cBoxFrameTitleRel.iWidth - (text_border_width << 1), m_textTitle.c_str(), TITLE_FONT_COLOR, 0, true); // UTF-8 + m_pcFontTitle->RenderString(m_cBoxFrame.iX+m_cBoxFrameTitleRel.iX + iconw + text_border_width, start_y + m_cBoxFrameTitleRel.iHeight, m_cBoxFrameTitleRel.iWidth - (text_border_width << 1), title.c_str(), TITLE_FONT_COLOR, 0, true); // UTF-8 info_hdd_level(true); } @@ -1741,6 +1772,9 @@ bool CMovieBrowser::onButtonPressMainFrame(neutrino_msg_t msg) } else if (msg == CRCInput::RC_blue) { + if (show_mode == MB_SHOW_YT) + ytparser.Cleanup(); + loadMovies(); refresh(); } @@ -1803,10 +1837,15 @@ bool CMovieBrowser::onButtonPressMainFrame(neutrino_msg_t msg) else if (msg == CRCInput::RC_setup) { //if(m_movieSelectionHandler != NULL) - showMenu(m_movieSelectionHandler); + if (show_mode == MB_SHOW_YT) + showYTMenu(); + else + showMenu(m_movieSelectionHandler); + } else if (msg == CRCInput::RC_text || msg == CRCInput::RC_radio) { - if(ShowMsgUTF (LOCALE_MESSAGEBOX_INFO, msg == CRCInput::RC_radio ? "Copy jumps from movie to new file ?" : "Copy jumps from movie to new files ?", CMessageBox::mbrNo, CMessageBox::mbYes | CMessageBox::mbNo) == CMessageBox::mbrYes) { + if((show_mode == MB_SHOW_RECORDS) && + (ShowMsgUTF (LOCALE_MESSAGEBOX_INFO, msg == CRCInput::RC_radio ? "Copy jumps from movie to new file ?" : "Copy jumps from movie to new files ?", CMessageBox::mbrNo, CMessageBox::mbYes | CMessageBox::mbNo) == CMessageBox::mbrYes)) { CHintBox * hintBox = new CHintBox(LOCALE_MESSAGEBOX_INFO, "Coping, please wait"); hintBox->paint(); sleep(1); @@ -1828,7 +1867,8 @@ bool CMovieBrowser::onButtonPressMainFrame(neutrino_msg_t msg) ShowMsgUTF(LOCALE_MESSAGEBOX_ERROR, "Impossible to cut playing movie.", CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); else #endif - if(ShowMsgUTF (LOCALE_MESSAGEBOX_INFO, "Cut jumps from movie ?", CMessageBox::mbrNo, CMessageBox::mbYes | CMessageBox::mbNo) == CMessageBox::mbrYes) { + if((show_mode == MB_SHOW_RECORDS) && + (ShowMsgUTF (LOCALE_MESSAGEBOX_INFO, "Cut jumps from movie ?", CMessageBox::mbrNo, CMessageBox::mbYes | CMessageBox::mbNo) == CMessageBox::mbrYes)) { CHintBox * hintBox = new CHintBox(LOCALE_MESSAGEBOX_INFO, "Cutting, please wait"); hintBox->paint(); sleep(1); @@ -1846,26 +1886,28 @@ bool CMovieBrowser::onButtonPressMainFrame(neutrino_msg_t msg) } } else if (msg == CRCInput::RC_games) { - if((m_movieSelectionHandler == playing_info) && (NeutrinoMessages::mode_ts == CNeutrinoApp::getInstance()->getMode())) - ShowMsgUTF(LOCALE_MESSAGEBOX_ERROR, "Impossible to truncate playing movie.", CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); - else if(m_movieSelectionHandler->bookmarks.end == 0) - ShowMsgUTF(LOCALE_MESSAGEBOX_ERROR, "No End bookmark defined!", CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); - else { - if(ShowMsgUTF (LOCALE_MESSAGEBOX_INFO, "Truncate movie ?", CMessageBox::mbrNo, CMessageBox::mbYes | CMessageBox::mbNo) == CMessageBox::mbrYes) { - CHintBox * hintBox = new CHintBox(LOCALE_MESSAGEBOX_INFO, "Truncating, please wait"); - hintBox->paint(); - off64_t res = truncate_movie(m_movieSelectionHandler); - hintBox->hide(); - delete hintBox; - g_RCInput->clearRCMsg(); - if(res == 0) - ShowMsgUTF(LOCALE_MESSAGEBOX_ERROR, "Truncate failed.", CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); - else { -//printf("New movie info: size %lld len %d\n", res, m_movieSelectionHandler->bookmarks.end/60); - m_movieInfo.saveMovieInfo( *m_movieSelectionHandler); - loadMovies(); + if((show_mode == MB_SHOW_RECORDS) && m_movieSelectionHandler != NULL) { + if((m_movieSelectionHandler == playing_info) && (NeutrinoMessages::mode_ts == CNeutrinoApp::getInstance()->getMode())) + ShowMsgUTF(LOCALE_MESSAGEBOX_ERROR, "Impossible to truncate playing movie.", CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); + else if(m_movieSelectionHandler->bookmarks.end == 0) + ShowMsgUTF(LOCALE_MESSAGEBOX_ERROR, "No End bookmark defined!", CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); + else { + if(ShowMsgUTF (LOCALE_MESSAGEBOX_INFO, "Truncate movie ?", CMessageBox::mbrNo, CMessageBox::mbYes | CMessageBox::mbNo) == CMessageBox::mbrYes) { + CHintBox * hintBox = new CHintBox(LOCALE_MESSAGEBOX_INFO, "Truncating, please wait"); + hintBox->paint(); + off64_t res = truncate_movie(m_movieSelectionHandler); + hintBox->hide(); + delete hintBox; + g_RCInput->clearRCMsg(); + if(res == 0) + ShowMsgUTF(LOCALE_MESSAGEBOX_ERROR, "Truncate failed.", CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); + else { + //printf("New movie info: size %lld len %d\n", res, m_movieSelectionHandler->bookmarks.end/60); + m_movieInfo.saveMovieInfo( *m_movieSelectionHandler); + loadMovies(); + } + refresh(); } - refresh(); } } } else if (msg == CRCInput::RC_topleft) { @@ -2819,18 +2861,22 @@ void CMovieBrowser::loadMovies(bool doRefresh) loadBox.paint(); //clock_act = clock()/10000;TRACE("[mb] *1: time %9ld clock %6ld dclock %6ld*\n",(long)time(NULL),clock_act,clock_act - clock_prev);clock_prev = clock_act; - loadAllTsFileNamesFromStorage(); // P1 -//clock_act = clock()/10000;TRACE("[mb] *2: time %9ld clock %6ld dclock %6ld*\n",(long)time(NULL),clock_act,clock_act - clock_prev);clock_prev = clock_act; - //loadAllMovieInfo(); // P1 -//clock_act = clock()/10000;TRACE("[mb] *3: time %9ld clock %6ld dclock %6ld*\n",(long)time(NULL),clock_act,clock_act - clock_prev);clock_prev = clock_act; m_file_info_stale = false; - m_seriename_stale = true; // we reloded the movie info, so make sure the other list are updated later on as well - updateSerienames(); -//clock_act = clock()/10000;TRACE("[mb] *4: time %9ld clock %6ld dclock %6ld*\n",(long)time(NULL),clock_act,clock_act - clock_prev);clock_prev = clock_act; - if(m_settings.serie_auto_create == 1) - { - autoFindSerie(); - } + if (show_mode == MB_SHOW_YT) { + loadYTitles(m_settings.ytmode, m_settings.ytsearch, m_settings.ytvid); + } else { + loadAllTsFileNamesFromStorage(); // P1 + //clock_act = clock()/10000;TRACE("[mb] *2: time %9ld clock %6ld dclock %6ld*\n",(long)time(NULL),clock_act,clock_act - clock_prev);clock_prev = clock_act; + //loadAllMovieInfo(); // P1 + //clock_act = clock()/10000;TRACE("[mb] *3: time %9ld clock %6ld dclock %6ld*\n",(long)time(NULL),clock_act,clock_act - clock_prev);clock_prev = clock_act; + m_seriename_stale = true; // we reloded the movie info, so make sure the other list are updated later on as well + updateSerienames(); + //clock_act = clock()/10000;TRACE("[mb] *4: time %9ld clock %6ld dclock %6ld*\n",(long)time(NULL),clock_act,clock_act - clock_prev);clock_prev = clock_act; + if(m_settings.serie_auto_create == 1) + { + autoFindSerie(); + } + } loadBox.hide(); @@ -3335,10 +3381,15 @@ bool CMovieBrowser::getMovieInfoItem(MI_MOVIE_INFO& movie_info, MB_INFO_ITEM ite snprintf(str_tmp,MAX_STR_TMP,"%02d.%02d.%02d",tm_tmp->tm_mday,(tm_tmp->tm_mon)+ 1, tm_tmp->tm_year >= 100 ? tm_tmp->tm_year-100 : tm_tmp->tm_year); *item_string = str_tmp; break; + case MB_INFO_RECORDDATE: // = 13, - tm_tmp = localtime(&movie_info.file.Time); - snprintf(str_tmp,MAX_STR_TMP,"%02d.%02d.%02d",tm_tmp->tm_mday,(tm_tmp->tm_mon) + 1,tm_tmp->tm_year >= 100 ? tm_tmp->tm_year-100 : tm_tmp->tm_year); - *item_string = str_tmp; + if (show_mode == MB_SHOW_YT) { + *item_string = movie_info.ytdate; + } else { + tm_tmp = localtime(&movie_info.file.Time); + snprintf(str_tmp,MAX_STR_TMP,"%02d.%02d.%02d",tm_tmp->tm_mday,(tm_tmp->tm_mon) + 1,tm_tmp->tm_year >= 100 ? tm_tmp->tm_year-100 : tm_tmp->tm_year); + *item_string = str_tmp; + } break; case MB_INFO_PRODDATE: // = 14, snprintf(str_tmp,MAX_STR_TMP,"%d",movie_info.productionDate); @@ -3499,6 +3550,189 @@ void CMovieBrowser::autoFindSerie(void) } } +void CMovieBrowser::loadYTitles(int mode, std::string search, std::string id) +{ + printf("CMovieBrowser::loadYTitles: parsed %d old mode %d new mode %d region %s\n", ytparser.Parsed(), ytparser.GetFeedMode(), m_settings.ytmode, m_settings.ytregion.c_str()); + if (m_settings.ytregion == "default") + ytparser.SetRegion(""); + else + ytparser.SetRegion(m_settings.ytregion); + + ytparser.SetMaxResults(m_settings.ytresults); + + if (!ytparser.Parsed() || (ytparser.GetFeedMode() != mode)) { + if (ytparser.ParseFeed((cYTFeedParser::yt_feed_mode_t)mode, search, id)) { + ytparser.DownloadThumbnails(); + } else { + //FIXME show error + DisplayErrorMessage(g_Locale->getText(LOCALE_MOVIEBROWSER_YT_ERROR)); + return; + } + } + m_vMovieInfo.clear(); + yt_video_list_t &ylist = ytparser.GetVideoList(); + for (unsigned i = 0; i < ylist.size(); i++) { + MI_MOVIE_INFO movieInfo; + m_movieInfo.clearMovieInfo(&movieInfo); // refresh structure + movieInfo.epgChannel = ylist[i].author; + movieInfo.epgTitle = ylist[i].title; + movieInfo.epgInfo1 = ylist[i].category; + movieInfo.epgInfo2 = ylist[i].description; + movieInfo.length = ylist[i].duration/60 ; + movieInfo.tfile = ylist[i].tfile; + movieInfo.ytdate = ylist[i].published; + movieInfo.ytid = ylist[i].id; + + movieInfo.file.Name = ylist[i].title; + movieInfo.file.Url = ylist[i].GetUrl(); + m_vMovieInfo.push_back(movieInfo); + } + m_currentBrowserSelection = 0; + m_currentRecordSelection = 0; + m_currentPlaySelection = 0; + m_pcBrowser->setSelectedLine(m_currentBrowserSelection); + m_pcLastRecord->setSelectedLine(m_currentRecordSelection); + m_pcLastPlay->setSelectedLine(m_currentPlaySelection); +} + +const CMenuOptionChooser::keyval YT_FEED_OPTIONS[] = +{ + { cYTFeedParser::TOP_RATED, LOCALE_MOVIEBROWSER_YT_TOP_RATED }, + { cYTFeedParser::TOP_FAVORITES, LOCALE_MOVIEBROWSER_YT_TOP_FAVORITES }, + { cYTFeedParser::MOST_SHARED, LOCALE_MOVIEBROWSER_YT_MOST_SHARED }, + { cYTFeedParser::MOST_POPULAR, LOCALE_MOVIEBROWSER_YT_MOST_POPULAR }, + { cYTFeedParser::MOST_RESENT, LOCALE_MOVIEBROWSER_YT_MOST_RESENT }, + { cYTFeedParser::MOST_DISCUSSED, LOCALE_MOVIEBROWSER_YT_MOST_DISCUSSED }, + { cYTFeedParser::MOST_RESPONDED, LOCALE_MOVIEBROWSER_YT_MOST_RESPONDED }, + { cYTFeedParser::RECENTLY_FEATURED, LOCALE_MOVIEBROWSER_YT_RECENTLY_FEATURED }, + { cYTFeedParser::ON_THE_WEB, LOCALE_MOVIEBROWSER_YT_ON_THE_WEB }, +}; + +#define YT_FEED_OPTION_COUNT (sizeof(YT_FEED_OPTIONS)/sizeof(CMenuOptionChooser::keyval)) + +neutrino_locale_t CMovieBrowser::getFeedLocale(void) +{ + neutrino_locale_t ret = LOCALE_MOVIEBROWSER_YT_MOST_POPULAR; + + if (m_settings.ytmode == cYTFeedParser::RELATED) + return LOCALE_MOVIEBROWSER_YT_RELATED; + + if (m_settings.ytmode == cYTFeedParser::SEARCH) + return LOCALE_MOVIEBROWSER_YT_SEARCH; + + for (unsigned i = 0; i < YT_FEED_OPTION_COUNT; i++) { + if (m_settings.ytmode == YT_FEED_OPTIONS[i].key) + return YT_FEED_OPTIONS[i].value; + } + return ret; +} + +bool CMovieBrowser::showYTMenu() +{ + m_pcWindow->paintBackground(); + + CMenuWidget mainMenu(LOCALE_MOVIEBROWSER_HEAD, NEUTRINO_ICON_MOVIEPLAYER); + mainMenu.addIntroItems(LOCALE_MOVIEPLAYER_YTPLAYBACK); + + int select = -1; + CMenuSelectorTarget * selector = new CMenuSelectorTarget(&select); + + char cnt[5]; + for (unsigned i = 0; i < YT_FEED_OPTION_COUNT; i++) { + sprintf(cnt, "%d", YT_FEED_OPTIONS[i].key); + mainMenu.addItem(new CMenuForwarder(YT_FEED_OPTIONS[i].value, true, NULL, selector, cnt, CRCInput::convertDigitToKey(i + 1)), m_settings.ytmode == (int) YT_FEED_OPTIONS[i].key); + } + mainMenu.addItem(GenericMenuSeparatorLine); + + bool enabled = (!m_vMovieInfo.empty()) && (m_movieSelectionHandler != NULL); + sprintf(cnt, "%d", cYTFeedParser::RELATED); + mainMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_YT_RELATED, enabled, NULL, selector, cnt, CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED)); + + sprintf(cnt, "%d", cYTFeedParser::NEXT); + mainMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_YT_NEXT_RESULTS, ytparser.HaveNext(), NULL, selector, cnt, CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN)); + sprintf(cnt, "%d", cYTFeedParser::PREV); + mainMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_YT_PREV_RESULTS, ytparser.HavePrev(), NULL, selector, cnt, CRCInput::RC_yellow, NEUTRINO_ICON_BUTTON_YELLOW)); + + mainMenu.addItem(GenericMenuSeparatorLine); + + std::string search = m_settings.ytsearch; + CStringInputSMS stringInput(LOCALE_MOVIEBROWSER_YT_SEARCH, &search, 20, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "abcdefghijklmnopqrstuvwxyz0123456789"); + mainMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_YT_SEARCH, true, search, &stringInput, NULL, CRCInput::RC_nokey, "")); + sprintf(cnt, "%d", cYTFeedParser::SEARCH); + mainMenu.addItem(new CMenuForwarder(LOCALE_EVENTFINDER_START_SEARCH, true, NULL, selector, cnt, CRCInput::RC_blue, NEUTRINO_ICON_BUTTON_BLUE)); + + mainMenu.addItem(GenericMenuSeparatorLine); + mainMenu.addItem(new CMenuOptionNumberChooser(LOCALE_MOVIEBROWSER_YT_MAX_RESULTS, &m_settings.ytresults, true, 10, 50, NULL)); + + char rstr[20]; + sprintf(rstr, "%s", m_settings.ytregion.c_str()); + CMenuOptionStringChooser * region = new CMenuOptionStringChooser(LOCALE_MOVIEBROWSER_YT_REGION, rstr, true, NULL, CRCInput::RC_nokey, "", true); + region->addOption("default"); + region->addOption("DE"); + region->addOption("PL"); + region->addOption("RU"); + region->addOption("NL"); + region->addOption("CZ"); + region->addOption("FR"); + region->addOption("HU"); + region->addOption("US"); + mainMenu.addItem(region); + + mainMenu.exec(NULL, ""); + delete selector; + + bool reload = false; + printf("MovieBrowser::showYTMenu(): selected: %d\n", select); + int newmode = -1; + if (select >= 0) { + newmode = select; + if (newmode == cYTFeedParser::NEXT || newmode == cYTFeedParser::PREV) { + reload = true; + } + else if (select == cYTFeedParser::RELATED) { + if (m_settings.ytvid != m_movieSelectionHandler->ytid) { + printf("get related for: %s\n", m_movieSelectionHandler->ytid.c_str()); + m_settings.ytvid = m_movieSelectionHandler->ytid; + m_settings.ytmode = newmode; + reload = true; + } + } + else if (select == cYTFeedParser::SEARCH) { + printf("search for: %s\n", search.c_str()); + if (!search.empty()) { + reload = true; + m_settings.ytsearch = search; + m_settings.ytmode = newmode; + } + } + else if (m_settings.ytmode != newmode) { + m_settings.ytmode = newmode; + reload = true; + } + } + if(rstr != m_settings.ytregion) { + m_settings.ytregion = rstr; + if (newmode < 0) + newmode = m_settings.ytmode; + reload = true; + printf("change region to %s\n", m_settings.ytregion.c_str()); + } + if (reload) { + CHintBox loadBox(LOCALE_MOVIEPLAYER_YTPLAYBACK, g_Locale->getText(LOCALE_MOVIEBROWSER_SCAN_FOR_MOVIES)); + loadBox.paint(); + ytparser.Cleanup(); + loadYTitles(newmode, m_settings.ytsearch, m_settings.ytvid); + loadBox.hide(); + } + refreshBrowserList(); + refreshLastPlayList(); + refreshLastRecordList(); + refreshFilterList(); + //refreshMovieInfo(); + refresh(); + return true; +} + CMenuSelector::CMenuSelector(const char * OptionName, const bool Active , char * OptionValue, int* ReturnInt ,int ReturnIntValue ) : CMenuItem() { height = g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getHeight(); @@ -3765,7 +3999,6 @@ printf("updateDirState: %d: state %d nfs %d\n", i, dirState[i], dirNfsMountNr[i] } } - int CDirMenu::show(void) { if(dirList->empty()) diff --git a/src/gui/moviebrowser.h b/src/gui/moviebrowser.h index 70f9523a9..d2b12bf80 100644 --- a/src/gui/moviebrowser.h +++ b/src/gui/moviebrowser.h @@ -80,6 +80,7 @@ #include #include #include +#include #define MAX_NUMBER_OF_BOOKMARK_ITEMS MI_MOVIE_BOOK_USER_MAX // we just use the same size as used in Movie info (MAX_NUMBER_OF_BOOKMARK_ITEMS is used for the number of menu items) #define MOVIEBROWSER_SETTINGS_FILE CONFIGDIR "/moviebrowser.conf" @@ -181,6 +182,13 @@ typedef struct int* used; }MB_DIR; +typedef enum +{ + MB_SHOW_RECORDS, + MB_SHOW_FILES, + MB_SHOW_YT +} MB_SHOW_MODE; + #define MB_MAX_ROWS 6 #define MB_MAX_DIRS 5 /* MB_SETTINGS to be stored in g_settings anytime ....*/ @@ -219,6 +227,11 @@ typedef struct int lastRecordRowNr; MB_INFO_ITEM lastRecordRow[MB_MAX_ROWS]; int lastRecordRowWidth[MB_MAX_ROWS]; + int ytmode; + int ytresults; + std::string ytregion; + std::string ytvid; + std::string ytsearch; } MB_SETTINGS; // Priorities for Developmemt: P1: critical feature, P2: important feature, P3: for next release, P4: looks nice, lets see @@ -303,6 +316,11 @@ class CMovieBrowser : public CMenuTarget //bool restart_mb_timeout; int menu_ret; + cYTFeedParser ytparser; + int show_mode; + void loadYTitles(int mode, std::string search = "", std::string id = ""); + bool showYTMenu(void); + public: // Functions //////////////////////////////////////////////////////////7 CMovieBrowser(const char* path); //P1 CMovieBrowser(); //P1 @@ -324,6 +342,8 @@ class CMovieBrowser : public CMenuTarget bool delFile_vlc(CFile& file); bool delFile_std(CFile& file); int getMenuRet() { return menu_ret; } + int getMode() { return show_mode; } + void setMode(int mode) { show_mode = mode; } private: //Functions ///// MovieBrowser init /////////////// @@ -402,6 +422,8 @@ class CMovieBrowser : public CMenuTarget void autoFindSerie(void); void info_hdd_level(bool paint_hdd=false); + + neutrino_locale_t getFeedLocale(void); }; // Class to show Moviebrowser Information, to be used by menu From 49cfbb60c092f909405e652decbc41ede1267d08 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Thu, 30 May 2013 10:02:14 +0400 Subject: [PATCH 61/62] gui/movieplayer.cpp: add youtube feeds play mode --- src/gui/movieplayer.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/gui/movieplayer.cpp b/src/gui/movieplayer.cpp index c77117577..1dbca888f 100644 --- a/src/gui/movieplayer.cpp +++ b/src/gui/movieplayer.cpp @@ -188,6 +188,11 @@ int CMoviePlayerGui::exec(CMenuTarget * parent, const std::string & actionKey) timeshift = 0; if (actionKey == "tsmoviebrowser") { isMovieBrowser = true; + moviebrowser->setMode(MB_SHOW_RECORDS); + } + else if (actionKey == "ytplayback") { + isMovieBrowser = true; + moviebrowser->setMode(MB_SHOW_YT); } else if (actionKey == "fileplayback") { } @@ -343,15 +348,17 @@ bool CMoviePlayerGui::SelectFile() Path_local = moviebrowser->getCurrentDir(); CFile *file; if ((file = moviebrowser->getSelectedFile()) != NULL) { - full_name = file->Name.c_str(); - // get the movie info handle (to be used for e.g. bookmark handling) p_movie_info = moviebrowser->getCurrentMovieInfo(); -#if 0 - bool recfile = CRecordManager::getInstance()->RecordingStatus(p_movie_info->epgId) && - CRecordManager::getInstance()->GetFileName(p_movie_info->epgId) == file->Name; -#endif + if (moviebrowser->getMode() == MB_SHOW_RECORDS) { + full_name = file->Name; + } + else if (moviebrowser->getMode() == MB_SHOW_YT) { + full_name = file->Url; + is_file_player = true; + } fillPids(); + // get the start position for the movie startposition = 1000 * moviebrowser->getCurrentStartPos(); printf("CMoviePlayerGui::SelectFile: file %s start %d apid %X atype %d vpid %x vtype %d\n", full_name.c_str(), startposition, currentapid, currentac3, vpid, vtype); @@ -903,7 +910,7 @@ void CMoviePlayerGui::selectAudioPid(bool file_player) APIDSelector.addItem(item, defpid); } - if (p_movie_info) { + if (p_movie_info && numpida <= p_movie_info->audioPids.size()) { APIDSelector.addItem(new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_AUDIOMENU_VOLUME_ADJUST)); CVolume::getInstance()->SetCurrentChannel(p_movie_info->epgId); From 83c7de004e67600f83c2ef1ae556e67e83365141 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Fri, 10 May 2013 18:19:48 +0400 Subject: [PATCH 62/62] lib/libcoolstream/playback_cs.h: new header --- lib/libcoolstream/playback_cs.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/libcoolstream/playback_cs.h b/lib/libcoolstream/playback_cs.h index a9192bfdc..f65bdc6f0 100644 --- a/lib/libcoolstream/playback_cs.h +++ b/lib/libcoolstream/playback_cs.h @@ -11,6 +11,8 @@ #define __PLAYBACK_CS_H_ #include +#include +#include typedef enum { PLAYMODE_TS = 0, @@ -61,7 +63,9 @@ public: bool IsEnabled(void) const { return enabled; } void FindAllPids(playback_audio_pid_info_t *audiopids, uint16_t size, uint16_t *numpida); void FindAllPids(uint16_t *apids, unsigned short *ac3flags, uint16_t *numpida, std::string *language); - + void FindAllSubs(uint16_t *pids, unsigned short *supported, uint16_t *numpida, std::string *language); + bool SelectSubtitles(int pid); + void GetChapters(std::vector &positions, std::vector &titles); }; #endif // __PLAYBACK_CS_H_