Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1 | /*************************************************************************** |
| 2 | * __________ __ ___. |
| 3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ |
| 4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / |
| 5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < |
| 6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ |
| 7 | * \/ \/ \/ \/ \/ |
Jonathan Gordon | 4e73b53 | 2007-02-13 00:32:17 +0000 | [diff] [blame] | 8 | * $Id$ |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 9 | * |
| 10 | * Copyright (C) 2007 Jonathan Gordon |
| 11 | * |
Daniel Stenberg | 2acc0ac | 2008-06-28 18:10:04 +0000 | [diff] [blame^] | 12 | * This program is free software; you can redistribute it and/or |
| 13 | * modify it under the terms of the GNU General Public License |
| 14 | * as published by the Free Software Foundation; either version 2 |
| 15 | * of the License, or (at your option) any later version. |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 16 | * |
| 17 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY |
| 18 | * KIND, either express or implied. |
| 19 | * |
| 20 | ****************************************************************************/ |
| 21 | |
| 22 | #include "config.h" |
| 23 | #include <stdbool.h> |
Jonathan Gordon | fb62831 | 2007-02-12 14:22:35 +0000 | [diff] [blame] | 24 | #include <string.h> |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 25 | #include "system.h" |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 26 | #include "ata.h" |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 27 | #include "lang.h" |
Jonathan Gordon | 4718a1e | 2007-02-08 04:33:41 +0000 | [diff] [blame] | 28 | #include "talk.h" |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 29 | #include "lcd.h" |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 30 | #include "button.h" |
| 31 | #include "backlight.h" |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 32 | #include "settings.h" |
| 33 | #include "settings_list.h" |
| 34 | #include "sound.h" |
Jonathan Gordon | 4718a1e | 2007-02-08 04:33:41 +0000 | [diff] [blame] | 35 | #include "dsp.h" |
Jonathan Gordon | fb62831 | 2007-02-12 14:22:35 +0000 | [diff] [blame] | 36 | #include "debug.h" |
| 37 | #include "mpeg.h" |
| 38 | #include "audio.h" |
Jonathan Gordon | c370e08 | 2007-02-12 14:34:09 +0000 | [diff] [blame] | 39 | #include "power.h" |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 40 | #include "powermgmt.h" |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 41 | #include "kernel.h" |
| 42 | #include "lcd-remote.h" |
| 43 | #include "list.h" |
| 44 | #include "rbunicode.h" |
| 45 | #ifdef HAVE_LCD_BITMAP |
| 46 | #include "peakmeter.h" |
| 47 | #endif |
Jonathan Gordon | 2801a87 | 2007-02-19 02:14:51 +0000 | [diff] [blame] | 48 | #include "menus/eq_menu.h" |
Jonathan Gordon | 2816dc9 | 2007-02-27 09:06:30 +0000 | [diff] [blame] | 49 | #if CONFIG_TUNER |
| 50 | #include "radio.h" |
| 51 | #endif |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 52 | |
Jonathan Gordon | a5278fa | 2007-07-11 05:41:23 +0000 | [diff] [blame] | 53 | #define NVRAM(bytes) (bytes<<F_NVRAM_MASK_SHIFT) |
| 54 | /** NOTE: NVRAM_CONFIG_VERSION is in settings_list.h |
| 55 | and you may need to update it if you edit this file */ |
| 56 | |
| 57 | #define UNUSED {.RESERVED=NULL} |
| 58 | #define INT(a) {.int_ = a} |
| 59 | #define UINT(a) {.uint_ = a} |
| 60 | #define BOOL(a) {.bool_ = a} |
| 61 | #define CHARPTR(a) {.charptr = a} |
| 62 | #define UCHARPTR(a) {.ucharptr = a} |
| 63 | #define FUNCTYPE(a) {.func = a} |
| 64 | #define NODEFAULT INT(0) |
| 65 | |
| 66 | /* in all the following macros the args are: |
| 67 | - flags: bitwise | or the F_ bits in settings_list.h |
| 68 | - var: pointer to the variable being changed (usually in global_settings) |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 69 | - lang_id: LANG_* id to display in menus and setting screens for the setting |
Jonathan Gordon | a5278fa | 2007-07-11 05:41:23 +0000 | [diff] [blame] | 70 | - default: the default value for the variable, set if settings are reset |
| 71 | - name: the name of the setting in config files |
| 72 | - cfg_vals: comma seperated list of legal values in cfg files. |
| 73 | NULL if a number is written to the file instead. |
| 74 | - cb: the callback used by the setting screen. |
| 75 | */ |
| 76 | |
| 77 | /* Use for int settings which use the set_sound() function to set them */ |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 78 | #define SOUND_SETTING(flags,var,lang_id,name,setting) \ |
Jonathan Gordon | b8bc45d | 2007-12-24 22:35:31 +0000 | [diff] [blame] | 79 | {flags|F_T_INT|F_T_SOUND|F_SOUNDSETTING, &global_settings.var, \ |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 80 | lang_id, NODEFAULT,name,NULL, \ |
Jonathan Gordon | a5278fa | 2007-07-11 05:41:23 +0000 | [diff] [blame] | 81 | {.sound_setting=(struct sound_setting[]){{setting}}} } |
| 82 | |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 83 | /* Use for bool variables which don't use LANG_SET_BOOL_YES and LANG_SET_BOOL_NO |
Jonathan Gordon | a5278fa | 2007-07-11 05:41:23 +0000 | [diff] [blame] | 84 | or dont save as "off" or "on" in the cfg */ |
| 85 | #define BOOL_SETTING(flags,var,lang_id,default,name,cfgvals,yes,no,cb) \ |
| 86 | {flags|F_BOOL_SETTING, &global_settings.var, \ |
| 87 | lang_id, BOOL(default),name,cfgvals, \ |
| 88 | {.bool_setting=(struct bool_setting[]){{cb,yes,no}}} } |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 89 | |
Jonathan Gordon | a5278fa | 2007-07-11 05:41:23 +0000 | [diff] [blame] | 90 | /* bool setting which does use LANG_YES and _NO and save as "off,on" */ |
| 91 | #define OFFON_SETTING(flags,var,lang_id,default,name,cb) \ |
| 92 | {flags|F_BOOL_SETTING, &global_settings.var, \ |
| 93 | lang_id, BOOL(default),name,off_on, \ |
| 94 | {.bool_setting=(struct bool_setting[]) \ |
| 95 | {{cb,LANG_SET_BOOL_YES,LANG_SET_BOOL_NO}}} } |
| 96 | |
| 97 | /* int variable which is NOT saved to .cfg files, |
| 98 | (Use NVRAM() in the flags to save to the nvram (or nvram.bin file) */ |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 99 | #define SYSTEM_SETTING(flags,var,default) \ |
Jonathan Gordon | a5278fa | 2007-07-11 05:41:23 +0000 | [diff] [blame] | 100 | {flags|F_T_INT, &global_status.var,-1, INT(default), \ |
| 101 | NULL, NULL, UNUSED} |
| 102 | |
| 103 | /* setting which stores as a filename in the .cfgvals |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 104 | prefix: The absolute path to not save in the variable, ex /.rockbox/wps_file |
Jonathan Gordon | a5278fa | 2007-07-11 05:41:23 +0000 | [diff] [blame] | 105 | suffx: The file extention (usually...) e.g .wps_file */ |
| 106 | #define FILENAME_SETTING(flags,var,name,default,prefix,suffix,len) \ |
| 107 | {flags|F_T_UCHARPTR, &global_settings.var,-1, \ |
| 108 | CHARPTR(default),name,NULL, \ |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 109 | {.filename_setting= \ |
Jonathan Gordon | a5278fa | 2007-07-11 05:41:23 +0000 | [diff] [blame] | 110 | (struct filename_setting[]){{prefix,suffix,len}}} } |
| 111 | |
| 112 | /* Used for settings which use the set_option() setting screen. |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 113 | The ... arg is a list of pointers to strings to display in the setting |
| 114 | screen. These can either be literal strings, or ID2P(LANG_*) */ |
| 115 | #define CHOICE_SETTING(flags,var,lang_id,default,name,cfg_vals,cb,count,...) \ |
Jonathan Gordon | a5278fa | 2007-07-11 05:41:23 +0000 | [diff] [blame] | 116 | {flags|F_CHOICE_SETTING|F_T_INT, &global_settings.var, lang_id, \ |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 117 | INT(default), name, cfg_vals, \ |
| 118 | {.choice_setting = (struct choice_setting[]){ \ |
| 119 | {cb, count, {.desc = (const unsigned char*[]) \ |
| 120 | {__VA_ARGS__}}}}}} |
| 121 | |
Jonathan Gordon | a5278fa | 2007-07-11 05:41:23 +0000 | [diff] [blame] | 122 | /* Similar to above, except the strings to display are taken from cfg_vals, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 123 | the ... arg is a list of ID's to talk for the strings, can use TALK_ID()'s */ |
| 124 | #define STRINGCHOICE_SETTING(flags,var,lang_id,default,name,cfg_vals, \ |
| 125 | cb,count,...) \ |
| 126 | {flags|F_CHOICE_SETTING|F_T_INT|F_CHOICETALKS, \ |
| 127 | &global_settings.var, lang_id, \ |
| 128 | INT(default), name, cfg_vals, \ |
| 129 | {.choice_setting = (struct choice_setting[]){ \ |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 130 | {cb, count, {.talks = (const int[]){__VA_ARGS__}}}}}} |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 131 | |
Jonathan Gordon | a5278fa | 2007-07-11 05:41:23 +0000 | [diff] [blame] | 132 | /* for settings which use the set_int() setting screen. |
| 133 | unit is the UNIT_ define to display/talk. |
| 134 | the first one saves a string to the config file, |
| 135 | the second one saves the variable value to the config file */ |
| 136 | #define INT_SETTING_W_CFGVALS(flags, var, lang_id, default, name, cfg_vals, \ |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 137 | unit, min, max, step, formatter, get_talk_id, cb) \ |
| 138 | {flags|F_INT_SETTING|F_T_INT, &global_settings.var, \ |
| 139 | lang_id, INT(default), name, cfg_vals, \ |
| 140 | {.int_setting = (struct int_setting[]){ \ |
Jonathan Gordon | a5278fa | 2007-07-11 05:41:23 +0000 | [diff] [blame] | 141 | {cb, unit, min, max, step, formatter, get_talk_id}}}} |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 142 | #define INT_SETTING(flags, var, lang_id, default, name, \ |
| 143 | unit, min, max, step, formatter, get_talk_id, cb) \ |
Jonathan Gordon | a5278fa | 2007-07-11 05:41:23 +0000 | [diff] [blame] | 144 | {flags|F_INT_SETTING|F_T_INT, &global_settings.var, \ |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 145 | lang_id, INT(default), name, NULL, \ |
Jonathan Gordon | a5278fa | 2007-07-11 05:41:23 +0000 | [diff] [blame] | 146 | {.int_setting = (struct int_setting[]){ \ |
| 147 | {cb, unit, min, max, step, formatter, get_talk_id}}}} |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 148 | #define INT_SETTING_NOWRAP(flags, var, lang_id, default, name, \ |
| 149 | unit, min, max, step, formatter, get_talk_id, cb) \ |
Dan Everton | 0c2ff76 | 2007-11-29 09:19:08 +0000 | [diff] [blame] | 150 | {flags|F_INT_SETTING|F_T_INT|F_NO_WRAP, &global_settings.var, \ |
| 151 | lang_id, INT(default), name, NULL, \ |
| 152 | {.int_setting = (struct int_setting[]){ \ |
| 153 | {cb, unit, min, max, step, formatter, get_talk_id}}}} |
Jonathan Gordon | a5278fa | 2007-07-11 05:41:23 +0000 | [diff] [blame] | 154 | |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 155 | #define TABLE_SETTING(flags, var, lang_id, default, name, cfg_vals, \ |
| 156 | unit, formatter, get_talk_id, cb, count, ...) \ |
| 157 | {flags|F_TABLE_SETTING|F_T_INT, &global_settings.var, \ |
| 158 | lang_id, INT(default), name, cfg_vals, \ |
| 159 | {.table_setting = (struct table_setting[]) { \ |
| 160 | {cb, formatter, get_talk_id, unit, count, \ |
| 161 | (const int[]){__VA_ARGS__}}}}} |
Jonathan Gordon | a5278fa | 2007-07-11 05:41:23 +0000 | [diff] [blame] | 162 | |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 163 | /* some sets of values which are used more than once, to save memory */ |
| 164 | static const char off_on[] = "off,on"; |
| 165 | static const char off_on_ask[] = "off,on,ask"; |
Steve Bavin | 6fd10ba | 2007-06-07 09:24:53 +0000 | [diff] [blame] | 166 | static const char off_number_spell[] = "off,number,spell"; |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 167 | #ifdef HAVE_LCD_BITMAP |
| 168 | static const char graphic_numeric[] = "graphic,numeric"; |
| 169 | #endif |
| 170 | |
Michael Giacomelli | aa26962 | 2008-02-23 03:56:39 +0000 | [diff] [blame] | 171 | /* Default theme settings */ |
Michael Giacomelli | b2366c8 | 2008-02-23 04:15:08 +0000 | [diff] [blame] | 172 | #define DEFAULT_WPSNAME "cabbiev2" |
| 173 | |
Michael Giacomelli | aa26962 | 2008-02-23 03:56:39 +0000 | [diff] [blame] | 174 | #ifdef HAVE_LCD_BITMAP |
| 175 | |
| 176 | #if LCD_HEIGHT <= 64 |
| 177 | #define DEFAULT_FONTNAME "rockfont-8" |
| 178 | #elif LCD_HEIGHT <= 80 |
| 179 | #define DEFAULT_FONTNAME "Sazanami-Mincho-Regular-11" |
| 180 | #elif LCD_HEIGHT <= 220 |
| 181 | #define DEFAULT_FONTNAME "helvR10" |
Michael Giacomelli | aa26962 | 2008-02-23 03:56:39 +0000 | [diff] [blame] | 182 | #elif LCD_HEIGHT <= 320 |
Michael Giacomelli | cbc701c | 2008-03-06 18:07:49 +0000 | [diff] [blame] | 183 | #define DEFAULT_FONTNAME "helvR12" |
Michael Giacomelli | b2366c8 | 2008-02-23 04:15:08 +0000 | [diff] [blame] | 184 | #else |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 185 | #define DEFAULT_FONTNAME "helvR10" |
Michael Giacomelli | aa26962 | 2008-02-23 03:56:39 +0000 | [diff] [blame] | 186 | #endif |
Michael Giacomelli | b2366c8 | 2008-02-23 04:15:08 +0000 | [diff] [blame] | 187 | |
Michael Giacomelli | aa26962 | 2008-02-23 03:56:39 +0000 | [diff] [blame] | 188 | #else |
| 189 | #define DEFAULT_FONTNAME "" |
Michael Giacomelli | aa26962 | 2008-02-23 03:56:39 +0000 | [diff] [blame] | 190 | #endif |
| 191 | |
| 192 | #ifdef HAVE_LCD_COLOR |
| 193 | #define DEFAULT_ICONSET "tango_small" |
| 194 | #define DEFAULT_VIEWERS_ICONSET "tango_small_viewers" |
Jens Arnold | 43cf1d5 | 2008-02-27 08:04:13 +0000 | [diff] [blame] | 195 | #elif LCD_DEPTH >= 2 |
Michael Giacomelli | aa26962 | 2008-02-23 03:56:39 +0000 | [diff] [blame] | 196 | #define DEFAULT_ICONSET "tango_small_mono" |
| 197 | #define DEFAULT_VIEWERS_ICONSET "tango_small_viewers_mono" |
Jens Arnold | 43cf1d5 | 2008-02-27 08:04:13 +0000 | [diff] [blame] | 198 | #else /* monochrome */ |
| 199 | #define DEFAULT_ICONSET "" |
| 200 | #define DEFAULT_VIEWERS_ICONSET "" |
Michael Giacomelli | aa26962 | 2008-02-23 03:56:39 +0000 | [diff] [blame] | 201 | #endif |
| 202 | |
| 203 | #define DEFAULT_THEME_FOREGROUND LCD_RGBPACK(0xce, 0xcf, 0xce) |
| 204 | #define DEFAULT_THEME_BACKGROUND LCD_RGBPACK(0x00, 0x00, 0x00) |
| 205 | #define DEFAULT_THEME_SELECTOR_START LCD_RGBPACK(0xff, 0xeb, 0x9c) |
| 206 | #define DEFAULT_THEME_SELECTOR_END LCD_RGBPACK(0xb5, 0x8e, 0x00) |
| 207 | #define DEFAULT_THEME_SELECTOR_TEXT LCD_RGBPACK(0x00, 0x00, 0x00) |
| 208 | |
| 209 | #define DEFAULT_BACKDROP "cabbiev2" |
| 210 | |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 211 | #ifdef HAVE_RECORDING |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 212 | /* these should be in the config.h files */ |
| 213 | #if CONFIG_CODEC == MAS3587F |
| 214 | # define DEFAULT_REC_MIC_GAIN 8 |
| 215 | # define DEFAULT_REC_LEFT_GAIN 2 |
| 216 | # define DEFAULT_REC_RIGHT_GAIN 2 |
| 217 | #elif CONFIG_CODEC == SWCODEC |
| 218 | # ifdef HAVE_UDA1380 |
| 219 | # define DEFAULT_REC_MIC_GAIN 16 |
| 220 | # define DEFAULT_REC_LEFT_GAIN 0 |
| 221 | # define DEFAULT_REC_RIGHT_GAIN 0 |
| 222 | # elif defined(HAVE_TLV320) |
| 223 | # define DEFAULT_REC_MIC_GAIN 0 |
| 224 | # define DEFAULT_REC_LEFT_GAIN 0 |
| 225 | # define DEFAULT_REC_RIGHT_GAIN 0 |
| 226 | # elif defined(HAVE_WM8975) |
| 227 | # define DEFAULT_REC_MIC_GAIN 16 |
| 228 | # define DEFAULT_REC_LEFT_GAIN 0 |
| 229 | # define DEFAULT_REC_RIGHT_GAIN 0 |
| 230 | # elif defined(HAVE_WM8758) |
| 231 | # define DEFAULT_REC_MIC_GAIN 16 |
| 232 | # define DEFAULT_REC_LEFT_GAIN 0 |
| 233 | # define DEFAULT_REC_RIGHT_GAIN 0 |
| 234 | # elif defined(HAVE_WM8731) |
| 235 | # define DEFAULT_REC_MIC_GAIN 16 |
| 236 | # define DEFAULT_REC_LEFT_GAIN 0 |
| 237 | # define DEFAULT_REC_RIGHT_GAIN 0 |
| 238 | # endif |
| 239 | #endif |
| 240 | |
Jens Arnold | 09a7861 | 2007-11-26 23:10:20 +0000 | [diff] [blame] | 241 | #endif /* HAVE_RECORDING */ |
| 242 | |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 243 | static void formatter_unit_0_is_off(char *buffer, size_t buffer_size, |
Jens Arnold | 09a7861 | 2007-11-26 23:10:20 +0000 | [diff] [blame] | 244 | int val, const char *unit) |
Jonathan Gordon | 120016f | 2007-03-13 11:48:47 +0000 | [diff] [blame] | 245 | { |
Jonathan Gordon | 120016f | 2007-03-13 11:48:47 +0000 | [diff] [blame] | 246 | if (val == 0) |
| 247 | strcpy(buffer, str(LANG_OFF)); |
| 248 | else |
Jens Arnold | 09a7861 | 2007-11-26 23:10:20 +0000 | [diff] [blame] | 249 | snprintf(buffer, buffer_size, "%d %s", val, unit); |
Jonathan Gordon | 120016f | 2007-03-13 11:48:47 +0000 | [diff] [blame] | 250 | } |
| 251 | |
Jens Arnold | 09a7861 | 2007-11-26 23:10:20 +0000 | [diff] [blame] | 252 | static int32_t getlang_unit_0_is_off(int value, int unit) |
| 253 | { |
| 254 | if (value == 0) |
| 255 | return LANG_OFF; |
| 256 | else |
| 257 | return TALK_ID(value,unit); |
| 258 | } |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 259 | |
Jens Arnold | 47bf6c5 | 2007-04-12 22:12:13 +0000 | [diff] [blame] | 260 | #ifdef HAVE_BACKLIGHT |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 261 | static void backlight_formatter(char *buffer, size_t buffer_size, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 262 | int val, const char *unit) |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 263 | { |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 264 | if (val == -1) |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 265 | strcpy(buffer, str(LANG_OFF)); |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 266 | else if (val == 0) |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 267 | strcpy(buffer, str(LANG_ON)); |
Nils Wallménius | 45ffc87 | 2007-08-13 12:21:27 +0000 | [diff] [blame] | 268 | else |
Jens Arnold | 09a7861 | 2007-11-26 23:10:20 +0000 | [diff] [blame] | 269 | snprintf(buffer, buffer_size, "%d %s", val, unit); |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 270 | } |
Jens Arnold | 09a7861 | 2007-11-26 23:10:20 +0000 | [diff] [blame] | 271 | static int32_t backlight_getlang(int value, int unit) |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 272 | { |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 273 | if (value == -1) |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 274 | return LANG_OFF; |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 275 | else if (value == 0) |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 276 | return LANG_ON; |
Jens Arnold | 09a7861 | 2007-11-26 23:10:20 +0000 | [diff] [blame] | 277 | else |
| 278 | return TALK_ID(value, unit); |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 279 | } |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 280 | #endif |
Jens Arnold | 09a7861 | 2007-11-26 23:10:20 +0000 | [diff] [blame] | 281 | |
| 282 | static void scanaccel_formatter(char *buffer, size_t buffer_size, |
Jonathan Gordon | fb62831 | 2007-02-12 14:22:35 +0000 | [diff] [blame] | 283 | int val, const char *unit) |
| 284 | { |
| 285 | (void)unit; |
| 286 | if (val == 0) |
| 287 | strcpy(buffer, str(LANG_OFF)); |
| 288 | else |
| 289 | snprintf(buffer, buffer_size, "2x/%ds", val); |
| 290 | } |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 291 | |
Jonathan Gordon | fe3cfcc | 2007-02-08 10:28:42 +0000 | [diff] [blame] | 292 | #if CONFIG_CODEC == SWCODEC |
Thom Johansen | 8e6e290 | 2007-03-07 15:06:33 +0000 | [diff] [blame] | 293 | static void crossfeed_cross_set(int val) |
Jonathan Gordon | fe3cfcc | 2007-02-08 10:28:42 +0000 | [diff] [blame] | 294 | { |
Thom Johansen | 8e6e290 | 2007-03-07 15:06:33 +0000 | [diff] [blame] | 295 | (void)val; |
| 296 | dsp_set_crossfeed_cross_params(global_settings.crossfeed_cross_gain, |
| 297 | global_settings.crossfeed_hf_attenuation, |
| 298 | global_settings.crossfeed_hf_cutoff); |
Jonathan Gordon | fe3cfcc | 2007-02-08 10:28:42 +0000 | [diff] [blame] | 299 | } |
Jonathan Gordon | fb62831 | 2007-02-12 14:22:35 +0000 | [diff] [blame] | 300 | |
Thom Johansen | 39e2de8 | 2007-12-08 01:45:04 +0000 | [diff] [blame] | 301 | static void db_format(char* buffer, size_t buffer_size, int value, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 302 | const char* unit) |
Jonathan Gordon | fb62831 | 2007-02-12 14:22:35 +0000 | [diff] [blame] | 303 | { |
| 304 | int v = abs(value); |
| 305 | |
| 306 | snprintf(buffer, buffer_size, "%s%d.%d %s", value < 0 ? "-" : "", |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 307 | v / 10, v % 10, unit); |
Jonathan Gordon | fb62831 | 2007-02-12 14:22:35 +0000 | [diff] [blame] | 308 | } |
| 309 | |
Nils Wallménius | 05d2bfd | 2008-04-19 13:19:04 +0000 | [diff] [blame] | 310 | static int32_t get_dec_talkid(int value, int unit) |
| 311 | { |
| 312 | return TALK_ID_DECIMAL(value, 1, unit); |
| 313 | } |
| 314 | |
| 315 | static int32_t get_precut_talkid(int value, int unit) |
| 316 | { |
| 317 | return TALK_ID_DECIMAL(-value, 1, unit); |
| 318 | } |
| 319 | |
Jonathan Gordon | fe3cfcc | 2007-02-08 10:28:42 +0000 | [diff] [blame] | 320 | #endif |
Thom Johansen | 44d8097 | 2007-12-08 01:56:35 +0000 | [diff] [blame] | 321 | #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) |
Jonathan Gordon | fe3cfcc | 2007-02-08 10:28:42 +0000 | [diff] [blame] | 322 | static void set_mdb_enable(bool value) |
| 323 | { |
| 324 | sound_set_mdb_enable((int)value); |
| 325 | } |
| 326 | static void set_superbass(bool value) |
| 327 | { |
| 328 | sound_set_superbass((int)value); |
| 329 | } |
| 330 | #endif |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 331 | |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 332 | #ifdef HAVE_LCD_CHARCELLS |
Nils Wallménius | ba92a1f | 2007-08-19 10:30:49 +0000 | [diff] [blame] | 333 | static void jumpscroll_format(char* buffer, size_t buffer_size, int value, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 334 | const char* unit) |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 335 | { |
| 336 | (void)unit; |
| 337 | switch (value) |
| 338 | { |
| 339 | case 0: |
| 340 | strcpy(buffer, str(LANG_OFF)); |
| 341 | break; |
| 342 | case 1: |
| 343 | strcpy(buffer, str(LANG_ONE_TIME)); |
| 344 | break; |
| 345 | case 2: |
| 346 | case 3: |
| 347 | case 4: |
| 348 | snprintf(buffer, buffer_size, "%d", value); |
| 349 | break; |
| 350 | case 5: |
| 351 | strcpy(buffer, str(LANG_ALWAYS)); |
| 352 | break; |
| 353 | } |
| 354 | } |
Jens Arnold | 727ada0 | 2007-11-26 23:24:27 +0000 | [diff] [blame] | 355 | static int32_t jumpscroll_getlang(int value, int unit) |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 356 | { |
| 357 | switch (value) |
| 358 | { |
| 359 | case 0: |
| 360 | return LANG_OFF; |
| 361 | case 1: |
| 362 | return LANG_ONE_TIME; |
| 363 | case 2: |
| 364 | case 3: |
| 365 | case 4: |
Jens Arnold | 727ada0 | 2007-11-26 23:24:27 +0000 | [diff] [blame] | 366 | return TALK_ID(value, unit); |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 367 | case 5: |
| 368 | return LANG_ALWAYS; |
| 369 | } |
| 370 | return -1; |
| 371 | } |
| 372 | #endif /* HAVE_LCD_CHARCELLS */ |
Jonathan Gordon | 2801a87 | 2007-02-19 02:14:51 +0000 | [diff] [blame] | 373 | |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 374 | const struct settings_list settings[] = { |
| 375 | /* sound settings */ |
Jonathan Gordon | 0f7f346 | 2007-10-15 10:33:01 +0000 | [diff] [blame] | 376 | SOUND_SETTING(F_NO_WRAP,volume, LANG_VOLUME, "volume", SOUND_VOLUME), |
| 377 | SOUND_SETTING(0, balance, LANG_BALANCE, "balance", SOUND_BALANCE), |
| 378 | SOUND_SETTING(F_NO_WRAP,bass, LANG_BASS, "bass", SOUND_BASS), |
| 379 | SOUND_SETTING(F_NO_WRAP,treble, LANG_TREBLE, "treble", SOUND_TREBLE), |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 380 | |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 381 | #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) |
Jonathan Gordon | fe3cfcc | 2007-02-08 10:28:42 +0000 | [diff] [blame] | 382 | SOUND_SETTING(0,loudness, LANG_LOUDNESS, "loudness", SOUND_LOUDNESS), |
Jonathan Gordon | b8bc45d | 2007-12-24 22:35:31 +0000 | [diff] [blame] | 383 | STRINGCHOICE_SETTING(F_SOUNDSETTING,avc,LANG_AUTOVOL,0,"auto volume", |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 384 | "off,20ms,2,4,8,", sound_set_avc, 5, |
| 385 | LANG_OFF,TALK_ID(20, UNIT_MS),TALK_ID(2, UNIT_SEC), |
| 386 | TALK_ID(4, UNIT_SEC),TALK_ID(8, UNIT_SEC)), |
| 387 | OFFON_SETTING(F_SOUNDSETTING, superbass, LANG_SUPERBASS, false, "superbass", |
| 388 | set_superbass), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 389 | #endif |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 390 | |
Jonathan Gordon | b8bc45d | 2007-12-24 22:35:31 +0000 | [diff] [blame] | 391 | CHOICE_SETTING(F_SOUNDSETTING, channel_config, LANG_CHANNEL_CONFIGURATION, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 392 | 0,"channels", |
| 393 | "stereo,mono,custom,mono left,mono right,karaoke", |
| 394 | sound_set_channels, 6, |
| 395 | ID2P(LANG_CHANNEL_STEREO), ID2P(LANG_CHANNEL_MONO), |
| 396 | ID2P(LANG_CHANNEL_CUSTOM), ID2P(LANG_CHANNEL_LEFT), |
| 397 | ID2P(LANG_CHANNEL_RIGHT), ID2P(LANG_CHANNEL_KARAOKE)), |
Jonathan Gordon | b8bc45d | 2007-12-24 22:35:31 +0000 | [diff] [blame] | 398 | SOUND_SETTING(F_SOUNDSETTING, stereo_width, LANG_STEREO_WIDTH, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 399 | "stereo_width", SOUND_STEREO_WIDTH), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 400 | /* playback */ |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 401 | OFFON_SETTING(0, playlist_shuffle, LANG_SHUFFLE, false, "shuffle", NULL), |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 402 | SYSTEM_SETTING(NVRAM(4), resume_index, -1), |
| 403 | SYSTEM_SETTING(NVRAM(4), resume_first_index, 0), |
| 404 | SYSTEM_SETTING(NVRAM(4), resume_offset, -1), |
| 405 | SYSTEM_SETTING(NVRAM(4), resume_seed, -1), |
Jonathan Gordon | b285859 | 2007-02-15 07:37:25 +0000 | [diff] [blame] | 406 | CHOICE_SETTING(0, repeat_mode, LANG_REPEAT, REPEAT_ALL, "repeat", |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 407 | "off,all,one,shuffle" |
Daniel Stenberg | 0c021de | 2007-02-17 23:07:39 +0000 | [diff] [blame] | 408 | #ifdef AB_REPEAT_ENABLE |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 409 | ",ab" |
Jonathan Gordon | b285859 | 2007-02-15 07:37:25 +0000 | [diff] [blame] | 410 | #endif |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 411 | , NULL, |
Daniel Stenberg | 0c021de | 2007-02-17 23:07:39 +0000 | [diff] [blame] | 412 | #ifdef AB_REPEAT_ENABLE |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 413 | 5, |
Jonathan Gordon | b285859 | 2007-02-15 07:37:25 +0000 | [diff] [blame] | 414 | #else |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 415 | 4, |
Jonathan Gordon | b285859 | 2007-02-15 07:37:25 +0000 | [diff] [blame] | 416 | #endif |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 417 | ID2P(LANG_OFF), ID2P(LANG_ALL), ID2P(LANG_REPEAT_ONE), |
| 418 | ID2P(LANG_SHUFFLE) |
Daniel Stenberg | 0c021de | 2007-02-17 23:07:39 +0000 | [diff] [blame] | 419 | #ifdef AB_REPEAT_ENABLE |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 420 | ,ID2P(LANG_REPEAT_AB) |
Jonathan Gordon | b285859 | 2007-02-15 07:37:25 +0000 | [diff] [blame] | 421 | #endif |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 422 | ), /* CHOICE_SETTING( repeat_mode ) */ |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 423 | /* LCD */ |
| 424 | #ifdef HAVE_LCD_CONTRAST |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 425 | /* its easier to leave this one un-macro()ed for the time being */ |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 426 | { F_T_INT|F_DEF_ISFUNC|F_INT_SETTING, &global_settings.contrast, |
| 427 | LANG_CONTRAST, FUNCTYPE(lcd_default_contrast), "contrast", NULL , { |
| 428 | .int_setting = (struct int_setting[]) { |
| 429 | { lcd_set_contrast, UNIT_INT, MIN_CONTRAST_SETTING, |
| 430 | MAX_CONTRAST_SETTING, 1, NULL, NULL }}}}, |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 431 | #endif |
Jens Arnold | 47bf6c5 | 2007-04-12 22:12:13 +0000 | [diff] [blame] | 432 | #ifdef HAVE_BACKLIGHT |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 433 | TABLE_SETTING(F_ALLOW_ARBITRARY_VALS, backlight_timeout, LANG_BACKLIGHT, 5, |
| 434 | "backlight timeout", off_on, UNIT_SEC, backlight_formatter, |
| 435 | backlight_getlang, backlight_set_timeout, 20, |
| 436 | -1,0,1,2,3,4,5,6,7,8,9,10,15,20,25,30,45,60,90,120), |
Jonathan Gordon | 9a6f419 | 2007-02-18 05:32:06 +0000 | [diff] [blame] | 437 | #if CONFIG_CHARGING |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 438 | TABLE_SETTING(F_ALLOW_ARBITRARY_VALS, backlight_timeout_plugged, |
| 439 | LANG_BACKLIGHT_ON_WHEN_CHARGING, 10, |
| 440 | "backlight timeout plugged", off_on, UNIT_SEC, |
| 441 | backlight_formatter, backlight_getlang, |
| 442 | backlight_set_timeout_plugged, 20, |
| 443 | -1,0,1,2,3,4,5,6,7,8,9,10,15,20,25,30,45,60,90,120), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 444 | #endif |
Jens Arnold | 47bf6c5 | 2007-04-12 22:12:13 +0000 | [diff] [blame] | 445 | #endif /* HAVE_BACKLIGHT */ |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 446 | #ifdef HAVE_LCD_BITMAP |
Nils Wallménius | b311367 | 2007-08-05 19:19:39 +0000 | [diff] [blame] | 447 | #ifdef HAVE_LCD_INVERT |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 448 | BOOL_SETTING(0, invert, LANG_INVERT, false ,"invert", off_on, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 449 | LANG_INVERT_LCD_INVERSE, LANG_NORMAL, lcd_set_invert_display), |
Nils Wallménius | b311367 | 2007-08-05 19:19:39 +0000 | [diff] [blame] | 450 | #endif |
| 451 | #ifdef HAVE_LCD_FLIP |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 452 | OFFON_SETTING(0, flip_display, LANG_FLIP_DISPLAY, false, "flip display", |
| 453 | NULL), |
Nils Wallménius | b311367 | 2007-08-05 19:19:39 +0000 | [diff] [blame] | 454 | #endif |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 455 | /* display */ |
Jens Arnold | 69b7141 | 2008-02-23 08:28:19 +0000 | [diff] [blame] | 456 | CHOICE_SETTING(F_TEMPVAR|F_THEMESETTING, cursor_style, LANG_INVERT_CURSOR, |
Nicolas Pennequin | f3b015f | 2007-09-27 15:42:55 +0000 | [diff] [blame] | 457 | #ifdef HAVE_LCD_COLOR |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 458 | 3, "selector type", |
| 459 | "pointer,bar (inverse),bar (color),bar (gradient)", NULL, 4, |
| 460 | ID2P(LANG_INVERT_CURSOR_POINTER), |
| 461 | ID2P(LANG_INVERT_CURSOR_BAR), |
| 462 | ID2P(LANG_INVERT_CURSOR_COLOR), |
| 463 | ID2P(LANG_INVERT_CURSOR_GRADIENT)), |
Nicolas Pennequin | f3b015f | 2007-09-27 15:42:55 +0000 | [diff] [blame] | 464 | #else |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 465 | 1, "selector type", "pointer,bar (inverse)", NULL, 2, |
| 466 | ID2P(LANG_INVERT_CURSOR_POINTER), |
| 467 | ID2P(LANG_INVERT_CURSOR_BAR)), |
Nicolas Pennequin | f3b015f | 2007-09-27 15:42:55 +0000 | [diff] [blame] | 468 | #endif |
Jonathan Gordon | f5808c1 | 2007-08-01 13:08:11 +0000 | [diff] [blame] | 469 | OFFON_SETTING(F_THEMESETTING|F_TEMPVAR, statusbar, |
| 470 | LANG_STATUS_BAR, true,"statusbar", NULL), |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 471 | OFFON_SETTING(0,scrollbar, LANG_SCROLL_BAR, true,"scrollbar", NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 472 | #if CONFIG_KEYPAD == RECORDER_PAD |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 473 | OFFON_SETTING(0,buttonbar, LANG_BUTTON_BAR ,true,"buttonbar", NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 474 | #endif |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 475 | CHOICE_SETTING(0, volume_type, LANG_VOLUME_DISPLAY, 0, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 476 | "volume display", graphic_numeric, NULL, 2, |
| 477 | ID2P(LANG_DISPLAY_GRAPHIC), |
| 478 | ID2P(LANG_DISPLAY_NUMERIC)), |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 479 | CHOICE_SETTING(0, battery_display, LANG_BATTERY_DISPLAY, 0, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 480 | "battery display", graphic_numeric, NULL, 2, |
| 481 | ID2P(LANG_DISPLAY_GRAPHIC), ID2P(LANG_DISPLAY_NUMERIC)), |
Nils Wallménius | b311367 | 2007-08-05 19:19:39 +0000 | [diff] [blame] | 482 | #if CONFIG_RTC |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 483 | CHOICE_SETTING(0, timeformat, LANG_TIMEFORMAT, 0, |
| 484 | "time format", "24hour,12hour", NULL, 2, |
| 485 | ID2P(LANG_24_HOUR_CLOCK), ID2P(LANG_12_HOUR_CLOCK)), |
Nils Wallménius | b311367 | 2007-08-05 19:19:39 +0000 | [diff] [blame] | 486 | #endif |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 487 | #endif /* HAVE_LCD_BITMAP */ |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 488 | OFFON_SETTING(0,show_icons, LANG_SHOW_ICONS ,true,"show icons", NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 489 | /* system */ |
Jens Arnold | e542444 | 2007-11-25 20:05:04 +0000 | [diff] [blame] | 490 | TABLE_SETTING(F_ALLOW_ARBITRARY_VALS, poweroff, LANG_POWEROFF_IDLE, 10, |
Jens Arnold | 09a7861 | 2007-11-26 23:10:20 +0000 | [diff] [blame] | 491 | "idle poweroff", "off", UNIT_MIN, formatter_unit_0_is_off, |
| 492 | getlang_unit_0_is_off, set_poweroff_timeout, 15, |
Jens Arnold | e542444 | 2007-11-25 20:05:04 +0000 | [diff] [blame] | 493 | 0,1,2,3,4,5,6,7,8,9,10,15,30,45,60), |
Jonathan Gordon | 1688867 | 2008-06-07 09:17:20 +0000 | [diff] [blame] | 494 | SYSTEM_SETTING(NVRAM(4), runtime, 0), |
| 495 | SYSTEM_SETTING(NVRAM(4), topruntime, 0), |
| 496 | INT_SETTING(0, max_files_in_playlist, |
| 497 | LANG_MAX_FILES_IN_PLAYLIST, |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 498 | #if MEM > 1 |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 499 | 10000, |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 500 | #else |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 501 | 400, |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 502 | #endif |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 503 | "max files in playlist", UNIT_INT, 1000, 32000, 1000, |
| 504 | NULL, NULL, NULL), |
| 505 | INT_SETTING(0, max_files_in_dir, LANG_MAX_FILES_IN_DIR, |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 506 | #if MEM > 1 |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 507 | 1000, |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 508 | #else |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 509 | 200, |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 510 | #endif |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 511 | "max files in dir", UNIT_INT, 50, 10000, 50, |
| 512 | NULL, NULL, NULL), |
Jonathan Gordon | b43bf7e | 2007-07-15 03:56:04 +0000 | [diff] [blame] | 513 | #if BATTERY_CAPACITY_INC > 0 |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 514 | INT_SETTING(0, battery_capacity, LANG_BATTERY_CAPACITY, |
| 515 | BATTERY_CAPACITY_DEFAULT, "battery capacity", UNIT_MAH, |
| 516 | BATTERY_CAPACITY_MIN, BATTERY_CAPACITY_MAX, |
| 517 | BATTERY_CAPACITY_INC, NULL, NULL, NULL), |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 518 | #endif |
Jonathan Gordon | 9a6f419 | 2007-02-18 05:32:06 +0000 | [diff] [blame] | 519 | #if CONFIG_CHARGING |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 520 | OFFON_SETTING(NVRAM(1), car_adapter_mode, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 521 | LANG_CAR_ADAPTER_MODE, false, "car adapter mode", NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 522 | #endif |
Andree Buschmann | 850a112 | 2008-04-20 18:28:25 +0000 | [diff] [blame] | 523 | #ifdef HAVE_ACCESSORY_SUPPLY |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 524 | OFFON_SETTING(0, accessory_supply, LANG_ACCESSORY_SUPPLY, |
| 525 | true, "accessory power supply", accessory_supply_set), |
Andree Buschmann | 850a112 | 2008-04-20 18:28:25 +0000 | [diff] [blame] | 526 | #endif |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 527 | /* tuner */ |
Jens Arnold | c652218 | 2007-02-18 08:46:12 +0000 | [diff] [blame] | 528 | #if CONFIG_TUNER |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 529 | OFFON_SETTING(0,fm_force_mono, LANG_FM_MONO_MODE, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 530 | false, "force fm mono", toggle_mono_mode), |
| 531 | SYSTEM_SETTING(NVRAM(4),last_frequency,0), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 532 | #endif |
| 533 | |
| 534 | #if BATTERY_TYPES_COUNT > 1 |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 535 | CHOICE_SETTING(0, battery_type, LANG_BATTERY_TYPE, 0, "battery type", |
| 536 | "alkaline,nimh", NULL, 2, ID2P(LANG_BATTERY_TYPE_ALKALINE), |
| 537 | ID2P(LANG_BATTERY_TYPE_NIMH)), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 538 | #endif |
| 539 | #ifdef HAVE_REMOTE_LCD |
| 540 | /* remote lcd */ |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 541 | INT_SETTING(0, remote_contrast, LANG_CONTRAST, |
| 542 | DEFAULT_REMOTE_CONTRAST_SETTING, "remote contrast", UNIT_INT, |
| 543 | MIN_REMOTE_CONTRAST_SETTING, MAX_REMOTE_CONTRAST_SETTING, 1, |
| 544 | NULL, NULL, lcd_remote_set_contrast), |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 545 | BOOL_SETTING(0, remote_invert, LANG_INVERT, false ,"remote invert", off_on, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 546 | LANG_INVERT_LCD_INVERSE, LANG_NORMAL, |
| 547 | lcd_remote_set_invert_display), |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 548 | OFFON_SETTING(0,remote_flip_display, LANG_FLIP_DISPLAY, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 549 | false,"remote flip display", NULL), |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 550 | TABLE_SETTING(F_ALLOW_ARBITRARY_VALS, remote_backlight_timeout, |
| 551 | LANG_BACKLIGHT, 5, "remote backlight timeout", off_on, |
| 552 | UNIT_SEC, backlight_formatter, backlight_getlang, |
| 553 | remote_backlight_set_timeout, 20, |
| 554 | -1,0,1,2,3,4,5,6,7,8,9,10,15,20,25,30,45,60,90,120), |
Jonathan Gordon | 9a6f419 | 2007-02-18 05:32:06 +0000 | [diff] [blame] | 555 | #if CONFIG_CHARGING |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 556 | TABLE_SETTING(F_ALLOW_ARBITRARY_VALS, remote_backlight_timeout_plugged, |
Jens Arnold | 124f8de | 2007-11-30 10:08:28 +0000 | [diff] [blame] | 557 | LANG_BACKLIGHT_ON_WHEN_CHARGING, 10, |
| 558 | "remote backlight timeout plugged", off_on, UNIT_SEC, |
| 559 | backlight_formatter, backlight_getlang, |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 560 | remote_backlight_set_timeout_plugged, 20, |
| 561 | -1,0,1,2,3,4,5,6,7,8,9,10,15,20,25,30,45,60,90,120), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 562 | #endif |
| 563 | #ifdef HAVE_REMOTE_LCD_TICKING |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 564 | OFFON_SETTING(0, remote_reduce_ticking, LANG_REDUCE_TICKING, |
| 565 | false,"remote reduce ticking", NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 566 | #endif |
| 567 | #endif |
| 568 | |
Jens Arnold | 47bf6c5 | 2007-04-12 22:12:13 +0000 | [diff] [blame] | 569 | #ifdef HAVE_BACKLIGHT |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 570 | OFFON_SETTING(0, bl_filter_first_keypress, |
| 571 | LANG_BACKLIGHT_FILTER_FIRST_KEYPRESS, false, |
| 572 | "backlight filters first keypress", NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 573 | #ifdef HAVE_REMOTE_LCD |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 574 | OFFON_SETTING(0, remote_bl_filter_first_keypress, |
| 575 | LANG_BACKLIGHT_FILTER_FIRST_KEYPRESS, false, |
| 576 | "backlight filters first remote keypress", NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 577 | #endif |
Jens Arnold | 47bf6c5 | 2007-04-12 22:12:13 +0000 | [diff] [blame] | 578 | #endif /* HAVE_BACKLIGHT */ |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 579 | |
| 580 | /** End of old RTC config block **/ |
| 581 | |
Jens Arnold | 47bf6c5 | 2007-04-12 22:12:13 +0000 | [diff] [blame] | 582 | #ifdef HAVE_BACKLIGHT |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 583 | OFFON_SETTING(0, caption_backlight, LANG_CAPTION_BACKLIGHT, |
| 584 | false, "caption backlight", NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 585 | #ifdef HAVE_REMOTE_LCD |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 586 | OFFON_SETTING(0, remote_caption_backlight, LANG_CAPTION_BACKLIGHT, |
| 587 | false, "remote caption backlight", NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 588 | #endif |
Jens Arnold | 47bf6c5 | 2007-04-12 22:12:13 +0000 | [diff] [blame] | 589 | #endif /* HAVE_BACKLIGHT */ |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 590 | #ifdef HAVE_BACKLIGHT_BRIGHTNESS |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 591 | INT_SETTING(F_NO_WRAP, brightness, LANG_BRIGHTNESS, |
| 592 | DEFAULT_BRIGHTNESS_SETTING, "brightness",UNIT_INT, |
| 593 | MIN_BRIGHTNESS_SETTING, MAX_BRIGHTNESS_SETTING, 1, |
| 594 | NULL, NULL, backlight_set_brightness), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 595 | #endif |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 596 | #if defined(HAVE_BACKLIGHT_PWM_FADING) && !defined(SIMULATOR) |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 597 | /* backlight fading */ |
Jens Arnold | 09a7861 | 2007-11-26 23:10:20 +0000 | [diff] [blame] | 598 | TABLE_SETTING(F_ALLOW_ARBITRARY_VALS, backlight_fade_in, |
| 599 | LANG_BACKLIGHT_FADE_IN, 300, "backlight fade in", "off", |
| 600 | UNIT_MS, formatter_unit_0_is_off, getlang_unit_0_is_off, |
| 601 | backlight_set_fade_in, 7, 0,100,200,300,500,1000,2000), |
| 602 | TABLE_SETTING(F_ALLOW_ARBITRARY_VALS, backlight_fade_out, |
| 603 | LANG_BACKLIGHT_FADE_OUT, 2000, "backlight fade out", "off", |
| 604 | UNIT_MS, formatter_unit_0_is_off, getlang_unit_0_is_off, |
| 605 | backlight_set_fade_out, 10, |
| 606 | 0,100,200,300,500,1000,2000,3000,5000,10000), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 607 | #endif |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 608 | INT_SETTING(F_PADTITLE, scroll_speed, LANG_SCROLL_SPEED, 9,"scroll speed", |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 609 | UNIT_INT, 0, 15, 1, NULL, NULL, lcd_scroll_speed), |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 610 | INT_SETTING(F_PADTITLE, scroll_delay, LANG_SCROLL_DELAY, 1000, |
| 611 | "scroll delay", UNIT_MS, 0, 2500, 100, NULL, |
| 612 | NULL, lcd_scroll_delay), |
| 613 | INT_SETTING(0, bidir_limit, LANG_BIDIR_SCROLL, 50, "bidir limit", |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 614 | UNIT_PERCENT, 0, 200, 25, NULL, NULL, lcd_bidir_scroll), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 615 | #ifdef HAVE_REMOTE_LCD |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 616 | INT_SETTING(0, remote_scroll_speed, LANG_SCROLL_SPEED, 9, |
| 617 | "remote scroll speed", UNIT_INT, 0,15, 1, |
| 618 | NULL, NULL, lcd_remote_scroll_speed), |
| 619 | INT_SETTING(0, remote_scroll_step, LANG_SCROLL_STEP, 6, |
| 620 | "remote scroll step", UNIT_PIXEL, 1, LCD_REMOTE_WIDTH, 1, NULL, |
| 621 | NULL, lcd_remote_scroll_step), |
| 622 | INT_SETTING(0, remote_scroll_delay, LANG_SCROLL_DELAY, 1000, |
| 623 | "remote scroll delay", UNIT_MS, 0, 2500, 100, NULL, NULL, |
| 624 | lcd_remote_scroll_delay), |
| 625 | INT_SETTING(0, remote_bidir_limit, LANG_BIDIR_SCROLL, 50, |
| 626 | "remote bidir limit", UNIT_PERCENT, 0, 200, 25, NULL, NULL, |
| 627 | lcd_remote_bidir_scroll), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 628 | #endif |
| 629 | #ifdef HAVE_LCD_BITMAP |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 630 | OFFON_SETTING(0, offset_out_of_view, LANG_SCREEN_SCROLL_VIEW, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 631 | false, "Screen Scrolls Out Of View", |
| 632 | gui_list_screen_scroll_out_of_view), |
| 633 | INT_SETTING(F_PADTITLE, scroll_step, LANG_SCROLL_STEP, 6, "scroll step", |
| 634 | UNIT_PIXEL, 1, LCD_WIDTH, 1, NULL, NULL, lcd_scroll_step), |
| 635 | INT_SETTING(F_PADTITLE, screen_scroll_step, LANG_SCREEN_SCROLL_STEP, 16, |
| 636 | "screen scroll step", UNIT_PIXEL, 1, LCD_WIDTH, 1, NULL, NULL, |
| 637 | gui_list_screen_scroll_step), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 638 | #endif /* HAVE_LCD_BITMAP */ |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 639 | #ifdef HAVE_LCD_CHARCELLS |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 640 | INT_SETTING(0, jump_scroll, LANG_JUMP_SCROLL, 0, "jump scroll", UNIT_INT, 0, |
| 641 | 5, 1, jumpscroll_format, jumpscroll_getlang, lcd_jump_scroll), |
| 642 | INT_SETTING(0, jump_scroll_delay, LANG_JUMP_SCROLL_DELAY, 500, |
| 643 | "jump scroll delay", UNIT_MS, 0, 2500, 100, NULL, NULL, |
| 644 | lcd_jump_scroll_delay), |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 645 | #endif |
| 646 | OFFON_SETTING(0,scroll_paginated,LANG_SCROLL_PAGINATED, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 647 | false,"scroll paginated",NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 648 | #ifdef HAVE_LCD_COLOR |
Michael Giacomelli | aa26962 | 2008-02-23 03:56:39 +0000 | [diff] [blame] | 649 | |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 650 | {F_T_INT|F_RGB|F_THEMESETTING ,&global_settings.fg_color,-1, |
| 651 | INT(DEFAULT_THEME_FOREGROUND),"foreground color",NULL,UNUSED}, |
| 652 | {F_T_INT|F_RGB|F_THEMESETTING ,&global_settings.bg_color,-1, |
| 653 | INT(DEFAULT_THEME_BACKGROUND),"background color",NULL,UNUSED}, |
| 654 | {F_T_INT|F_RGB|F_THEMESETTING ,&global_settings.lss_color,-1, |
| 655 | INT(DEFAULT_THEME_SELECTOR_START),"line selector start color",NULL, |
| 656 | UNUSED}, |
| 657 | {F_T_INT|F_RGB|F_THEMESETTING ,&global_settings.lse_color,-1, |
| 658 | INT(DEFAULT_THEME_SELECTOR_END),"line selector end color",NULL,UNUSED}, |
| 659 | {F_T_INT|F_RGB|F_THEMESETTING ,&global_settings.lst_color,-1, |
| 660 | INT(DEFAULT_THEME_SELECTOR_TEXT),"line selector text color",NULL, |
| 661 | UNUSED}, |
Michael Giacomelli | aa26962 | 2008-02-23 03:56:39 +0000 | [diff] [blame] | 662 | |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 663 | #endif |
| 664 | /* more playback */ |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 665 | OFFON_SETTING(0,play_selected,LANG_PLAY_SELECTED,true,"play selected",NULL), |
| 666 | OFFON_SETTING(0,party_mode,LANG_PARTY_MODE,false,"party mode",NULL), |
| 667 | OFFON_SETTING(0,fade_on_stop,LANG_FADE_ON_STOP,true,"volume fade",NULL), |
Jens Arnold | e542444 | 2007-11-25 20:05:04 +0000 | [diff] [blame] | 668 | TABLE_SETTING(F_ALLOW_ARBITRARY_VALS, ff_rewind_min_step, |
| 669 | LANG_FFRW_STEP, 1, "scan min step", NULL, UNIT_SEC, |
| 670 | NULL, NULL, NULL, 14, 1,2,3,4,5,6,8,10,15,20,25,30,45,60), |
Marcoen Hirschberg | 2fb70bc | 2008-06-28 17:55:53 +0000 | [diff] [blame] | 671 | CHOICE_SETTING(0, ff_rewind_accel, LANG_FFRW_ACCEL, 2, |
| 672 | "seek accel", "very fast,fast,normal,slow,very slow", NULL, 5, |
| 673 | ID2P(LANG_VERY_FAST), ID2P(LANG_FAST), ID2P(LANG_NORMAL), |
| 674 | ID2P(LANG_SLOW) , ID2P(LANG_VERY_SLOW)), |
Nils Wallménius | 0836058 | 2007-08-01 09:00:38 +0000 | [diff] [blame] | 675 | #if (CONFIG_CODEC == SWCODEC) && !defined(HAVE_FLASH_STORAGE) |
Jonathan Gordon | fb62831 | 2007-02-12 14:22:35 +0000 | [diff] [blame] | 676 | STRINGCHOICE_SETTING(0, buffer_margin, LANG_MP3BUFFER_MARGIN, 0,"antiskip", |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 677 | "5s,15s,30s,1min,2min,3min,5min,10min", NULL, 8, |
| 678 | TALK_ID(5, UNIT_SEC), TALK_ID(15, UNIT_SEC), |
| 679 | TALK_ID(30, UNIT_SEC), TALK_ID(1, UNIT_MIN), |
| 680 | TALK_ID(2, UNIT_MIN), TALK_ID(3, UNIT_MIN), |
| 681 | TALK_ID(5, UNIT_MIN), TALK_ID(10, UNIT_MIN)), |
Nils Wallménius | 0bfa3e7 | 2007-08-01 08:50:44 +0000 | [diff] [blame] | 682 | #elif !defined(HAVE_FLASH_STORAGE) |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 683 | INT_SETTING(0, buffer_margin, LANG_MP3BUFFER_MARGIN, 0, "antiskip", |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 684 | UNIT_SEC, 0, 7, 1, NULL, NULL, audio_set_buffer_margin), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 685 | #endif |
| 686 | /* disk */ |
Nils Wallménius | 0bfa3e7 | 2007-08-01 08:50:44 +0000 | [diff] [blame] | 687 | #ifndef HAVE_FLASH_STORAGE |
Jonathan Gordon | f609c5b | 2007-03-07 00:05:56 +0000 | [diff] [blame] | 688 | INT_SETTING(0, disk_spindown, LANG_SPINDOWN, 5, "disk spindown", |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 689 | UNIT_SEC, 3, 254, 1, NULL, NULL, ata_spindown), |
Nils Wallménius | 0bfa3e7 | 2007-08-01 08:50:44 +0000 | [diff] [blame] | 690 | #endif /* HAVE_FLASH_STORAGE */ |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 691 | /* browser */ |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 692 | CHOICE_SETTING(0, dirfilter, LANG_FILTER, SHOW_SUPPORTED, "show files", |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 693 | "all,supported,music,playlists", NULL, 4, ID2P(LANG_ALL), |
| 694 | ID2P(LANG_FILTER_SUPPORTED), ID2P(LANG_FILTER_MUSIC), |
| 695 | ID2P(LANG_PLAYLISTS)), |
| 696 | OFFON_SETTING(0, sort_case, LANG_SORT_CASE, false, "sort case", NULL), |
Peter D'Hoye | 043c966 | 2007-08-13 23:11:30 +0000 | [diff] [blame] | 697 | CHOICE_SETTING(0, show_filename_ext, LANG_SHOW_FILENAME_EXT, 3, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 698 | "show filename exts", "off,on,unknown,view_all", NULL , 4 , |
| 699 | ID2P(LANG_OFF), ID2P(LANG_ON), ID2P(LANG_UNKNOWN_TYPES), |
| 700 | ID2P(LANG_EXT_ONLY_VIEW_ALL)), |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 701 | OFFON_SETTING(0,browse_current,LANG_FOLLOW,false,"follow playlist",NULL), |
| 702 | OFFON_SETTING(0,playlist_viewer_icons,LANG_SHOW_ICONS,true, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 703 | "playlist viewer icons",NULL), |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 704 | OFFON_SETTING(0,playlist_viewer_indices,LANG_SHOW_INDICES,true, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 705 | "playlist viewer indices",NULL), |
Jonathan Gordon | a2740d9 | 2007-04-25 11:20:19 +0000 | [diff] [blame] | 706 | CHOICE_SETTING(0, playlist_viewer_track_display, LANG_TRACK_DISPLAY, 0, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 707 | "playlist viewer track display","track name,full path", |
| 708 | NULL, 2, ID2P(LANG_DISPLAY_TRACK_NAME_ONLY), |
| 709 | ID2P(LANG_DISPLAY_FULL_PATH)), |
Nils Wallménius | 479a6a7 | 2007-10-01 13:39:30 +0000 | [diff] [blame] | 710 | CHOICE_SETTING(0, recursive_dir_insert, LANG_RECURSE_DIRECTORY , RECURSE_ON, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 711 | "recursive directory insert", off_on_ask, NULL , 3 , |
| 712 | ID2P(LANG_OFF), ID2P(LANG_ON), ID2P(LANG_ASK)), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 713 | /* bookmarks */ |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 714 | CHOICE_SETTING(0, autocreatebookmark, LANG_BOOKMARK_SETTINGS_AUTOCREATE, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 715 | BOOKMARK_NO, "autocreate bookmarks", |
| 716 | "off,on,ask,recent only - on,recent only - ask", NULL, 5, |
| 717 | ID2P(LANG_SET_BOOL_NO), ID2P(LANG_SET_BOOL_YES), |
| 718 | ID2P(LANG_ASK), ID2P(LANG_BOOKMARK_SETTINGS_RECENT_ONLY_YES), |
| 719 | ID2P(LANG_BOOKMARK_SETTINGS_RECENT_ONLY_ASK)), |
| 720 | CHOICE_SETTING(0, autoloadbookmark, LANG_BOOKMARK_SETTINGS_AUTOLOAD, |
| 721 | BOOKMARK_NO, "autoload bookmarks", off_on_ask, NULL, 3, |
| 722 | ID2P(LANG_SET_BOOL_NO), ID2P(LANG_SET_BOOL_YES), |
| 723 | ID2P(LANG_ASK)), |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 724 | CHOICE_SETTING(0, usemrb, LANG_BOOKMARK_SETTINGS_MAINTAIN_RECENT_BOOKMARKS, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 725 | BOOKMARK_NO, "use most-recent-bookmarks", |
| 726 | "off,on,unique only", NULL, 3, ID2P(LANG_SET_BOOL_NO), |
| 727 | ID2P(LANG_SET_BOOL_YES), |
| 728 | ID2P(LANG_BOOKMARK_SETTINGS_UNIQUE_ONLY)), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 729 | #ifdef HAVE_LCD_BITMAP |
| 730 | /* peak meter */ |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 731 | STRINGCHOICE_SETTING(0, peak_meter_clip_hold, LANG_PM_CLIP_HOLD, 16, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 732 | "peak meter clip hold", |
| 733 | "on,1,2,3,4,5,6,7,8,9,10,15,20,25,30,45,60,90,2min" |
| 734 | ",3min,5min,10min,20min,45min,90min", |
| 735 | peak_meter_set_clip_hold, 25, LANG_PM_ETERNAL, |
| 736 | TALK_ID(1, UNIT_SEC), TALK_ID(2, UNIT_SEC), |
| 737 | TALK_ID(3, UNIT_SEC), TALK_ID(4, UNIT_SEC), |
| 738 | TALK_ID(5, UNIT_SEC), TALK_ID(6, UNIT_SEC), |
| 739 | TALK_ID(7, UNIT_SEC), TALK_ID(8, UNIT_SEC), |
| 740 | TALK_ID(9, UNIT_SEC), TALK_ID(10, UNIT_SEC), |
| 741 | TALK_ID(15, UNIT_SEC), TALK_ID(20, UNIT_SEC), |
| 742 | TALK_ID(25, UNIT_SEC), TALK_ID(30, UNIT_SEC), |
| 743 | TALK_ID(45, UNIT_SEC), TALK_ID(60, UNIT_SEC), |
| 744 | TALK_ID(90, UNIT_SEC), TALK_ID(2, UNIT_MIN), |
| 745 | TALK_ID(3, UNIT_MIN), TALK_ID(5, UNIT_MIN), |
| 746 | TALK_ID(10, UNIT_MIN), TALK_ID(20, UNIT_MIN), |
| 747 | TALK_ID(45, UNIT_MIN), TALK_ID(90, UNIT_MIN)), |
Jonathan Gordon | 94eef3f | 2007-03-04 00:44:34 +0000 | [diff] [blame] | 748 | STRINGCHOICE_SETTING(0, peak_meter_hold, LANG_PM_PEAK_HOLD, 3, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 749 | "peak meter hold", |
| 750 | "off,200ms,300ms,500ms,1,2,3,4,5,6,7,8,9,10,15,20,30,1min", |
| 751 | NULL, 18, LANG_OFF, TALK_ID(200, UNIT_MS), |
| 752 | TALK_ID(300, UNIT_MS), TALK_ID(500, UNIT_MS), |
| 753 | TALK_ID(1, UNIT_SEC), TALK_ID(2, UNIT_SEC), |
| 754 | TALK_ID(3, UNIT_SEC), TALK_ID(4, UNIT_SEC), |
| 755 | TALK_ID(5, UNIT_SEC), TALK_ID(6, UNIT_SEC), |
| 756 | TALK_ID(7, UNIT_SEC), TALK_ID(8, UNIT_SEC), |
| 757 | TALK_ID(9, UNIT_SEC), TALK_ID(10, UNIT_SEC), |
| 758 | TALK_ID(15, UNIT_SEC), TALK_ID(20, UNIT_SEC), |
| 759 | TALK_ID(30, UNIT_SEC), TALK_ID(60, UNIT_SEC)), |
| 760 | INT_SETTING(0, peak_meter_release, LANG_PM_RELEASE, 8, "peak meter release", |
| 761 | UNIT_PM_TICK, 1, 0x7e, 1, NULL, NULL,NULL), |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 762 | OFFON_SETTING(0,peak_meter_dbfs,LANG_PM_DBFS,true,"peak meter dbfs",NULL), |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 763 | {F_T_INT, &global_settings.peak_meter_min, LANG_PM_MIN,INT(60), |
| 764 | "peak meter min", NULL, UNUSED}, |
| 765 | {F_T_INT, &global_settings.peak_meter_max, LANG_PM_MAX,INT(0), |
| 766 | "peak meter max", NULL, UNUSED}, |
Peter D'Hoye | 6109d39 | 2007-08-26 21:34:36 +0000 | [diff] [blame] | 767 | #ifdef HAVE_RECORDING |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 768 | OFFON_SETTING(0, peak_meter_clipcounter, LANG_PM_CLIPCOUNTER, false, |
| 769 | "peak meter clipcounter", NULL), |
Peter D'Hoye | 6109d39 | 2007-08-26 21:34:36 +0000 | [diff] [blame] | 770 | #endif /* HAVE_RECORDING */ |
| 771 | #endif /* HAVE_LCD_BITMAP */ |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 772 | #if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F) |
Jonathan Gordon | b8bc45d | 2007-12-24 22:35:31 +0000 | [diff] [blame] | 773 | SOUND_SETTING(F_SOUNDSETTING, mdb_strength, LANG_MDB_STRENGTH, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 774 | "mdb strength", SOUND_MDB_STRENGTH), |
Jonathan Gordon | b8bc45d | 2007-12-24 22:35:31 +0000 | [diff] [blame] | 775 | SOUND_SETTING(F_SOUNDSETTING, mdb_harmonics, LANG_MDB_HARMONICS, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 776 | "mdb harmonics", SOUND_MDB_HARMONICS), |
Jonathan Gordon | b8bc45d | 2007-12-24 22:35:31 +0000 | [diff] [blame] | 777 | SOUND_SETTING(F_SOUNDSETTING, mdb_center, LANG_MDB_CENTER, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 778 | "mdb center", SOUND_MDB_CENTER), |
Jonathan Gordon | b8bc45d | 2007-12-24 22:35:31 +0000 | [diff] [blame] | 779 | SOUND_SETTING(F_SOUNDSETTING, mdb_shape, LANG_MDB_SHAPE, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 780 | "mdb shape", SOUND_MDB_SHAPE), |
Jonathan Gordon | b8bc45d | 2007-12-24 22:35:31 +0000 | [diff] [blame] | 781 | OFFON_SETTING(F_SOUNDSETTING, mdb_enable, LANG_MDB_ENABLE, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 782 | false, "mdb enable", set_mdb_enable), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 783 | #endif |
| 784 | #if CONFIG_CODEC == MAS3507D |
Jonathan Gordon | b8bc45d | 2007-12-24 22:35:31 +0000 | [diff] [blame] | 785 | OFFON_SETTING(F_SOUNDSETTING, line_in,LANG_LINE_IN,false,"line in",NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 786 | #endif |
| 787 | /* voice */ |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 788 | OFFON_SETTING(F_TEMPVAR, talk_menu, LANG_VOICE_MENU, true, "talk menu", NULL), |
Steve Bavin | 6fd10ba | 2007-06-07 09:24:53 +0000 | [diff] [blame] | 789 | CHOICE_SETTING(0, talk_dir, LANG_VOICE_DIR, 0, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 790 | "talk dir", off_number_spell, NULL, 3, |
| 791 | ID2P(LANG_OFF), ID2P(LANG_VOICE_NUMBER), |
| 792 | ID2P(LANG_VOICE_SPELL)), |
| 793 | OFFON_SETTING(F_TEMPVAR, talk_dir_clip, LANG_VOICE_DIR_TALK, false, |
| 794 | "talk dir clip", NULL), |
Steve Bavin | 6fd10ba | 2007-06-07 09:24:53 +0000 | [diff] [blame] | 795 | CHOICE_SETTING(0, talk_file, LANG_VOICE_FILE, 0, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 796 | "talk file", off_number_spell, NULL, 3, |
| 797 | ID2P(LANG_OFF), ID2P(LANG_VOICE_NUMBER), |
| 798 | ID2P(LANG_VOICE_SPELL)), |
| 799 | OFFON_SETTING(F_TEMPVAR, talk_file_clip, LANG_VOICE_FILE_TALK, false, |
| 800 | "talk file clip", NULL), |
| 801 | OFFON_SETTING(F_TEMPVAR, talk_filetype, LANG_VOICE_FILETYPE, false, |
| 802 | "talk filetype", NULL), |
| 803 | OFFON_SETTING(F_TEMPVAR, talk_battery_level, LANG_TALK_BATTERY_LEVEL, false, |
Stéphane Doyon | da93299 | 2007-11-03 05:00:49 +0000 | [diff] [blame] | 804 | "Announce Battery Level", NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 805 | |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 806 | /* file sorting */ |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 807 | CHOICE_SETTING(0, sort_file, LANG_SORT_FILE, 0 , |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 808 | "sort files", "alpha,oldest,newest,type", NULL, 4, |
| 809 | ID2P(LANG_SORT_ALPHA), ID2P(LANG_SORT_DATE), |
| 810 | ID2P(LANG_SORT_DATE_REVERSE) , ID2P(LANG_SORT_TYPE)), |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 811 | CHOICE_SETTING(0, sort_dir, LANG_SORT_DIR, 0 , |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 812 | "sort dirs", "alpha,oldest,newest", NULL, 3, |
| 813 | ID2P(LANG_SORT_ALPHA), ID2P(LANG_SORT_DATE), |
| 814 | ID2P(LANG_SORT_DATE_REVERSE)), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 815 | |
| 816 | #ifdef HAVE_RECORDING |
| 817 | /* recording */ |
Jonathan Gordon | 9adf056 | 2007-05-29 04:39:11 +0000 | [diff] [blame] | 818 | STRINGCHOICE_SETTING(F_RECSETTING, rec_timesplit, LANG_SPLIT_TIME, 0, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 819 | "rec timesplit", |
| 820 | "off,00:05,00:10,00:15,00:30,01:00,01:14,01:20,02:00," |
| 821 | "04:00,06:00,08:00,10:00,12:00,18:00,24:00", |
| 822 | NULL, 16, LANG_OFF, |
| 823 | TALK_ID(5, UNIT_MIN), TALK_ID(10, UNIT_MIN), |
| 824 | TALK_ID(15, UNIT_MIN), TALK_ID(30, UNIT_MIN), |
| 825 | TALK_ID(60, UNIT_MIN), TALK_ID(74, UNIT_MIN), |
| 826 | TALK_ID(80, UNIT_MIN), TALK_ID(2, UNIT_HOUR), |
| 827 | TALK_ID(4, UNIT_HOUR), TALK_ID(6, UNIT_HOUR), |
| 828 | TALK_ID(8, UNIT_HOUR), TALK_ID(10, UNIT_HOUR), |
| 829 | TALK_ID(12, UNIT_HOUR), TALK_ID(18, UNIT_HOUR), |
| 830 | TALK_ID(20, UNIT_HOUR), TALK_ID(24, UNIT_HOUR)), |
Jonathan Gordon | 9adf056 | 2007-05-29 04:39:11 +0000 | [diff] [blame] | 831 | STRINGCHOICE_SETTING(F_RECSETTING, rec_sizesplit, LANG_SPLIT_SIZE, 0, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 832 | "rec sizesplit", |
| 833 | "off,5MB,10MB,15MB,32MB,64MB,75MB,100MB,128MB," |
| 834 | "256MB,512MB,650MB,700MB,1GB,1.5GB,1.75GB", |
| 835 | NULL, 16, LANG_OFF, |
| 836 | TALK_ID(5, UNIT_MB), TALK_ID(10, UNIT_MB), |
| 837 | TALK_ID(15, UNIT_MB), TALK_ID(32, UNIT_MB), |
| 838 | TALK_ID(64, UNIT_MB), TALK_ID(75, UNIT_MB), |
| 839 | TALK_ID(100, UNIT_MB), TALK_ID(128, UNIT_MB), |
| 840 | TALK_ID(256, UNIT_MB), TALK_ID(512, UNIT_MB), |
| 841 | TALK_ID(650, UNIT_MB), TALK_ID(700, UNIT_MB), |
| 842 | TALK_ID(1024, UNIT_MB), TALK_ID(1536, UNIT_MB), |
| 843 | TALK_ID(1792, UNIT_MB)), |
| 844 | {F_T_INT|F_RECSETTING, &global_settings.rec_channels, LANG_CHANNELS, INT(0), |
| 845 | "rec channels","stereo,mono",UNUSED}, |
| 846 | CHOICE_SETTING(F_RECSETTING, rec_split_type, LANG_SPLIT_TYPE, 0, |
Peter D'Hoye | a352402 | 2008-05-15 22:47:07 +0000 | [diff] [blame] | 847 | "rec split type", "Split,Stop,Shutdown", NULL, 3, |
| 848 | ID2P(LANG_START_NEW_FILE), ID2P(LANG_STOP_RECORDING),ID2P(LANG_STOP_RECORDING_AND_SHUTDOWN)), |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 849 | CHOICE_SETTING(F_RECSETTING, rec_split_method, LANG_SPLIT_MEASURE, 0, |
| 850 | "rec split method", "Time,Filesize", NULL, 2, |
| 851 | ID2P(LANG_TIME), ID2P(LANG_REC_SIZE)), |
| 852 | {F_T_INT|F_RECSETTING, &global_settings.rec_source, LANG_RECORDING_SOURCE, |
| 853 | INT(0), "rec source", |
| 854 | &HAVE_MIC_REC_(",mic") |
| 855 | HAVE_LINE_REC_(",line") |
| 856 | HAVE_SPDIF_REC_(",spdif") |
| 857 | HAVE_FMRADIO_REC_(",fmradio")[1], |
| 858 | UNUSED}, |
| 859 | INT_SETTING(F_RECSETTING, rec_prerecord_time, LANG_RECORD_PRERECORD_TIME, 0, |
| 860 | "prerecording time", UNIT_SEC, 0, 30, 1, |
| 861 | formatter_unit_0_is_off, getlang_unit_0_is_off, NULL), |
| 862 | |
| 863 | FILENAME_SETTING(F_RECSETTING, rec_directory, "rec path", |
Jonathan Gordon | 415e9d7 | 2007-07-10 07:41:37 +0000 | [diff] [blame] | 864 | REC_BASE_DIR, NULL, NULL, MAX_FILENAME+1), |
Jens Arnold | 47bf6c5 | 2007-04-12 22:12:13 +0000 | [diff] [blame] | 865 | #ifdef HAVE_BACKLIGHT |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 866 | CHOICE_SETTING(F_RECSETTING, cliplight, LANG_CLIP_LIGHT, 0, |
| 867 | "cliplight", "off,main,both,remote", NULL, |
Jonathan Gordon | 120016f | 2007-03-13 11:48:47 +0000 | [diff] [blame] | 868 | #ifdef HAVE_REMOTE_LCD |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 869 | 4, ID2P(LANG_OFF), ID2P(LANG_MAIN_UNIT), |
| 870 | ID2P(LANG_REMOTE_MAIN), ID2P(LANG_REMOTE_UNIT) |
Jonathan Gordon | 120016f | 2007-03-13 11:48:47 +0000 | [diff] [blame] | 871 | #else |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 872 | 2, ID2P(LANG_OFF), ID2P(LANG_ON) |
Jonathan Gordon | 120016f | 2007-03-13 11:48:47 +0000 | [diff] [blame] | 873 | #endif |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 874 | ), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 875 | #endif |
Michael Sevakis | bcb8a88 | 2007-06-05 07:03:30 +0000 | [diff] [blame] | 876 | #ifdef DEFAULT_REC_MIC_GAIN |
Jonathan Gordon | 9adf056 | 2007-05-29 04:39:11 +0000 | [diff] [blame] | 877 | {F_T_INT|F_RECSETTING,&global_settings.rec_mic_gain, |
Nils Wallménius | b311367 | 2007-08-05 19:19:39 +0000 | [diff] [blame] | 878 | LANG_GAIN,INT(DEFAULT_REC_MIC_GAIN), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 879 | "rec mic gain",NULL,UNUSED}, |
Michael Sevakis | bcb8a88 | 2007-06-05 07:03:30 +0000 | [diff] [blame] | 880 | #endif /* DEFAULT_REC_MIC_GAIN */ |
| 881 | #ifdef DEFAULT_REC_LEFT_GAIN |
Jonathan Gordon | 9adf056 | 2007-05-29 04:39:11 +0000 | [diff] [blame] | 882 | {F_T_INT|F_RECSETTING,&global_settings.rec_left_gain, |
| 883 | LANG_RECORDING_LEFT,INT(DEFAULT_REC_LEFT_GAIN), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 884 | "rec left gain",NULL,UNUSED}, |
Michael Sevakis | bcb8a88 | 2007-06-05 07:03:30 +0000 | [diff] [blame] | 885 | #endif /* DEFAULT_REC_LEFT_GAIN */ |
| 886 | #ifdef DEFAULT_REC_RIGHT_GAIN |
Jonathan Gordon | 9adf056 | 2007-05-29 04:39:11 +0000 | [diff] [blame] | 887 | {F_T_INT|F_RECSETTING,&global_settings.rec_right_gain,LANG_RECORDING_RIGHT, |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 888 | INT(DEFAULT_REC_RIGHT_GAIN), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 889 | "rec right gain",NULL,UNUSED}, |
Michael Sevakis | bcb8a88 | 2007-06-05 07:03:30 +0000 | [diff] [blame] | 890 | #endif /* DEFAULT_REC_RIGHT_GAIN */ |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 891 | #if CONFIG_CODEC == MAS3587F |
Jonathan Gordon | 9adf056 | 2007-05-29 04:39:11 +0000 | [diff] [blame] | 892 | {F_T_INT|F_RECSETTING,&global_settings.rec_frequency, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 893 | LANG_RECORDING_FREQUENCY, INT(0), |
| 894 | "rec frequency","44,48,32,22,24,16", UNUSED}, |
| 895 | INT_SETTING(F_RECSETTING, rec_quality, LANG_RECORDING_QUALITY, 5, |
| 896 | "rec quality", UNIT_INT, 0, 7, 1, NULL, NULL, NULL), |
| 897 | OFFON_SETTING(F_RECSETTING, rec_editable, LANG_RECORDING_EDITABLE, false, |
| 898 | "editable recordings", NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 899 | #endif /* CONFIG_CODEC == MAS3587F */ |
| 900 | #if CONFIG_CODEC == SWCODEC |
Jonathan Gordon | 9adf056 | 2007-05-29 04:39:11 +0000 | [diff] [blame] | 901 | {F_T_INT|F_RECSETTING,&global_settings.rec_frequency, |
| 902 | LANG_RECORDING_FREQUENCY,INT(REC_FREQ_DEFAULT), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 903 | "rec frequency",REC_FREQ_CFG_VAL_LIST,UNUSED}, |
Jonathan Gordon | 9adf056 | 2007-05-29 04:39:11 +0000 | [diff] [blame] | 904 | {F_T_INT|F_RECSETTING,&global_settings.rec_format, |
| 905 | LANG_RECORDING_FORMAT,INT(REC_FORMAT_DEFAULT), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 906 | "rec format",REC_FORMAT_CFG_VAL_LIST,UNUSED}, |
| 907 | /** Encoder settings start - keep these together **/ |
| 908 | /* aiff_enc */ |
| 909 | /* (no settings yet) */ |
| 910 | /* mp3_enc */ |
Jonathan Gordon | 9adf056 | 2007-05-29 04:39:11 +0000 | [diff] [blame] | 911 | {F_T_INT|F_RECSETTING, &global_settings.mp3_enc_config.bitrate,-1, |
| 912 | INT(MP3_ENC_BITRATE_CFG_DEFAULT), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 913 | "mp3_enc bitrate",MP3_ENC_BITRATE_CFG_VALUE_LIST,UNUSED}, |
| 914 | /* wav_enc */ |
| 915 | /* (no settings yet) */ |
| 916 | /* wavpack_enc */ |
| 917 | /* (no settings yet) */ |
| 918 | /** Encoder settings end **/ |
| 919 | #endif /* CONFIG_CODEC == SWCODEC */ |
| 920 | /* values for the trigger */ |
Jonathan Gordon | ff469ab | 2008-05-28 10:55:39 +0000 | [diff] [blame] | 921 | INT_SETTING(F_RECSETTING, rec_start_thres_db, LANG_RECORD_START_THRESHOLD, -35, |
| 922 | "trigger start threshold dB", UNIT_DB, VOLUME_MIN/10, 0, -1, NULL, NULL, NULL), |
| 923 | INT_SETTING(F_RECSETTING, rec_start_thres_linear, LANG_RECORD_START_THRESHOLD, 5, |
| 924 | "trigger start threshold linear", UNIT_PERCENT, 0, 100, 1, NULL, NULL, NULL), |
| 925 | INT_SETTING(F_RECSETTING, rec_stop_thres_db, LANG_RECORD_STOP_THRESHOLD, -45, |
| 926 | "trigger stop threshold dB", UNIT_DB, VOLUME_MIN/10, 0, -1, NULL, NULL, NULL), |
| 927 | INT_SETTING(F_RECSETTING, rec_stop_thres_linear, LANG_RECORD_STOP_THRESHOLD, 10, |
| 928 | "trigger stop threshold linear", UNIT_PERCENT, 0, 100, 1, NULL, NULL, NULL), |
| 929 | TABLE_SETTING(F_RECSETTING, rec_start_duration, LANG_MIN_DURATION, 0, |
| 930 | "trigger start duration", |
| 931 | "0s,1s,2s,5s,10s,15s,20s,25s,30s,1min,2min,5min,10min", |
| 932 | UNIT_SEC, NULL, NULL, NULL, 13, |
| 933 | 0,1,2,5,10,15,20,25,30,60,120,300,600), |
| 934 | TABLE_SETTING(F_RECSETTING, rec_stop_postrec, LANG_MIN_DURATION, 0, |
| 935 | "trigger stop duration", |
| 936 | "0s,1s,2s,5s,10s,15s,20s,25s,30s,1min,2min,5min,10min", |
| 937 | UNIT_SEC, NULL, NULL, NULL, 13, |
| 938 | 0,1,2,5,10,15,20,25,30,60,120,300,600), |
| 939 | TABLE_SETTING(F_RECSETTING, rec_stop_gap, LANG_RECORD_STOP_GAP, 1, |
| 940 | "trigger min gap", |
| 941 | "0s,1s,2s,5s,10s,15s,20s,25s,30s,1min,2min,5min,10min", |
| 942 | UNIT_SEC, NULL, NULL, NULL, 13, |
| 943 | 0,1,2,5,10,15,20,25,30,60,120,300,600), |
| 944 | CHOICE_SETTING(F_RECSETTING, rec_trigger_mode, LANG_RECORD_TRIGGER, TRIG_MODE_OFF, |
| 945 | "trigger mode","off,once,repeat", NULL ,3, |
| 946 | ID2P(LANG_OFF), ID2P(LANG_RECORD_TRIG_NOREARM), ID2P(LANG_REPEAT)), |
| 947 | CHOICE_SETTING(F_RECSETTING, rec_trigger_type, LANG_RECORD_TRIGGER_TYPE, TRIG_TYPE_STOP, |
| 948 | "trigger mode","off,once,repeat", NULL ,3, |
| 949 | ID2P(LANG_RECORD_TRIGGER_STOP), ID2P(LANG_PAUSE), ID2P(LANG_RECORD_TRIGGER_NEWFILESTP)), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 950 | #endif /* HAVE_RECORDING */ |
| 951 | |
| 952 | #ifdef HAVE_SPDIF_POWER |
Jonathan Gordon | b8bc45d | 2007-12-24 22:35:31 +0000 | [diff] [blame] | 953 | OFFON_SETTING(F_SOUNDSETTING, spdif_enable, LANG_SPDIF_ENABLE, false, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 954 | "spdif enable", spdif_power_enable), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 955 | #endif |
Jonathan Gordon | fb62831 | 2007-02-12 14:22:35 +0000 | [diff] [blame] | 956 | CHOICE_SETTING(0, next_folder, LANG_NEXT_FOLDER, FOLDER_ADVANCE_OFF, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 957 | "folder navigation", "off,on,random",NULL ,3, |
| 958 | ID2P(LANG_SET_BOOL_NO), ID2P(LANG_SET_BOOL_YES), |
| 959 | ID2P(LANG_RANDOM)), |
| 960 | OFFON_SETTING(0, runtimedb, LANG_RUNTIMEDB_ACTIVE, false, |
| 961 | "gather runtime data", NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 962 | |
| 963 | #if CONFIG_CODEC == SWCODEC |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 964 | /* replay gain */ |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 965 | OFFON_SETTING(F_SOUNDSETTING, replaygain, LANG_REPLAYGAIN_ENABLE, false, |
| 966 | "replaygain", NULL), |
| 967 | CHOICE_SETTING(F_SOUNDSETTING, replaygain_type, LANG_REPLAYGAIN_MODE, |
| 968 | REPLAYGAIN_ALBUM, "replaygain type", |
| 969 | "track,album,track shuffle", NULL, 3, ID2P(LANG_TRACK_GAIN), |
| 970 | ID2P(LANG_ALBUM_GAIN), ID2P(LANG_SHUFFLE_GAIN)), |
Jonathan Gordon | b8bc45d | 2007-12-24 22:35:31 +0000 | [diff] [blame] | 971 | OFFON_SETTING(F_SOUNDSETTING, replaygain_noclip, LANG_REPLAYGAIN_NOCLIP, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 972 | false, "replaygain noclip", NULL), |
| 973 | INT_SETTING_NOWRAP(F_SOUNDSETTING, replaygain_preamp, |
| 974 | LANG_REPLAYGAIN_PREAMP, 0, "replaygain preamp", |
| 975 | UNIT_DB, -120, 120, 5, db_format, get_dec_talkid, NULL), |
| 976 | |
| 977 | CHOICE_SETTING(0, beep, LANG_BEEP, 0, "beep", "off,weak,moderate,strong", |
| 978 | NULL, 4, ID2P(LANG_OFF), ID2P(LANG_WEAK), |
| 979 | ID2P(LANG_MODERATE), ID2P(LANG_STRONG)), |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 980 | |
| 981 | /* crossfade */ |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 982 | CHOICE_SETTING(F_SOUNDSETTING, crossfade, LANG_CROSSFADE_ENABLE, 0, |
| 983 | "crossfade", |
| 984 | "off,shuffle,track skip,shuffle and track skip,always", NULL, |
| 985 | 5, ID2P(LANG_OFF), ID2P(LANG_SHUFFLE), ID2P(LANG_TRACKSKIP), |
| 986 | ID2P(LANG_SHUFFLE_TRACKSKIP), ID2P(LANG_ALWAYS)), |
| 987 | INT_SETTING(F_SOUNDSETTING, crossfade_fade_in_delay, |
| 988 | LANG_CROSSFADE_FADE_IN_DELAY, 0, |
| 989 | "crossfade fade in delay", UNIT_SEC, 0, 7, 1, NULL, NULL, NULL), |
| 990 | INT_SETTING(F_SOUNDSETTING, crossfade_fade_out_delay, |
| 991 | LANG_CROSSFADE_FADE_OUT_DELAY, 0, |
| 992 | "crossfade fade out delay", UNIT_SEC, 0, 7, 1, NULL, NULL,NULL), |
| 993 | INT_SETTING(F_SOUNDSETTING, crossfade_fade_in_duration, |
| 994 | LANG_CROSSFADE_FADE_IN_DURATION, 2, |
| 995 | "crossfade fade in duration", UNIT_SEC, 0, 15, 1, NULL, NULL, |
| 996 | NULL), |
| 997 | INT_SETTING(F_SOUNDSETTING, crossfade_fade_out_duration, |
| 998 | LANG_CROSSFADE_FADE_OUT_DURATION, 2, |
| 999 | "crossfade fade out duration", UNIT_SEC, 0, 15, 1, NULL, NULL, |
| 1000 | NULL), |
| 1001 | CHOICE_SETTING(F_SOUNDSETTING, crossfade_fade_out_mixmode, |
| 1002 | LANG_CROSSFADE_FADE_OUT_MODE, 0, |
| 1003 | "crossfade fade out mode", "crossfade,mix", NULL, 2, |
| 1004 | ID2P(LANG_CROSSFADE), ID2P(LANG_MIX)), |
| 1005 | |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 1006 | /* crossfeed */ |
Jonathan Gordon | b8bc45d | 2007-12-24 22:35:31 +0000 | [diff] [blame] | 1007 | OFFON_SETTING(F_SOUNDSETTING, crossfeed, LANG_CROSSFEED, false, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1008 | "crossfeed", dsp_set_crossfeed), |
| 1009 | INT_SETTING_NOWRAP(F_SOUNDSETTING, crossfeed_direct_gain, |
| 1010 | LANG_CROSSFEED_DIRECT_GAIN, -15, |
| 1011 | "crossfeed direct gain", UNIT_DB, -60, 0, 5, |
| 1012 | db_format, get_dec_talkid,dsp_set_crossfeed_direct_gain), |
| 1013 | INT_SETTING_NOWRAP(F_SOUNDSETTING, crossfeed_cross_gain, |
| 1014 | LANG_CROSSFEED_CROSS_GAIN, -60, |
| 1015 | "crossfeed cross gain", UNIT_DB, -120, -30, 5, |
| 1016 | db_format, get_dec_talkid, crossfeed_cross_set), |
| 1017 | INT_SETTING_NOWRAP(F_SOUNDSETTING, crossfeed_hf_attenuation, |
| 1018 | LANG_CROSSFEED_HF_ATTENUATION, -160, |
| 1019 | "crossfeed hf attenuation", UNIT_DB, -240, -60, 5, |
| 1020 | db_format, get_dec_talkid, crossfeed_cross_set), |
| 1021 | INT_SETTING_NOWRAP(F_SOUNDSETTING, crossfeed_hf_cutoff, |
| 1022 | LANG_CROSSFEED_HF_CUTOFF, 700, |
| 1023 | "crossfeed hf cutoff", UNIT_HERTZ, 500, 2000, 100, |
| 1024 | NULL, NULL, crossfeed_cross_set), |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1025 | |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1026 | /* equalizer */ |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1027 | OFFON_SETTING(F_EQSETTING, eq_enabled, LANG_EQUALIZER_ENABLED, false, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1028 | "eq enabled", NULL), |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1029 | INT_SETTING_NOWRAP(F_EQSETTING, eq_precut, LANG_EQUALIZER_PRECUT, 0, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1030 | "eq precut", UNIT_DB, 0, 240, 5, eq_precut_format, |
| 1031 | get_precut_talkid, dsp_set_eq_precut), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1032 | /* 0..32768 Hz */ |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1033 | INT_SETTING_NOWRAP(F_EQSETTING, eq_band0_cutoff, LANG_EQUALIZER_BAND_CUTOFF, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1034 | 60, "eq band 0 cutoff", UNIT_HERTZ, EQ_CUTOFF_MIN, |
| 1035 | EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, NULL, NULL, NULL), |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1036 | INT_SETTING_NOWRAP(F_EQSETTING, eq_band1_cutoff, LANG_EQUALIZER_BAND_CENTER, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1037 | 200, "eq band 1 cutoff", UNIT_HERTZ, EQ_CUTOFF_MIN, |
| 1038 | EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, NULL, NULL, NULL), |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1039 | INT_SETTING_NOWRAP(F_EQSETTING, eq_band2_cutoff, LANG_EQUALIZER_BAND_CENTER, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1040 | 800, "eq band 2 cutoff", UNIT_HERTZ, EQ_CUTOFF_MIN, |
| 1041 | EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, NULL, NULL, NULL), |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1042 | INT_SETTING_NOWRAP(F_EQSETTING, eq_band3_cutoff, LANG_EQUALIZER_BAND_CENTER, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1043 | 4000, "eq band 3 cutoff", UNIT_HERTZ, EQ_CUTOFF_MIN, |
| 1044 | EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, NULL, NULL, NULL), |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1045 | INT_SETTING_NOWRAP(F_EQSETTING, eq_band4_cutoff, LANG_EQUALIZER_BAND_CUTOFF, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1046 | 12000, "eq band 4 cutoff", UNIT_HERTZ, EQ_CUTOFF_MIN, |
| 1047 | EQ_CUTOFF_MAX, EQ_CUTOFF_STEP, NULL, NULL, NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1048 | /* 0..64 (or 0.0 to 6.4) */ |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1049 | INT_SETTING_NOWRAP(F_EQSETTING, eq_band0_q, LANG_EQUALIZER_BAND_Q, 7, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1050 | "eq band 0 q", UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP, |
| 1051 | eq_q_format, get_dec_talkid, NULL), |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1052 | INT_SETTING_NOWRAP(F_EQSETTING, eq_band1_q, LANG_EQUALIZER_BAND_Q, 10, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1053 | "eq band 1 q", UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP, |
| 1054 | eq_q_format, get_dec_talkid, NULL), |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1055 | INT_SETTING_NOWRAP(F_EQSETTING, eq_band2_q, LANG_EQUALIZER_BAND_Q, 10, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1056 | "eq band 2 q", UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP, |
| 1057 | eq_q_format, get_dec_talkid, NULL), |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1058 | INT_SETTING_NOWRAP(F_EQSETTING, eq_band3_q, LANG_EQUALIZER_BAND_Q, 10, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1059 | "eq band 3 q", UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP, |
| 1060 | eq_q_format, get_dec_talkid, NULL), |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1061 | INT_SETTING_NOWRAP(F_EQSETTING, eq_band4_q, LANG_EQUALIZER_BAND_Q, 7, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1062 | "eq band 4 q", UNIT_INT, EQ_Q_MIN, EQ_Q_MAX, EQ_Q_STEP, |
| 1063 | eq_q_format, get_dec_talkid, NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1064 | /* -240..240 (or -24db to +24db) */ |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1065 | INT_SETTING_NOWRAP(F_EQSETTING, eq_band0_gain, LANG_GAIN, 0, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1066 | "eq band 0 gain", UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX, |
| 1067 | EQ_GAIN_STEP, db_format, get_dec_talkid, NULL), |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1068 | INT_SETTING_NOWRAP(F_EQSETTING, eq_band1_gain, LANG_GAIN, 0, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1069 | "eq band 1 gain", UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX, |
| 1070 | EQ_GAIN_STEP, db_format, get_dec_talkid, NULL), |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1071 | INT_SETTING_NOWRAP(F_EQSETTING, eq_band2_gain, LANG_GAIN, 0, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1072 | "eq band 2 gain", UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX, |
| 1073 | EQ_GAIN_STEP, db_format, get_dec_talkid, NULL), |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1074 | INT_SETTING_NOWRAP(F_EQSETTING, eq_band3_gain, LANG_GAIN, 0, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1075 | "eq band 3 gain", UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX, |
| 1076 | EQ_GAIN_STEP, db_format, get_dec_talkid, NULL), |
Dan Everton | 5886efa | 2007-12-07 10:59:07 +0000 | [diff] [blame] | 1077 | INT_SETTING_NOWRAP(F_EQSETTING, eq_band4_gain, LANG_GAIN, 0, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1078 | "eq band 4 gain", UNIT_DB, EQ_GAIN_MIN, EQ_GAIN_MAX, |
| 1079 | EQ_GAIN_STEP, db_format, get_dec_talkid, NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1080 | |
| 1081 | /* dithering */ |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1082 | OFFON_SETTING(F_SOUNDSETTING, dithering_enabled, LANG_DITHERING, false, |
| 1083 | "dithering enabled", dsp_dither_enable), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1084 | #endif |
Dan Everton | d7e1f77 | 2007-11-24 07:51:00 +0000 | [diff] [blame] | 1085 | #ifdef HAVE_WM8758 |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1086 | SOUND_SETTING(F_NO_WRAP, bass_cutoff, LANG_BASS_CUTOFF, |
| 1087 | "bass cutoff", SOUND_BASS_CUTOFF), |
| 1088 | SOUND_SETTING(F_NO_WRAP, treble_cutoff, LANG_TREBLE_CUTOFF, |
| 1089 | "treble cutoff", SOUND_TREBLE_CUTOFF), |
Dan Everton | d7e1f77 | 2007-11-24 07:51:00 +0000 | [diff] [blame] | 1090 | #endif |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1091 | #ifdef HAVE_DIRCACHE |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 1092 | OFFON_SETTING(0,dircache,LANG_DIRCACHE_ENABLE,false,"dircache",NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1093 | SYSTEM_SETTING(NVRAM(4),dircache_size,0), |
| 1094 | #endif |
| 1095 | |
| 1096 | #ifdef HAVE_TAGCACHE |
| 1097 | #ifdef HAVE_TC_RAMCACHE |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 1098 | OFFON_SETTING(0,tagcache_ram,LANG_TAGCACHE_RAM,false,"tagcache_ram",NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1099 | #endif |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1100 | OFFON_SETTING(0, tagcache_autoupdate, LANG_TAGCACHE_AUTOUPDATE, false, |
| 1101 | "tagcache_autoupdate", NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1102 | #endif |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 1103 | CHOICE_SETTING(0, default_codepage, LANG_DEFAULT_CODEPAGE, 0, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1104 | "default codepage", |
Nils Wallménius | b311367 | 2007-08-05 19:19:39 +0000 | [diff] [blame] | 1105 | #ifdef HAVE_LCD_BITMAP |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1106 | /* The order must match with that in unicode.c */ |
| 1107 | "iso8859-1,iso8859-7,iso8859-8,cp1251,iso8859-11,cp1256," |
| 1108 | "iso8859-9,iso8859-2,cp1250,sjis,gb2312,ksx1001,big5,utf-8", |
| 1109 | set_codepage, 14, |
| 1110 | ID2P(LANG_CODEPAGE_LATIN1), ID2P(LANG_CODEPAGE_GREEK), |
| 1111 | ID2P(LANG_CODEPAGE_HEBREW), ID2P(LANG_CODEPAGE_CYRILLIC), |
| 1112 | ID2P(LANG_CODEPAGE_THAI), ID2P(LANG_CODEPAGE_ARABIC), |
| 1113 | ID2P(LANG_CODEPAGE_TURKISH), |
| 1114 | ID2P(LANG_CODEPAGE_LATIN_EXTENDED), |
| 1115 | ID2P(LANG_CODEPAGE_CENTRAL_EUROPEAN), |
| 1116 | ID2P(LANG_CODEPAGE_JAPANESE), |
| 1117 | ID2P(LANG_CODEPAGE_SIMPLIFIED), ID2P(LANG_CODEPAGE_KOREAN), |
| 1118 | ID2P(LANG_CODEPAGE_TRADITIONAL), ID2P(LANG_CODEPAGE_UTF8)), |
Jens Arnold | 738c37c | 2007-04-01 13:09:22 +0000 | [diff] [blame] | 1119 | #else /* !HAVE_LCD_BITMAP */ |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1120 | /* The order must match with that in unicode.c */ |
| 1121 | "iso8859-1,iso8859-7,cp1251,iso8859-9,iso8859-2,cp1250,utf-8", |
| 1122 | set_codepage, 7, |
| 1123 | ID2P(LANG_CODEPAGE_LATIN1), ID2P(LANG_CODEPAGE_GREEK), |
| 1124 | ID2P(LANG_CODEPAGE_CYRILLIC), ID2P(LANG_CODEPAGE_TURKISH), |
| 1125 | ID2P(LANG_CODEPAGE_LATIN_EXTENDED), |
| 1126 | ID2P(LANG_CODEPAGE_CENTRAL_EUROPEAN), |
| 1127 | ID2P(LANG_CODEPAGE_UTF8)), |
Jens Arnold | 738c37c | 2007-04-01 13:09:22 +0000 | [diff] [blame] | 1128 | #endif |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1129 | OFFON_SETTING(0, warnon_erase_dynplaylist, LANG_WARN_ERASEDYNPLAYLIST_MENU, |
| 1130 | false, "warn when erasing dynamic playlist",NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1131 | |
Jens Arnold | 47bf6c5 | 2007-04-12 22:12:13 +0000 | [diff] [blame] | 1132 | #ifdef HAVE_BACKLIGHT |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1133 | #ifdef HAS_BUTTON_HOLD |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1134 | CHOICE_SETTING(0, backlight_on_button_hold, LANG_BACKLIGHT_ON_BUTTON_HOLD, |
| 1135 | 0, "backlight on button hold", "normal,off,on", |
| 1136 | backlight_set_on_button_hold, 3, |
| 1137 | ID2P(LANG_NORMAL), ID2P(LANG_OFF), ID2P(LANG_ON)), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1138 | #endif |
Jonathan Gordon | e4689fd | 2007-03-21 07:26:07 +0000 | [diff] [blame] | 1139 | |
Michael Sevakis | 009cebe | 2008-05-14 19:29:25 +0000 | [diff] [blame] | 1140 | #ifdef HAVE_LCD_SLEEP_SETTING |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 1141 | STRINGCHOICE_SETTING(0, lcd_sleep_after_backlight_off, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1142 | LANG_LCD_SLEEP_AFTER_BACKLIGHT_OFF, 3, |
| 1143 | "lcd sleep after backlight off", |
| 1144 | "always,never,5,10,15,20,30,45,60,90", |
| 1145 | lcd_set_sleep_after_backlight_off, 10, |
| 1146 | LANG_ALWAYS, LANG_NEVER, TALK_ID(5, UNIT_SEC), |
| 1147 | TALK_ID(10, UNIT_SEC), TALK_ID(15, UNIT_SEC), |
| 1148 | TALK_ID(20, UNIT_SEC), TALK_ID(30, UNIT_SEC), |
| 1149 | TALK_ID(45, UNIT_SEC),TALK_ID(60, UNIT_SEC), |
| 1150 | TALK_ID(90, UNIT_SEC)), |
Michael Sevakis | 009cebe | 2008-05-14 19:29:25 +0000 | [diff] [blame] | 1151 | #endif /* HAVE_LCD_SLEEP_SETTING */ |
Jens Arnold | 47bf6c5 | 2007-04-12 22:12:13 +0000 | [diff] [blame] | 1152 | #endif /* HAVE_BACKLIGHT */ |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1153 | |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1154 | OFFON_SETTING(0, hold_lr_for_scroll_in_list, -1, true, |
| 1155 | "hold_lr_for_scroll_in_list",NULL), |
Jonathan Gordon | 189f9e2 | 2008-01-13 09:29:45 +0000 | [diff] [blame] | 1156 | #ifdef HAVE_LCD_BITMAP |
Jonathan Gordon | cd2d62c | 2007-02-13 07:50:47 +0000 | [diff] [blame] | 1157 | CHOICE_SETTING(0, show_path_in_browser, LANG_SHOW_PATH, SHOW_PATH_OFF, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1158 | "show path in browser", "off,current directory,full path", |
| 1159 | NULL, 3, ID2P(LANG_OFF), ID2P(LANG_SHOW_PATH_CURRENT), |
| 1160 | ID2P(LANG_DISPLAY_FULL_PATH)), |
Jonathan Gordon | 189f9e2 | 2008-01-13 09:29:45 +0000 | [diff] [blame] | 1161 | #endif |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1162 | |
| 1163 | #ifdef HAVE_AGC |
Jonathan Gordon | 7c776d4 | 2007-02-11 10:09:38 +0000 | [diff] [blame] | 1164 | {F_T_INT,&global_settings.rec_agc_preset_mic,LANG_RECORD_AGC_PRESET,INT(1), |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 1165 | "agc mic preset",NULL,UNUSED}, |
Jonathan Gordon | 7c776d4 | 2007-02-11 10:09:38 +0000 | [diff] [blame] | 1166 | {F_T_INT,&global_settings.rec_agc_preset_line,LANG_RECORD_AGC_PRESET,INT(1), |
Jonathan Gordon | 4ca8a43 | 2007-01-26 05:45:06 +0000 | [diff] [blame] | 1167 | "agc line preset",NULL,UNUSED}, |
Jonathan Gordon | 7c776d4 | 2007-02-11 10:09:38 +0000 | [diff] [blame] | 1168 | {F_T_INT,&global_settings.rec_agc_maxgain_mic,-1,INT(104), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1169 | "agc maximum mic gain",NULL,UNUSED}, |
Jonathan Gordon | 7c776d4 | 2007-02-11 10:09:38 +0000 | [diff] [blame] | 1170 | {F_T_INT,&global_settings.rec_agc_maxgain_line,-1,INT(96), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1171 | "agc maximum line gain",NULL,UNUSED}, |
Jonathan Gordon | 7c776d4 | 2007-02-11 10:09:38 +0000 | [diff] [blame] | 1172 | {F_T_INT,&global_settings.rec_agc_cliptime,LANG_RECORD_AGC_CLIPTIME,INT(1), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1173 | "agc cliptime","0.2s,0.4s,0.6s,0.8,1s",UNUSED}, |
| 1174 | #endif |
| 1175 | |
| 1176 | #ifdef HAVE_REMOTE_LCD |
| 1177 | #ifdef HAS_REMOTE_BUTTON_HOLD |
Jonathan Gordon | 40a253d | 2007-02-17 14:02:48 +0000 | [diff] [blame] | 1178 | CHOICE_SETTING(0, remote_backlight_on_button_hold, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1179 | LANG_BACKLIGHT_ON_BUTTON_HOLD, 0, |
| 1180 | "remote backlight on button hold", |
| 1181 | "normal,off,on", remote_backlight_set_on_button_hold, 3, |
| 1182 | ID2P(LANG_NORMAL), ID2P(LANG_OFF), ID2P(LANG_ON)), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1183 | #endif |
| 1184 | #endif |
| 1185 | #ifdef HAVE_HEADPHONE_DETECTION |
Nils Wallménius | b311367 | 2007-08-05 19:19:39 +0000 | [diff] [blame] | 1186 | CHOICE_SETTING(0, unplug_mode, LANG_HEADPHONE_UNPLUG, 0, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1187 | "pause on headphone unplug", "off,pause,pause and resume", |
| 1188 | NULL, 3, ID2P(LANG_OFF), ID2P(LANG_PAUSE), |
| 1189 | ID2P(LANG_HEADPHONE_UNPLUG_RESUME)), |
| 1190 | INT_SETTING(0, unplug_rw, LANG_HEADPHONE_UNPLUG_RW, 0, |
| 1191 | "rewind duration on pause", UNIT_SEC, 0, 15, 1, NULL, NULL, |
| 1192 | NULL), |
| 1193 | OFFON_SETTING(0, unplug_autoresume, |
| 1194 | LANG_HEADPHONE_UNPLUG_DISABLE_AUTORESUME, false, |
| 1195 | "disable autoresume if phones not present",NULL), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1196 | #endif |
Jens Arnold | c652218 | 2007-02-18 08:46:12 +0000 | [diff] [blame] | 1197 | #if CONFIG_TUNER |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1198 | CHOICE_SETTING(0, fm_region, LANG_FM_REGION, 0, |
| 1199 | "fm_region", "eu,us,jp,kr", set_radio_region, 4, |
| 1200 | ID2P(LANG_FM_EUROPE), ID2P(LANG_FM_US), |
| 1201 | ID2P(LANG_FM_JAPAN), ID2P(LANG_FM_KOREA)), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1202 | #endif |
| 1203 | |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1204 | OFFON_SETTING(0, audioscrobbler, LANG_AUDIOSCROBBLER, false, |
| 1205 | "Last.fm Logging", NULL), |
Jens Arnold | c652218 | 2007-02-18 08:46:12 +0000 | [diff] [blame] | 1206 | #if CONFIG_TUNER |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1207 | FILENAME_SETTING(0, fmr_file, "fmr", "", |
| 1208 | FMPRESET_PATH "/", ".fmr", MAX_FILENAME+1), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1209 | #endif |
Dave Chapman | f75d8ac | 2008-02-23 00:17:13 +0000 | [diff] [blame] | 1210 | #ifdef HAVE_LCD_BITMAP |
Jonathan Gordon | f0d2861 | 2007-02-01 13:57:14 +0000 | [diff] [blame] | 1211 | FILENAME_SETTING(F_THEMESETTING, font_file, "font", |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1212 | DEFAULT_FONTNAME, FONT_DIR "/", ".fnt", MAX_FILENAME+1), |
Dave Chapman | f75d8ac | 2008-02-23 00:17:13 +0000 | [diff] [blame] | 1213 | #endif |
Jonathan Gordon | f0d2861 | 2007-02-01 13:57:14 +0000 | [diff] [blame] | 1214 | FILENAME_SETTING(F_THEMESETTING,wps_file, "wps", |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1215 | DEFAULT_WPSNAME, WPS_DIR "/", ".wps", MAX_FILENAME+1), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1216 | FILENAME_SETTING(0,lang_file,"lang","",LANG_DIR "/",".lng",MAX_FILENAME+1), |
| 1217 | #ifdef HAVE_REMOTE_LCD |
Jonathan Gordon | f0d2861 | 2007-02-01 13:57:14 +0000 | [diff] [blame] | 1218 | FILENAME_SETTING(F_THEMESETTING,rwps_file,"rwps", |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1219 | DEFAULT_WPSNAME, WPS_DIR "/", ".rwps", MAX_FILENAME+1), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1220 | #endif |
| 1221 | #if LCD_DEPTH > 1 |
Jonathan Gordon | f0d2861 | 2007-02-01 13:57:14 +0000 | [diff] [blame] | 1222 | FILENAME_SETTING(F_THEMESETTING,backdrop_file,"backdrop", |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1223 | DEFAULT_BACKDROP, BACKDROP_DIR "/", ".bmp",MAX_FILENAME+1), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1224 | #endif |
| 1225 | #ifdef HAVE_LCD_BITMAP |
Jonathan Gordon | e463dde | 2007-01-28 08:10:28 +0000 | [diff] [blame] | 1226 | FILENAME_SETTING(0,kbd_file,"kbd","",ROCKBOX_DIR "/",".kbd",MAX_FILENAME+1), |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1227 | #endif |
Steve Bavin | 338d94f | 2007-02-01 10:47:22 +0000 | [diff] [blame] | 1228 | #ifdef HAVE_USB_POWER |
Jonathan Gordon | 9a6f419 | 2007-02-18 05:32:06 +0000 | [diff] [blame] | 1229 | #if CONFIG_CHARGING |
Steve Bavin | 338d94f | 2007-02-01 10:47:22 +0000 | [diff] [blame] | 1230 | OFFON_SETTING(0,usb_charging,LANG_USB_CHARGING,false,"usb charging",NULL), |
| 1231 | #endif |
| 1232 | #endif |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1233 | OFFON_SETTING(0,cuesheet,LANG_CUESHEET_ENABLE,false,"cuesheet support", |
| 1234 | NULL), |
Stéphane Doyon | ab0f7e1 | 2008-05-04 13:47:58 +0000 | [diff] [blame] | 1235 | OFFON_SETTING(0,study_mode,LANG_ENABLE_STUDY_MODE,false,"Study mode", |
| 1236 | NULL), |
| 1237 | INT_SETTING(0, study_hop_step, LANG_STUDY_HOP_STEP, 5, "Study hop step", |
| 1238 | UNIT_SEC, 0, 250, 1, NULL, NULL, NULL), |
Jonathan Gordon | 91cb68a | 2007-03-01 11:14:46 +0000 | [diff] [blame] | 1239 | CHOICE_SETTING(0, start_in_screen, LANG_START_SCREEN, 1, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1240 | "start in screen", "previous,root,files,db,wps,menu," |
Jonathan Gordon | 91cb68a | 2007-03-01 11:14:46 +0000 | [diff] [blame] | 1241 | #ifdef HAVE_RECORDING |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1242 | "recording," |
Jonathan Gordon | 91cb68a | 2007-03-01 11:14:46 +0000 | [diff] [blame] | 1243 | #endif |
| 1244 | #if CONFIG_TUNER |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1245 | "radio," |
Jonathan Gordon | 91cb68a | 2007-03-01 11:14:46 +0000 | [diff] [blame] | 1246 | #endif |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1247 | "bookmarks" ,NULL, |
Jonathan Gordon | 91cb68a | 2007-03-01 11:14:46 +0000 | [diff] [blame] | 1248 | #if defined(HAVE_RECORDING) && CONFIG_TUNER |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1249 | 9, |
Jonathan Gordon | 91cb68a | 2007-03-01 11:14:46 +0000 | [diff] [blame] | 1250 | #elif defined(HAVE_RECORDING) || CONFIG_TUNER /* only one of them */ |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1251 | 8, |
Jonathan Gordon | 91cb68a | 2007-03-01 11:14:46 +0000 | [diff] [blame] | 1252 | #else |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1253 | 7, |
Jonathan Gordon | 91cb68a | 2007-03-01 11:14:46 +0000 | [diff] [blame] | 1254 | #endif |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1255 | ID2P(LANG_PREVIOUS_SCREEN), ID2P(LANG_MAIN_MENU), |
| 1256 | ID2P(LANG_DIR_BROWSER), ID2P(LANG_TAGCACHE), |
| 1257 | ID2P(LANG_RESUME_PLAYBACK), ID2P(LANG_SETTINGS), |
Jonathan Gordon | 91cb68a | 2007-03-01 11:14:46 +0000 | [diff] [blame] | 1258 | #ifdef HAVE_RECORDING |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1259 | ID2P(LANG_RECORDING), |
Jonathan Gordon | 91cb68a | 2007-03-01 11:14:46 +0000 | [diff] [blame] | 1260 | #endif |
| 1261 | #if CONFIG_TUNER |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1262 | ID2P(LANG_FM_RADIO), |
Jonathan Gordon | 91cb68a | 2007-03-01 11:14:46 +0000 | [diff] [blame] | 1263 | #endif |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1264 | ID2P(LANG_BOOKMARK_MENU_RECENT_BOOKMARKS) |
| 1265 | ), |
Jonathan Gordon | 91cb68a | 2007-03-01 11:14:46 +0000 | [diff] [blame] | 1266 | SYSTEM_SETTING(NVRAM(1),last_screen,-1), |
Jonathan Gordon | 9e554a8 | 2007-03-07 01:16:25 +0000 | [diff] [blame] | 1267 | #if defined(HAVE_RTC_ALARM) && \ |
| 1268 | (defined(HAVE_RECORDING) || CONFIG_TUNER) |
Jonathan Gordon | d0a7cf0 | 2007-03-07 07:36:04 +0000 | [diff] [blame] | 1269 | {F_T_INT, &global_settings.alarm_wake_up_screen, LANG_ALARM_WAKEUP_SCREEN, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1270 | INT(ALARM_START_WPS), "alarm wakeup screen", ALARM_SETTING_TEXT,UNUSED}, |
Jonathan Gordon | 9e554a8 | 2007-03-07 01:16:25 +0000 | [diff] [blame] | 1271 | #endif /* HAVE_RTC_ALARM */ |
Michael Giacomelli | aa26962 | 2008-02-23 03:56:39 +0000 | [diff] [blame] | 1272 | |
Jonathan Gordon | 6a5cc0b | 2007-04-16 09:14:36 +0000 | [diff] [blame] | 1273 | /* Customizable icons */ |
| 1274 | #ifdef HAVE_LCD_BITMAP |
Michael Giacomelli | aa26962 | 2008-02-23 03:56:39 +0000 | [diff] [blame] | 1275 | FILENAME_SETTING(F_THEMESETTING, icon_file, "iconset", DEFAULT_ICONSET, |
Jonathan Gordon | 6a5cc0b | 2007-04-16 09:14:36 +0000 | [diff] [blame] | 1276 | ICON_DIR "/", ".bmp", MAX_FILENAME+1), |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1277 | FILENAME_SETTING(F_THEMESETTING, viewers_icon_file, "viewers iconset", |
| 1278 | DEFAULT_VIEWERS_ICONSET, |
Jonathan Gordon | 6a5cc0b | 2007-04-16 09:14:36 +0000 | [diff] [blame] | 1279 | ICON_DIR "/", ".bmp", MAX_FILENAME+1), |
Jonathan Gordon | a9c1df4 | 2007-04-16 14:33:29 +0000 | [diff] [blame] | 1280 | #endif |
Jonathan Gordon | 6a5cc0b | 2007-04-16 09:14:36 +0000 | [diff] [blame] | 1281 | #ifdef HAVE_REMOTE_LCD |
| 1282 | FILENAME_SETTING(F_THEMESETTING, remote_icon_file, "remote iconset", "", |
| 1283 | ICON_DIR "/", ".bmp", MAX_FILENAME+1), |
| 1284 | FILENAME_SETTING(F_THEMESETTING, remote_viewers_icon_file, |
| 1285 | "remote viewers iconset", "", |
| 1286 | ICON_DIR "/", ".bmp", MAX_FILENAME+1), |
Jonathan Gordon | 6a5cc0b | 2007-04-16 09:14:36 +0000 | [diff] [blame] | 1287 | #endif /* HAVE_REMOTE_LCD */ |
Brandon Low | 74cbb0a | 2007-06-17 21:16:34 +0000 | [diff] [blame] | 1288 | #ifdef HAVE_LCD_COLOR |
Michael Giacomelli | aa26962 | 2008-02-23 03:56:39 +0000 | [diff] [blame] | 1289 | FILENAME_SETTING(F_THEMESETTING, colors_file, "filetype colours", "-", |
Paul Louden | f8b5913 | 2007-06-19 04:21:06 +0000 | [diff] [blame] | 1290 | THEME_DIR "/", ".colours", MAX_FILENAME+1), |
Brandon Low | 74cbb0a | 2007-06-17 21:16:34 +0000 | [diff] [blame] | 1291 | #endif |
Jonathan Gordon | 4b1d1b4 | 2007-04-22 13:02:24 +0000 | [diff] [blame] | 1292 | #ifdef HAVE_BUTTON_LIGHT |
Jens Arnold | d490f44 | 2007-11-25 17:36:21 +0000 | [diff] [blame] | 1293 | TABLE_SETTING(F_ALLOW_ARBITRARY_VALS, buttonlight_timeout, |
| 1294 | LANG_BUTTONLIGHT_TIMEOUT, 5, "button light timeout", off_on, |
| 1295 | UNIT_SEC, backlight_formatter, backlight_getlang, |
| 1296 | buttonlight_set_timeout, 20, |
| 1297 | -1,0,1,2,3,4,5,6,7,8,9,10,15,20,25,30,45,60,90,120), |
Jonathan Gordon | 4b1d1b4 | 2007-04-22 13:02:24 +0000 | [diff] [blame] | 1298 | #endif |
Karl Kurbjun | 6f95ab7 | 2007-05-08 06:45:38 +0000 | [diff] [blame] | 1299 | #ifdef HAVE_BUTTONLIGHT_BRIGHTNESS |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1300 | INT_SETTING(F_NO_WRAP, buttonlight_brightness, LANG_BUTTONLIGHT_BRIGHTNESS, |
| 1301 | DEFAULT_BRIGHTNESS_SETTING, |
| 1302 | "button light brightness",UNIT_INT, MIN_BRIGHTNESS_SETTING, |
| 1303 | MAX_BRIGHTNESS_SETTING, 1, NULL, NULL, |
| 1304 | buttonlight_set_brightness), |
Karl Kurbjun | 6f95ab7 | 2007-05-08 06:45:38 +0000 | [diff] [blame] | 1305 | #endif |
Michael Sevakis | 873e0fd | 2007-07-22 21:02:24 +0000 | [diff] [blame] | 1306 | #ifndef HAVE_SCROLLWHEEL |
Jonathan Gordon | 42698e4 | 2007-05-27 15:08:56 +0000 | [diff] [blame] | 1307 | INT_SETTING(0, list_accel_start_delay, LANG_LISTACCEL_START_DELAY, |
| 1308 | 2, "list_accel_start_delay", UNIT_MS, 0, 10, 1, |
Jens Arnold | 09a7861 | 2007-11-26 23:10:20 +0000 | [diff] [blame] | 1309 | formatter_unit_0_is_off, getlang_unit_0_is_off, NULL), |
Jonathan Gordon | 42698e4 | 2007-05-27 15:08:56 +0000 | [diff] [blame] | 1310 | INT_SETTING(0, list_accel_wait, LANG_LISTACCEL_ACCEL_SPEED, |
| 1311 | 3, "list_accel_wait", UNIT_SEC, 1, 10, 1, |
Jens Arnold | 09a7861 | 2007-11-26 23:10:20 +0000 | [diff] [blame] | 1312 | scanaccel_formatter, getlang_unit_0_is_off, NULL), |
Michael Sevakis | 873e0fd | 2007-07-22 21:02:24 +0000 | [diff] [blame] | 1313 | #endif /* HAVE_SCROLLWHEEL */ |
Jonathan Gordon | 4d238c1 | 2008-01-10 06:46:04 +0000 | [diff] [blame] | 1314 | #if CONFIG_TUNER |
| 1315 | SYSTEM_SETTING(0, statusbar_forced, 0), |
| 1316 | #endif |
Steve Bavin | ea358a1 | 2008-01-21 09:48:44 +0000 | [diff] [blame] | 1317 | #if CONFIG_CODEC == SWCODEC |
| 1318 | /* keyclick */ |
| 1319 | CHOICE_SETTING(0, keyclick, LANG_KEYCLICK, 0, |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1320 | "keyclick", "off,weak,moderate,strong", NULL, 4, |
| 1321 | ID2P(LANG_OFF), ID2P(LANG_WEAK), ID2P(LANG_MODERATE), |
| 1322 | ID2P(LANG_STRONG)), |
| 1323 | OFFON_SETTING(0, keyclick_repeats, LANG_KEYCLICK_REPEATS, false, |
| 1324 | "keyclick repeats", NULL), |
Steve Bavin | ea358a1 | 2008-01-21 09:48:44 +0000 | [diff] [blame] | 1325 | #endif /* CONFIG_CODEC == SWCODEC */ |
Jonathan Gordon | ba75e60 | 2008-01-29 06:57:54 +0000 | [diff] [blame] | 1326 | FILENAME_SETTING(0, playlist_catalog_dir, "playlist catalog directory", |
Peter D'Hoye | 5c3d591 | 2008-05-11 23:13:59 +0000 | [diff] [blame] | 1327 | PLAYLIST_CATALOG_DEFAULT_DIR, NULL, NULL, MAX_FILENAME+1), |
Michael Sevakis | c541e04 | 2008-05-29 21:27:44 +0000 | [diff] [blame] | 1328 | #ifdef HAVE_TOUCHPAD_SENSITIVITY_SETTING |
| 1329 | CHOICE_SETTING(0, touchpad_sensitivity, LANG_TOUCHPAD_SENSITIVITY, 0, |
| 1330 | "touchpad sensitivity", "normal,high", touchpad_set_sensitivity, 2, |
| 1331 | ID2P(LANG_NORMAL), ID2P(LANG_HIGH)), |
| 1332 | #endif |
Jonathan Gordon | b2e5090 | 2007-01-23 13:40:44 +0000 | [diff] [blame] | 1333 | }; |
| 1334 | |
| 1335 | const int nb_settings = sizeof(settings)/sizeof(*settings); |