/* Neutrino-GUI - DBoxII-Project Copyright (C) 2001 Steffen Hehn 'McClean' Homepage: http://dbox.cyberphoria.org/ Copyright (C) 2007-2012 Stefan Seyfried Kommentar: Diese GUI wurde von Grund auf neu programmiert und sollte nun vom Aufbau und auch den Ausbaumoeglichkeiten gut aussehen. Neutrino basiert auf der Client-Server Idee, diese GUI ist also von der direkten DBox- Steuerung getrennt. Diese wird dann von Daemons uebernommen. License: GPL 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; either version 2 of the License, or (at your option) any later version. 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 __settings__ #define __settings__ #include "config.h" #include #include #include #include #include // UTF8 #include #include #include #define VIDEOMENU_VIDEOMODE_OPTION_COUNT 20 struct SNeutrinoTheme { // head unsigned char menu_Head_alpha; unsigned char menu_Head_red; unsigned char menu_Head_green; unsigned char menu_Head_blue; unsigned char menu_Head_Text_alpha; unsigned char menu_Head_Text_red; unsigned char menu_Head_Text_green; unsigned char menu_Head_Text_blue; int menu_Head_gradient; int menu_Head_gradient_direction; // subhead int menu_SubHead_gradient; int menu_SubHead_gradient_direction; // separator int menu_Separator_gradient_enable; // menu content unsigned char menu_Content_alpha; unsigned char menu_Content_red; unsigned char menu_Content_green; unsigned char menu_Content_blue; unsigned char menu_Content_Text_alpha; unsigned char menu_Content_Text_red; unsigned char menu_Content_Text_green; unsigned char menu_Content_Text_blue; unsigned char menu_Content_Selected_alpha; unsigned char menu_Content_Selected_red; unsigned char menu_Content_Selected_green; unsigned char menu_Content_Selected_blue; unsigned char menu_Content_Selected_Text_alpha; unsigned char menu_Content_Selected_Text_red; unsigned char menu_Content_Selected_Text_green; unsigned char menu_Content_Selected_Text_blue; unsigned char menu_Content_inactive_alpha; unsigned char menu_Content_inactive_red; unsigned char menu_Content_inactive_green; unsigned char menu_Content_inactive_blue; unsigned char menu_Content_inactive_Text_alpha; unsigned char menu_Content_inactive_Text_red; unsigned char menu_Content_inactive_Text_green; unsigned char menu_Content_inactive_Text_blue; // foot unsigned char menu_Foot_alpha; unsigned char menu_Foot_red; unsigned char menu_Foot_green; unsigned char menu_Foot_blue; unsigned char menu_Foot_Text_alpha; unsigned char menu_Foot_Text_red; unsigned char menu_Foot_Text_green; unsigned char menu_Foot_Text_blue; int menu_Foot_gradient; int menu_Foot_gradient_direction; int menu_Hint_gradient; int menu_Hint_gradient_direction; // infobar unsigned char infobar_alpha; unsigned char infobar_red; unsigned char infobar_green; unsigned char infobar_blue; unsigned char infobar_casystem_alpha; unsigned char infobar_casystem_red; unsigned char infobar_casystem_green; unsigned char infobar_casystem_blue; unsigned char infobar_Text_alpha; unsigned char infobar_Text_red; unsigned char infobar_Text_green; unsigned char infobar_Text_blue; int infobar_gradient_top; int infobar_gradient_top_direction; int infobar_gradient_body; int infobar_gradient_body_direction; int infobar_gradient_bottom; int infobar_gradient_bottom_direction; // event text unsigned char colored_events_alpha; unsigned char colored_events_red; unsigned char colored_events_green; unsigned char colored_events_blue; int colored_events_channellist; int colored_events_infobar; // channellist unsigned char channellist_Description_Text_alpha; unsigned char channellist_Description_Text_red; unsigned char channellist_Description_Text_green; unsigned char channellist_Description_Text_blue; // clock unsigned char clock_Digit_alpha; unsigned char clock_Digit_red; unsigned char clock_Digit_green; unsigned char clock_Digit_blue; // progressbar int progressbar_design; int progressbar_design_channellist; int progressbar_gradient; int progressbar_timescale_red; int progressbar_timescale_green; int progressbar_timescale_yellow; int progressbar_timescale_invert; unsigned char progressbar_active_red; unsigned char progressbar_active_green; unsigned char progressbar_active_blue; unsigned char progressbar_passive_red; unsigned char progressbar_passive_green; unsigned char progressbar_passive_blue; // shadow unsigned char shadow_alpha; unsigned char shadow_red; unsigned char shadow_green; unsigned char shadow_blue; // corners int rounded_corners; // message frames int message_frame_enable; // details line in menu and lists int show_menu_hints_line; }; struct timer_remotebox_item { unsigned int port; std::string user; std::string pass; std::string rbname; std::string rbaddress; bool enabled; bool online; }; #if BOXMODEL_VUSOLO4K || BOXMODEL_VUDUO4K || BOXMODEL_VUULTIMO4K || BOXMODEL_VUUNO4KSE #define GLCD_DEFAULT_BRIGHTNESS 7 #define GLCD_DEFAULT_BRIGHTNESS_STANDBY 1 #define GLCD_DEFAULT_BRIGHTNESS_DIM 3 #define GLCD_DEFAULT_BRIGHTNESS_DIM_TIME "10" #else #define GLCD_DEFAULT_BRIGHTNESS 70 #define GLCD_DEFAULT_BRIGHTNESS_STANDBY 10 #define GLCD_DEFAULT_BRIGHTNESS_DIM 30 #define GLCD_DEFAULT_BRIGHTNESS_DIM_TIME "30" #endif struct SNeutrinoGlcdTheme { unsigned char glcd_foreground_color_red; unsigned char glcd_foreground_color_green; unsigned char glcd_foreground_color_blue; unsigned char glcd_background_color_red; unsigned char glcd_background_color_green; unsigned char glcd_background_color_blue; std::string glcd_background_image; std::string glcd_font; int glcd_channel_percent; int glcd_channel_align; int glcd_channel_x_position; int glcd_channel_y_position; int glcd_logo; int glcd_logo_percent; int glcd_logo_width_percent; int glcd_logo_x_position; int glcd_logo_y_position; int glcd_epg_percent; int glcd_epg_align; int glcd_epg_x_position; int glcd_epg_y_position; int glcd_start; int glcd_start_percent; int glcd_start_align; int glcd_start_x_position; int glcd_start_y_position; int glcd_end; int glcd_end_percent; int glcd_end_align; int glcd_end_x_position; int glcd_end_y_position; int glcd_duration; int glcd_duration_percent; int glcd_duration_align; int glcd_duration_x_position; int glcd_duration_y_position; int glcd_progressbar; unsigned char glcd_progressbar_color_red; unsigned char glcd_progressbar_color_green; unsigned char glcd_progressbar_color_blue; int glcd_progressbar_percent; int glcd_progressbar_width; int glcd_progressbar_x_position; int glcd_progressbar_y_position; int glcd_time; int glcd_time_percent; int glcd_time_align; int glcd_time_x_position; int glcd_time_y_position; int glcd_icons_percent; int glcd_icons_y_position; // int glcd_icon_ecm_x_position; int glcd_icon_cam_x_position; int glcd_icon_txt_x_position; int glcd_icon_dd_x_position; int glcd_icon_mute_x_position; int glcd_icon_timer_x_position; int glcd_icon_rec_x_position; int glcd_icon_ts_x_position; int glcd_weather; int glcd_weather_percent; int glcd_weather_curr_x_position; int glcd_weather_next_x_position; int glcd_weather_y_position; int glcd_time_in_standby; int glcd_standby_weather; int glcd_standby_clock_digital_y_position; int glcd_standby_clock_simple_size; int glcd_standby_clock_simple_y_position; int glcd_standby_weather_percent; int glcd_standby_weather_curr_x_position; int glcd_standby_weather_next_x_position; int glcd_standby_weather_y_position; int glcd_position_settings; }; struct SNeutrinoSettings { // theme/color options SNeutrinoTheme theme; std::string theme_name; #ifdef ENABLE_GRAPHLCD SNeutrinoGlcdTheme glcd_theme; std::string glcd_theme_name; int glcd_enable; std::string glcd_logodir; int glcd_brightness; int glcd_brightness_dim; std::string glcd_brightness_dim_time; int glcd_brightness_standby; int glcd_mirror_osd; int glcd_mirror_video; int glcd_scroll_speed; int glcd_selected_config; #endif #ifdef ENABLE_LCD4LINUX int lcd4l_support; std::string lcd4l_logodir; int lcd4l_display_type; int lcd4l_skin; int lcd4l_skin_radio; int lcd4l_brightness; int lcd4l_brightness_standby; int lcd4l_convert; int lcd4l_screenshots; #endif #define MODE_ICONS_NR_OF_ENTRIES 8 int mode_icons; int mode_icons_background; int mode_icons_skin; std::string mode_icons_flag[MODE_ICONS_NR_OF_ENTRIES]; // int show_ecm; // int show_ecm_pos; // video int video_Mode; int analog_mode1; int analog_mode2; int video_Format; int video_43mode; #if HAVE_ARM_HARDWARE || HAVE_MIPS_HARDWARE int psi_brightness; int psi_contrast; int psi_saturation; int psi_step; int psi_tint; #endif // hdmi cec int hdmi_cec_mode; int hdmi_cec_view_on; int hdmi_cec_standby; int hdmi_cec_volume; // volume char current_volume; int current_volume_step; int start_volume; int audio_volume_percent_ac3; int audio_volume_percent_pcm; int channel_mode; int channel_mode_radio; int channel_mode_initial; int channel_mode_initial_radio; int fan_speed; int srs_enable; int srs_algo; int srs_ref_volume; int srs_nmgr_enable; #if HAVE_ARM_HARDWARE || HAVE_MIPS_HARDWARE int ac3_pass; int dts_pass; #else int hdmi_dd; int spdif_dd; #endif // HAVE_ARM_HARDWARE || HAVE_MIPS_HARDWARE int analog_out; int avsync; int video_dbdr; int enabled_video_modes[VIDEOMENU_VIDEOMODE_OPTION_COUNT]; int enabled_auto_modes[VIDEOMENU_VIDEOMODE_OPTION_COUNT]; #if HAVE_ARM_HARDWARE || HAVE_MIPS_HARDWARE int zappingmode; int hdmi_colorimetry; #endif int cpufreq; int standby_cpufreq; // ci-settings int ci_standby_reset; int ci_check_live; int ci_tuner; int ci_rec_zapto; int ci_mode; #if BOXMODEL_VUPLUS_ALL int ci_delay; #endif // ci-settings for each slot int ci_ignore_messages[4]; int ci_save_pincode[4]; std::string ci_pincode[4]; int ci_clock[4]; #if BOXMODEL_VUPLUS_ALL int ci_rpr[4]; #endif int make_hd_list; int make_new_list; int make_removed_list; int make_webradio_list; int make_webtv_list; int keep_channel_numbers; int show_empty_favorites; // lcd/led enum LCD_SETTINGS { LCD_BRIGHTNESS = 0, LCD_STANDBY_BRIGHTNESS, LCD_CONTRAST, LCD_POWER, LCD_INVERSE, LCD_SHOW_VOLUME, LCD_AUTODIMM, LCD_DEEPSTANDBY_BRIGHTNESS, #if USE_STB_HAL LCD_EPGMODE, #endif LCD_SETTING_COUNT }; int lcd_setting[LCD_SETTING_COUNT]; std::string lcd_setting_dim_time; int lcd_setting_dim_brightness; int lcd_info_line; int lcd_scroll; int lcd_notify_rclock; int backlight_tv; int backlight_standby; int backlight_deepstandby; int led_tv_mode; int led_standby_mode; int led_deep_mode; int led_rec_mode; int led_blink; #ifdef BOXMODEL_CST_HD2 int brightness; int contrast; int saturation; #endif // hdd enum { HDD_STATFS_OFF = 0, HDD_STATFS_ALWAYS, HDD_STATFS_RECORDING }; int hdd_fs; int hdd_sleep; int hdd_noise; int hdd_statfs_mode; int hdd_format_on_mount_failed; int hdd_wakeup; int hdd_wakeup_msg; int hdd_allow_set_recdir; // timer std::vector timer_remotebox_ip; int timer_followscreenings; // misc int zap_cycle; int remote_control_hardware; int enable_sdt; int radiotext_enable; int cacheTXT; int zapto_pre_time; int minimode; int filesystem_is_utf8; // shutdown int shutdown_count; int shutdown_min; int shutdown_real; int shutdown_real_rcdelay; int sleeptimer_min; int power_standby; // screen saver int screensaver_delay; std::string screensaver_dir; int screensaver_mode; int screensaver_mode_text; int screensaver_random; int screensaver_timeout; // vcr int vcr_AutoSwitch; // audio int audio_AnalogMode; int audio_DolbyDigital; int audiochannel_up_down_enable; // language int auto_lang; int auto_subs; std::string pref_lang[3]; std::string pref_subs[3]; std::string subs_charset; std::string language; std::string timezone; // epg std::string epg_dir; int epg_cache; int epg_extendedcache; int epg_max_events; int epg_old_events; int epg_read; int epg_read_frequently; int epg_save; int epg_save_frequently; int epg_save_mode; int epg_save_standby; int epg_scan; int epg_scan_mode; int epg_scan_rescan; // epg search int epg_search_history_max; int epg_search_history_size; std::list epg_search_history; // network std::string ifname; #define NETWORK_NFS_NR_OF_ENTRIES 8 struct { std::string ip; std::string mac; std::string local_dir; std::string dir; int automount; std::string mount_options1; std::string mount_options2; int type; std::string username; std::string password; } network_nfs[NETWORK_NFS_NR_OF_ENTRIES]; #define NETFS_NR_OF_ENTRIES NETWORK_NFS_NR_OF_ENTRIES typedef enum { FSTAB = 0, AUTOMOUNT = 1, NETFS_MOUNT_TYPE_COUNT } NETFS_MOUNT_TYPE; struct { std::string ip; std::string dir; std::string local_dir; int type; std::string username; std::string password; std::string options1; std::string options2; int active; std::string dump; std::string pass; } netfs[NETFS_MOUNT_TYPE_COUNT][NETFS_NR_OF_ENTRIES]; std::string network_nfs_audioplayerdir; std::string network_nfs_moviedir; std::string network_nfs_picturedir; std::string network_nfs_recordingdir; std::string network_nfs_streamripperdir; std::string downloadcache_dir; std::string logo_hdd_dir; // recording int record_safety_time_before; int record_safety_time_after; int record_hours; int recording_already_found_check; #if HAVE_ARM_HARDWARE || HAVE_MIPS_HARDWARE int recording_bufsize; int recording_bufsize_dmx; #endif int recording_choose_direct_rec_dir; int recording_epg_for_end; int recording_epg_for_filename; std::string recording_filename_template; int recording_save_in_channeldir; int recording_fill_warning; int recording_slow_warning; int recording_startstop_msg; int recording_stopsectionsd; int recording_stream_pmt_pid; int recording_stream_subtitle_pids; int recording_stream_vtxt_pid; int recording_type; int recording_zap_on_announce; int shutdown_timer_record_type; unsigned char recording_audio_pids_default; int recording_audio_pids_ac3; int recording_audio_pids_alt; int recording_audio_pids_std; // timeshift std::string timeshiftdir; int timeshift_auto; int timeshift_delete; int timeshift_hours; int timeshift_pause; int timeshift_temp; // ntp server for sectionsd int network_ntpenable; std::string network_ntpserver; std::string network_ntprefresh; int network_ntpatboot; // personalize enum PERSONALIZE_SETTINGS // settings.h { P_MAIN_PINSTATUS, // user menu P_MAIN_BLUE_BUTTON, P_MAIN_YELLOW_BUTTON, P_MAIN_GREEN_BUTTON, P_MAIN_RED_BUTTON, // main menu P_MAIN_TV_MODE, P_MAIN_TV_RADIO_MODE, // togglemode P_MAIN_RADIO_MODE, P_MAIN_TIMER, P_MAIN_MEDIA, P_MAIN_GAMES, P_MAIN_TOOLS, P_MAIN_AVINPUT, #if ENABLE_PIP P_MAIN_AVINPUT_PIP, #endif P_MAIN_SCRIPTS, P_MAIN_LUA, P_MAIN_SETTINGS, P_MAIN_SERVICE, P_MAIN_SLEEPTIMER, P_MAIN_STANDBY, P_MAIN_REBOOT, P_MAIN_SHUTDOWN, P_MAIN_INFOMENU, P_MAIN_CISETTINGS, // settings menu P_MSET_SETTINGS_MANAGER, P_MSET_VIDEO, P_MSET_AUDIO, P_MSET_PARENTALLOCK, P_MSET_NETWORK, P_MSET_RECORDING, P_MSET_OSDLANG, P_MSET_OSD, P_MSET_VFD, P_MSET_DRIVES, P_MSET_CISETTINGS, P_MSET_KEYBINDING, P_MSET_MEDIAPLAYER, P_MSET_MISC, // service menu P_MSER_TUNER, P_MSER_SCANTS, P_MSER_RELOAD_CHANNELS, P_MSER_BOUQUET_EDIT, P_MSER_RESET_CHANNELS, P_MSER_RESTART, P_MSER_RELOAD_PLUGINS, P_MSER_SERVICE_INFOMENU, P_MSER_SOFTUPDATE, // media menu P_MEDIA_MENU, P_MEDIA_AUDIO, P_MEDIA_INETPLAY, P_MEDIA_MPLAYER, P_MEDIA_PVIEWER, P_MEDIA_UPNP, // movieplayer menu P_MPLAYER_MBROWSER, P_MPLAYER_FILEPLAY_VIDEO, P_MPLAYER_FILEPLAY_AUDIO, P_MPLAYER_YTPLAY, // feature keys P_FEAT_KEY_FAVORIT, P_FEAT_KEY_TIMERLIST, P_FEAT_KEY_VTXT, P_FEAT_KEY_RC_LOCK, // user menu P_UMENU_SHOW_CANCEL, // plugins types P_UMENU_PLUGIN_TYPE_GAMES, P_UMENU_PLUGIN_TYPE_TOOLS, P_UMENU_PLUGIN_TYPE_SCRIPTS, P_UMENU_PLUGIN_TYPE_LUA, P_SETTINGS_MAX }; int personalize[P_SETTINGS_MAX]; std::string personalize_pincode; // widget settings int widget_fade; // webtv int webtv_xml_auto; std::list webtv_xml; std::string last_webtv_dir; // webradio int webradio_xml_auto; std::list webradio_xml; std::string last_webradio_dir; // xmltv std::list xmltv_xml; // see http://wiki.xmltv.org/ std::list xmltv_xml_auto; int livestreamResolution; std::string livestreamScriptPath; // plugins std::string plugin_hdd_dir; std::string plugins_disabled; std::string plugins_game; std::string plugins_lua; std::string plugins_script; std::string plugins_tool; // default plugin for movieplayer std::string movieplayer_plugin; // screenshot std::string screenshot_dir; int screenshot_count; int screenshot_cover; int screenshot_format; int screenshot_mode; int screenshot_scale; int screenshot_video; int auto_cover; // screen configuration int osd_resolution; int screen_StartX_a_0; int screen_StartY_a_0; int screen_EndX_a_0; int screen_EndY_a_0; int screen_StartX_a_1; int screen_StartY_a_1; int screen_EndX_a_1; int screen_EndY_a_1; int screen_StartX_b_0; int screen_StartY_b_0; int screen_EndX_b_0; int screen_EndY_b_0; int screen_StartX_b_1; int screen_StartY_b_1; int screen_EndX_b_1; int screen_EndY_b_1; int screen_preset; int screen_StartX; int screen_StartY; int screen_EndX; int screen_EndY; int screen_width; int screen_height; // software update int softupdate_autocheck; #if ENABLE_PKG_MANAGEMENT int softupdate_autocheck_packages; #endif int softupdate_mode; int apply_settings; int apply_kernel; std::string softupdate_url_file; int softupdate_name_mode_apply; int softupdate_name_mode_backup; std::string softupdate_proxyserver; std::string softupdate_proxyusername; std::string softupdate_proxypassword; int flashupdate_createimage_add_env; int flashupdate_createimage_add_kernel; int flashupdate_createimage_add_root1; int flashupdate_createimage_add_spare; int flashupdate_createimage_add_u_boot; int flashupdate_createimage_add_uldr; int flashupdate_createimage_add_var; std::string backup_dir; std::string update_dir; std::string update_dir_opkg; // parentallock int parentallock_prompt; int parentallock_lockage; int parentallock_defaultlocked; std::string parentallock_pincode; int parentallock_zaptime; // fonts std::string font_file; std::string font_file_monospace; int font_scaling_x; int font_scaling_y; // font sizes enum FONT_TYPES { FONT_TYPE_MENU = 0, FONT_TYPE_MENU_TITLE, FONT_TYPE_MENU_INFO, FONT_TYPE_MENU_FOOT, FONT_TYPE_EPG_TITLE, FONT_TYPE_EPG_INFO1, FONT_TYPE_EPG_INFO2, FONT_TYPE_EPG_DATE, FONT_TYPE_EPGPLUS_ITEM, FONT_TYPE_EVENTLIST_TITLE, FONT_TYPE_EVENTLIST_ITEMLARGE, FONT_TYPE_EVENTLIST_ITEMSMALL, FONT_TYPE_EVENTLIST_DATETIME, FONT_TYPE_EVENTLIST_EVENT, FONT_TYPE_CHANNELLIST, FONT_TYPE_CHANNELLIST_DESCR, FONT_TYPE_CHANNELLIST_NUMBER, FONT_TYPE_CHANNELLIST_EVENT, FONT_TYPE_CHANNEL_NUM_ZAP, FONT_TYPE_INFOBAR_NUMBER, FONT_TYPE_INFOBAR_CHANNAME, FONT_TYPE_INFOBAR_INFO, FONT_TYPE_INFOBAR_SMALL, FONT_TYPE_FILEBROWSER_ITEM, FONT_TYPE_MENU_HINT, FONT_TYPE_MOVIEBROWSER_HEAD, FONT_TYPE_MOVIEBROWSER_LIST, FONT_TYPE_MOVIEBROWSER_INFO, FONT_TYPE_SUBTITLES, FONT_TYPE_MESSAGE_TEXT, FONT_TYPE_BUTTON_TEXT, FONT_TYPE_WINDOW_GENERAL, FONT_TYPE_WINDOW_RADIOTEXT_TITLE, FONT_TYPE_WINDOW_RADIOTEXT_DESC, FONT_TYPE_COUNT }; enum FONT_TYPES_FIXED { FONT_TYPE_FIXED_30_BOLD = 0, FONT_TYPE_FIXED_30_REGULAR, FONT_TYPE_FIXED_30_ITALIC, FONT_TYPE_FIXED_20_BOLD, FONT_TYPE_FIXED_20_REGULAR, FONT_TYPE_FIXED_20_ITALIC, FONT_TYPE_FIXED_16_BOLD, FONT_TYPE_FIXED_16_REGULAR, FONT_TYPE_FIXED_16_ITALIC, FONT_TYPE_FIXED_COUNT }; // online services std::string weather_api_key; int weather_enabled; std::string weather_city; std::string weather_location; std::string weather_postalcode; std::string youtube_dev_id; int youtube_enabled; std::string tmdb_api_key; int tmdb_enabled; std::string omdb_api_key; int omdb_enabled; std::string shoutcast_dev_id; int shoutcast_enabled; // zapit setup std::string StartChannelTV; std::string StartChannelRadio; t_channel_id startchanneltv_id; t_channel_id startchannelradio_id; int uselastchannel; // adzap int adzap_zapBackPeriod; int adzap_zapOnActivation; int adzap_writeData; enum { ADZAP_ZAP_OFF, ADZAP_ZAP_TO_LAST, ADZAP_ZAP_TO_START }; // pip #if ENABLE_PIP int pip_width; int pip_height; int pip_x; int pip_y; int pip_radio_width; int pip_radio_height; int pip_radio_x; int pip_radio_y; int pip_rotate_lastpos; #endif #if ENABLE_QUADPIP std::string quadpip_channel_window[4]; t_channel_id quadpip_channel_id_window[4]; #endif // pictureviewer int picviewer_scaling; int picviewer_slide_time; // audioplayer int audioplayer_cover_as_screensaver; int audioplayer_display; int audioplayer_enable_sc_metadata; int audioplayer_follow; int audioplayer_highprio; int audioplayer_repeat_on; int audioplayer_select_title_by_name; int audioplayer_show_playlist; int inetradio_autostart; int spectrum; // movieplayer int movieplayer_bisection_jump; int movieplayer_display_playtime; int movieplayer_repeat_on; #if HAVE_CST_HARDWARE bool movieplayer_select_ac3_atype0; #endif int movieplayer_timeosd_while_searching; // filebrowser int filebrowser_denydirectoryleave; int filebrowser_showrights; int filebrowser_sortmethod; // infoclock int mode_clock; int infoClockBackground; int infoClockFontSize; int infoClockSeconds; // volume gui int show_mute_icon; int volume_digits; int volume_pos; int volume_size; // menu int menu_pos; int show_menu_hints; // int show_menu_hints_line; // epgview int bigFonts; // eventlist int eventlist_additional; int eventlist_epgplus; // channellist bool channellist_descmode; int channellist_displaymode; enum CHANNELLIST_ADDITIONAL_MODES { CHANNELLIST_ADDITIONAL_MODE_OFF = 0, CHANNELLIST_ADDITIONAL_MODE_EPG = 1, CHANNELLIST_ADDITIONAL_MODE_MINITV = 2 }; int channellist_additional; int channellist_epgtext_alignment; int channellist_foot; int channellist_new_zap_mode; int channellist_numeric_adjust; int channellist_show_channellogo; int channellist_show_eventlogo; int channellist_show_infobox; int channellist_show_numbers; int channellist_show_res_icon; int channellist_sort_mode; // infobar typedef enum { INFOBAR_PROGRESSBAR_ARRANGEMENT_DEFAULT = 0, INFOBAR_PROGRESSBAR_ARRANGEMENT_BELOW_CH_NAME = 1, INFOBAR_PROGRESSBAR_ARRANGEMENT_BELOW_CH_NAME_SMALL = 2, INFOBAR_PROGRESSBAR_ARRANGEMENT_BETWEEN_EVENTS = 3 } INFOBAR_PROGRESSBAR_ARRANGEMENT_TYPES; // int infobar_analogclock; int infobar_buttons_usertitle; int infobar_casystem_display; int infobar_casystem_dotmatrix; int infobar_casystem_frame; int infobar_progressbar; int infobar_sat_display; int infobar_show; int infobar_show_channeldesc; int infobar_show_channellogo; int infobar_show_dd_available; int infobar_show_res; int infobar_show_sysfs_hdd; int infobar_show_tuner; int infobar_subchan_disp_pos; int scrambled_message; // windows int window_size; int window_width; int window_height; // osd bool osd_colorsettings_advanced_mode; #ifdef BOXMODEL_CST_HD2 int enable_sd_osd; #endif // timing enum TIMING_SETTINGS { TIMING_MENU = 0, TIMING_CHANLIST, TIMING_EPG, TIMING_VOLUMEBAR, TIMING_FILEBROWSER, TIMING_NUMERICZAP, TIMING_POPUP_MESSAGES, TIMING_STATIC_MESSAGES, TIMING_SETTING_COUNT }; int timing [TIMING_SETTING_COUNT]; // timing/handling infobar enum HANDLING_INFOBAR_SETTINGS { HANDLING_INFOBAR, HANDLING_INFOBAR_RADIO, HANDLING_INFOBAR_MEDIA_AUDIO, HANDLING_INFOBAR_MEDIA_VIDEO, HANDLING_INFOBAR_SETTING_COUNT }; int handling_infobar[HANDLING_INFOBAR_SETTING_COUNT]; // usermenu typedef enum { // Do not change ordering of members, add new item just before BUTTON_MAX! BUTTON_RED = 0, BUTTON_GREEN = 1, BUTTON_YELLOW = 2, BUTTON_BLUE = 3, BUTTON_MAX // MUST be always the last in the list } USER_BUTTON; typedef enum { // Do not change ordering of members, add new item just before ITEM_MAX! ITEM_NONE = 0, ITEM_BAR = 1, ITEM_EVENTLIST = 2, ITEM_EPGPLUS = 3, ITEM_EVENTINFO = 4, ITEM_EPG_MISC = 5, ITEM_AUDIO_SELECT = 6, ITEM_SUBCHANNEL = 7, ITEM_RECORD = 8, ITEM_MOVIEBROWSER = 9, ITEM_TIMERLIST = 10, ITEM_VTXT = 11, ITEM_FAVORITES = 12, ITEM_STREAMINFO = 13, ITEM_RCLOCK = 14, ITEM_PLUGIN_TYPES = 15, ITEM_IMAGEINFO = 16, ITEM_BOXINFO = 17, ITEM_CAM = 18, ITEM_CLOCK = 19, ITEM_GAMES = 20, ITEM_SCRIPTS = 21, ITEM_USER_MENU_22 = 22, ITEM_USER_MENU_23 = 23, ITEM_USER_MENU_24 = 24, ITEM_YOUTUBE = 25, ITEM_FILEPLAY_VIDEO = 26, ITEM_TOOLS = 27, ITEM_LUA = 28, ITEM_USER_MENU_29 = 29, ITEM_HDDMENU = 30, ITEM_AUDIOPLAYER = 31, ITEM_INETPLAYER = 32, ITEM_NETSETTINGS = 33, ITEM_SWUPDATE = 34, ITEM_LIVESTREAM_RESOLUTION = 35, ITEM_ADZAP = 36, ITEM_TESTMENU = 37, ITEM_FILEPLAY_AUDIO = 38, ITEM_TIMESHIFT = 39, ITEM_LCD4LINUX = 40, ITEM_MAX // MUST be always the last in the list } USER_ITEM; typedef struct { unsigned int key; std::string items; std::string title; std::string name; } usermenu_t; std::vector usermenu; enum WIZARD_MODES { WIZARD_OFF = 0, WIZARD_START = 1, WIZARD_ON = 2 }; std::string version_pseudo; // key configuration; alphabetical order int key_bouquet_down; int key_bouquet_up; int key_channelList_addrecord; int key_channelList_addremind; int key_channelList_cancel; int key_channelList_sort; int key_current_transponder; int key_favorites; int key_format_mode_active; int key_help; int key_lastchannel; int key_list_end; int key_list_start; int key_next43mode; int key_pagedown; int key_pageup; int key_pic_mode_active; int key_pic_size_active; #if ENABLE_PIP int key_pip_close; int key_pip_close_avinput; int key_pip_rotate_cw; int key_pip_rotate_ccw; int key_pip_setup; int key_pip_swap; #endif int key_power_off; int key_quickzap_down; int key_quickzap_up; int key_record; int key_screenshot; int key_sleep; int key_standby_off_add; int key_subchannel_down; int key_subchannel_up; int key_switchformat; int key_timeshift; int key_tvradio_mode; int key_unlock; int key_volumedown; int key_volumeup; int key_zaphistory; int mbkey_copy_onefile; int mbkey_copy_several; int mbkey_cover; int mbkey_cut; int mbkey_truncate; int mbkey_toggle_view_cw; int mbkey_toggle_view_ccw; int mpkey_audio; int mpkey_bookmark; int mpkey_forward; int mpkey_goto; int mpkey_next_repeat_mode; int mpkey_pause; int mpkey_play; int mpkey_plugin; int mpkey_rewind; int mpkey_stop; int mpkey_subtitle; int mpkey_time; // key options int bouquetlist_mode; int menu_left_exit; int repeat_blocker; int repeat_genericblocker; int sms_channel; int sms_movie; #define LONGKEYPRESS_OFF 499 int longkeypress_duration; enum MODE_LEFT_RIGHT_KEY_TV_SETTINGS { ZAP = 0, VZAP = 1, VOLUME = 2, INFOBAR = 3 }; enum BOUQUETLIST_MODES { CHANNELLIST = 0, FAVORITES = 1 }; int mode_left_right_key_tv; }; extern const struct personalize_settings_t personalize_settings[SNeutrinoSettings::P_SETTINGS_MAX]; //#define FILESYSTEM_ENCODING_TO_UTF8(a) (g_settings.filesystem_is_utf8 ? (a) : ZapitTools::Latin1_to_UTF8(a).c_str()) #define FILESYSTEM_ENCODING_TO_UTF8(a) (isUTF8(a) ? (a) : ZapitTools::Latin1_to_UTF8(a).c_str()) #define UTF8_TO_FILESYSTEM_ENCODING(a) (g_settings.filesystem_is_utf8 ? (a) : ZapitTools::UTF8_to_Latin1(a).c_str()) //#define FILESYSTEM_ENCODING_TO_UTF8_STRING(a) (g_settings.filesystem_is_utf8 ? (a) : ZapitTools::Latin1_to_UTF8(a)) #define FILESYSTEM_ENCODING_TO_UTF8_STRING(a) (isUTF8(a) ? (a) : ZapitTools::Latin1_to_UTF8(a)) // timeout modes typedef struct time_settings_t { const int default_timing; const neutrino_locale_t name; const neutrino_locale_t hint; } time_settings_struct_t; // osd timing modes const time_settings_struct_t timing_setting[SNeutrinoSettings::TIMING_SETTING_COUNT] = { { 240, LOCALE_TIMING_MENU, LOCALE_MENU_HINT_OSD_TIMING}, { 60, LOCALE_TIMING_CHANLIST, LOCALE_MENU_HINT_OSD_TIMING}, { 240, LOCALE_TIMING_EPG, LOCALE_MENU_HINT_OSD_TIMING}, { 3, LOCALE_TIMING_VOLUMEBAR, LOCALE_MENU_HINT_OSD_TIMING}, { 60, LOCALE_TIMING_FILEBROWSER, LOCALE_MENU_HINT_OSD_TIMING}, { 3, LOCALE_TIMING_NUMERICZAP, LOCALE_MENU_HINT_OSD_TIMING}, { 6, LOCALE_TIMING_POPUP_MESSAGES, LOCALE_MENU_HINT_OSD_TIMING}, { 60, LOCALE_TIMING_STATIC_MESSAGES, LOCALE_MENU_HINT_TIMEOUTS_STATIC_MESSAGES} }; // infobar osd modes const time_settings_struct_t handling_infobar_setting[SNeutrinoSettings::HANDLING_INFOBAR_SETTING_COUNT] = { { 6, LOCALE_TIMING_INFOBAR_TV, LOCALE_MENU_HINT_OSD_BEHAVIOR_INFOBAR}, { -1, LOCALE_TIMING_INFOBAR_RADIO, LOCALE_MENU_HINT_OSD_BEHAVIOR_INFOBAR}, { -1, LOCALE_TIMING_INFOBAR_MEDIA_AUDIO, LOCALE_MENU_HINT_OSD_BEHAVIOR_INFOBAR}, { 6, LOCALE_TIMING_INFOBAR_MEDIA_VIDEO, LOCALE_MENU_HINT_OSD_BEHAVIOR_INFOBAR} }; enum { PIP_NO_POS = -1, PIP_UP_LEFT = 0, PIP_UP_RIGHT = 1, PIP_DOWN_RIGHT = 2, PIP_DOWN_LEFT = 3 }; // lcdd #define DEFAULT_VFD_BRIGHTNESS 15 #define DEFAULT_VFD_STANDBYBRIGHTNESS 5 #define DEFAULT_LCD_BRIGHTNESS 0xff #define DEFAULT_LCD_STANDBYBRIGHTNESS 0xaa #define DEFAULT_LCD_CONTRAST 0x0F #define DEFAULT_LCD_POWER 0x01 #define DEFAULT_LCD_INVERSE 0x00 #define DEFAULT_LCD_AUTODIMM 0x00 #define DEFAULT_LCD_SHOW_VOLUME 0x01 #define CORNER_RADIUS_LARGE CFrameBuffer::getInstance()->scale2Res(11) #define CORNER_RADIUS_MID CFrameBuffer::getInstance()->scale2Res(7) #define CORNER_RADIUS_SMALL CFrameBuffer::getInstance()->scale2Res(5) #define CORNER_RADIUS_MIN CFrameBuffer::getInstance()->scale2Res(3) #define CORNER_RADIUS_NONE 0 #define RADIUS_LARGE (g_settings.theme.rounded_corners ? CORNER_RADIUS_LARGE : CORNER_RADIUS_NONE) #define RADIUS_MID (g_settings.theme.rounded_corners ? CORNER_RADIUS_MID : CORNER_RADIUS_NONE) #define RADIUS_SMALL (g_settings.theme.rounded_corners ? CORNER_RADIUS_SMALL : CORNER_RADIUS_NONE) #define RADIUS_MIN (g_settings.theme.rounded_corners ? CORNER_RADIUS_MIN : CORNER_RADIUS_NONE) #define RADIUS_NONE 0 // offsets #define OFFSET_SHADOW CFrameBuffer::getInstance()->scale2Res(6) #define OFFSET_INTER CFrameBuffer::getInstance()->scale2Res(6) #define OFFSET_INNER_LARGE CFrameBuffer::getInstance()->scale2Res(20) #define OFFSET_INNER_MID CFrameBuffer::getInstance()->scale2Res(10) #define OFFSET_INNER_SMALL CFrameBuffer::getInstance()->scale2Res(5) #define OFFSET_INNER_MIN CFrameBuffer::getInstance()->scale2Res(2) #define OFFSET_INNER_NONE 0 #define SCROLLBAR_WIDTH (OFFSET_INNER_MID + 2*OFFSET_INNER_MIN) #define FRAME_WIDTH_MIN 1 #define FRAME_WIDTH_NONE 0 #define DETAILSLINE_WIDTH CFrameBuffer::getInstance()->scale2Res(16) #define SIDEBAR_WIDTH CFrameBuffer::getInstance()->scale2Res(40) #define SLIDER_HEIGHT CFrameBuffer::getInstance()->scale2Res(22) #define SLIDER_WIDTH CFrameBuffer::getInstance()->scale2Res(120) #define PROGRESSBAR_WIDTH CFrameBuffer::getInstance()->scale2Res(100) #define BIGFONT_FACTOR 1.5 struct SglobalInfo { hw_caps_t *hw_caps; }; const int PARENTALLOCK_PROMPT_NEVER = 0; const int PARENTALLOCK_PROMPT_ONSTART = 1; const int PARENTALLOCK_PROMPT_CHANGETOLOCKED = 2; const int PARENTALLOCK_PROMPT_ONSIGNAL = 3; class CScanSettings { public: CConfigFile configfile; int bouquetMode; int scanType; int scan_nit; int scan_nit_manual; int scan_bat; int scan_fta_flag; int scan_reset_numbers; int scan_logical_numbers; int scan_logical_hd; int fast_type; int fast_op; int fst_version; int fst_update; int cable_nid; std::string satName; int sat_TP_fec; int sat_TP_pol; std::string sat_TP_freq; std::string sat_TP_rate; int sat_TP_delsys; int sat_TP_mod; int sat_TP_pilot; std::string sat_TP_pli; std::string sat_TP_plc; int sat_TP_plm; std::string cableName; int cable_TP_mod; int cable_TP_fec; std::string cable_TP_freq; std::string cable_TP_rate; int cable_TP_delsys; std::string terrestrialName; std::string terrestrial_TP_freq; int terrestrial_TP_constel; int terrestrial_TP_bw; int terrestrial_TP_coderate_HP; int terrestrial_TP_coderate_LP; int terrestrial_TP_guard; int terrestrial_TP_hierarchy; int terrestrial_TP_transmit_mode; int terrestrial_TP_delsys; std::string terrestrial_TP_pli; CScanSettings(); bool loadSettings(const char * const fileName); bool saveSettings(const char * const fileName); }; #endif