neutrino: show only usable video modes and video options on TD

This commit is contained in:
Stefan Seyfried
2010-11-28 19:08:57 +01:00
parent 4405bb367c
commit bb3e8ebe23
3 changed files with 36 additions and 6 deletions

View File

@@ -143,6 +143,14 @@ const CMenuOptionChooser::keyval VIDEOMENU_VIDEOSIGNAL_HD1PLUS_CINCH_OPTIONS[VID
{ ANALOG_HD_YPRPB_CINCH, LOCALE_VIDEOMENU_ANALOG_HD_YPRPB_CINCH } { ANALOG_HD_YPRPB_CINCH, LOCALE_VIDEOMENU_ANALOG_HD_YPRPB_CINCH }
}; };
#if HAVE_TRIPLEDRAGON
CMenuOptionChooser::keyval_ext VIDEOMENU_VIDEOMODE_OPTIONS[VIDEOMENU_VIDEOMODE_OPTION_COUNT] =
{
{ VID_DISPFMT_PAL, NONEXISTANT_LOCALE, "PAL" },
{ VID_DISPFMT_SECAM, NONEXISTANT_LOCALE, "SECAM" },
{ VID_DISPFMT_NTSC, NONEXISTANT_LOCALE, "NTSC" }
};
#else
/* numbers corresponding to video.cpp from zapit */ /* numbers corresponding to video.cpp from zapit */
CMenuOptionChooser::keyval_ext VIDEOMENU_VIDEOMODE_OPTIONS[VIDEOMENU_VIDEOMODE_OPTION_COUNT] = CMenuOptionChooser::keyval_ext VIDEOMENU_VIDEOMODE_OPTIONS[VIDEOMENU_VIDEOMODE_OPTION_COUNT] =
{ {
@@ -160,13 +168,20 @@ CMenuOptionChooser::keyval_ext VIDEOMENU_VIDEOMODE_OPTIONS[VIDEOMENU_VIDEOMODE_O
{ VIDEO_STD_1080I60, NONEXISTANT_LOCALE, "1080i 60Hz" }, { VIDEO_STD_1080I60, NONEXISTANT_LOCALE, "1080i 60Hz" },
{ VIDEO_STD_AUTO, NONEXISTANT_LOCALE, "Auto" } { VIDEO_STD_AUTO, NONEXISTANT_LOCALE, "Auto" }
}; };
#endif
#if HAVE_TRIPLEDRAGON
#define VIDEOMENU_VIDEOFORMAT_OPTION_COUNT 2
#else
#define VIDEOMENU_VIDEOFORMAT_OPTION_COUNT 3//2 #define VIDEOMENU_VIDEOFORMAT_OPTION_COUNT 3//2
#endif
const CMenuOptionChooser::keyval VIDEOMENU_VIDEOFORMAT_OPTIONS[VIDEOMENU_VIDEOFORMAT_OPTION_COUNT] = const CMenuOptionChooser::keyval VIDEOMENU_VIDEOFORMAT_OPTIONS[VIDEOMENU_VIDEOFORMAT_OPTION_COUNT] =
{ {
{ DISPLAY_AR_4_3, LOCALE_VIDEOMENU_VIDEOFORMAT_43 }, { DISPLAY_AR_4_3, LOCALE_VIDEOMENU_VIDEOFORMAT_43 },
{ DISPLAY_AR_16_9, LOCALE_VIDEOMENU_VIDEOFORMAT_169 }, { DISPLAY_AR_16_9, LOCALE_VIDEOMENU_VIDEOFORMAT_169 },
#if !HAVE_TRIPLEDRAGON
{ DISPLAY_AR_14_9, LOCALE_VIDEOMENU_VIDEOFORMAT_149 } { DISPLAY_AR_14_9, LOCALE_VIDEOMENU_VIDEOFORMAT_149 }
#endif
}; };
#define VIDEOMENU_DBDR_OPTION_COUNT 3 #define VIDEOMENU_DBDR_OPTION_COUNT 3
@@ -213,8 +228,12 @@ int CVideoSettings::showVideoSetup()
//dbdr options //dbdr options
CMenuOptionChooser * vs_dbdropt_ch = new CMenuOptionChooser(LOCALE_VIDEOMENU_DBDR, &g_settings.video_dbdr, VIDEOMENU_DBDR_OPTIONS, VIDEOMENU_DBDR_OPTION_COUNT, true, this); CMenuOptionChooser * vs_dbdropt_ch = new CMenuOptionChooser(LOCALE_VIDEOMENU_DBDR, &g_settings.video_dbdr, VIDEOMENU_DBDR_OPTIONS, VIDEOMENU_DBDR_OPTION_COUNT, true, this);
//video system modes submenue //video system modes submenue
CMenuWidget* videomodes = new CMenuWidget(LOCALE_MAINSETTINGS_VIDEO, NEUTRINO_ICON_SETTINGS); CMenuWidget *videomodes = NULL;
CMenuForwarder *vs_videomodes_fw = NULL;
if (system_rev != 0x01) /* Tripledragon */
{
videomodes = new CMenuWidget(LOCALE_MAINSETTINGS_VIDEO, NEUTRINO_ICON_SETTINGS);
videomodes->addIntroItems(LOCALE_VIDEOMENU_ENABLED_MODES); videomodes->addIntroItems(LOCALE_VIDEOMENU_ENABLED_MODES);
CAutoModeNotifier * anotify = new CAutoModeNotifier(); CAutoModeNotifier * anotify = new CAutoModeNotifier();
@@ -222,8 +241,9 @@ int CVideoSettings::showVideoSetup()
videomodes->addItem(new CMenuOptionChooser(VIDEOMENU_VIDEOMODE_OPTIONS[i].valname, &g_settings.enabled_video_modes[i], OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, anotify)); videomodes->addItem(new CMenuOptionChooser(VIDEOMENU_VIDEOMODE_OPTIONS[i].valname, &g_settings.enabled_video_modes[i], OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, anotify));
anotify->changeNotify(NONEXISTANT_LOCALE, 0); anotify->changeNotify(NONEXISTANT_LOCALE, 0);
CMenuForwarder * vs_videomodes_fw = new CMenuForwarder(LOCALE_VIDEOMENU_ENABLED_MODES, true, NULL, videomodes, NULL, CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED ); vs_videomodes_fw = new CMenuForwarder(LOCALE_VIDEOMENU_ENABLED_MODES, true, NULL, videomodes, NULL, CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED );
}
//--------------------------------------- //---------------------------------------
videosetup->addIntroItems(LOCALE_MAINSETTINGS_VIDEO, LOCALE_VIDEOMENU_TV_SCART); videosetup->addIntroItems(LOCALE_MAINSETTINGS_VIDEO, LOCALE_VIDEOMENU_TV_SCART);
//--------------------------------------- //---------------------------------------
@@ -239,8 +259,11 @@ int CVideoSettings::showVideoSetup()
videosetup->addItem(vs_43mode_ch); //4:3 mode videosetup->addItem(vs_43mode_ch); //4:3 mode
videosetup->addItem(vs_dispformat_ch); //display format videosetup->addItem(vs_dispformat_ch); //display format
videosetup->addItem(vs_videomodes_ch); //video system videosetup->addItem(vs_videomodes_ch); //video system
videosetup->addItem(vs_dbdropt_ch); //dbdr options if (system_rev != 0x01) /* TRIPLEDRAGON hack... :-) */
videosetup->addItem(vs_videomodes_fw); //video modes submenue {
videosetup->addItem(vs_dbdropt_ch); //dbdr options
videosetup->addItem(vs_videomodes_fw); //video modes submenue
}
int res = videosetup->exec(NULL, ""); int res = videosetup->exec(NULL, "");
videosetup->hide(); videosetup->hide();

View File

@@ -354,8 +354,10 @@ int CNeutrinoApp::loadSetup(const char * fname)
sprintf(cfg_key, "enabled_video_mode_%d", i); sprintf(cfg_key, "enabled_video_mode_%d", i);
g_settings.enabled_video_modes[i] = configfile.getInt32(cfg_key, 0); g_settings.enabled_video_modes[i] = configfile.getInt32(cfg_key, 0);
} }
#if VIDEOMENU_VIDEOMODE_OPTION_COUNT > 3
g_settings.enabled_video_modes[3] = 1; // 720p 50Hz g_settings.enabled_video_modes[3] = 1; // 720p 50Hz
g_settings.enabled_video_modes[4] = 1; // 1080i 50Hz g_settings.enabled_video_modes[4] = 1; // 1080i 50Hz
#endif
g_settings.cpufreq = configfile.getInt32("cpufreq", 0); g_settings.cpufreq = configfile.getInt32("cpufreq", 0);
g_settings.standby_cpufreq = configfile.getInt32("standby_cpufreq", 100); g_settings.standby_cpufreq = configfile.getInt32("standby_cpufreq", 100);

View File

@@ -32,6 +32,7 @@
#ifndef __settings__ #ifndef __settings__
#define __settings__ #define __settings__
#include "config.h"
#include <system/localize.h> #include <system/localize.h>
#include <configfile.h> #include <configfile.h>
#include <zapit/client/zapitclient.h> #include <zapit/client/zapitclient.h>
@@ -39,7 +40,11 @@
#include <string> #include <string>
#if !HAVE_TRIPLEDRAGON
#define VIDEOMENU_VIDEOMODE_OPTION_COUNT 12 #define VIDEOMENU_VIDEOMODE_OPTION_COUNT 12
#else
#define VIDEOMENU_VIDEOMODE_OPTION_COUNT 3
#endif
struct SNeutrinoSettings struct SNeutrinoSettings
{ {