mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-14 10:37:38 -04:00
FS#8353 - add a quick way to make a .cfg from the sound settings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15971 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
557ae970de
commit
b8bc45ded0
6 changed files with 53 additions and 30 deletions
|
@ -11526,3 +11526,17 @@
|
||||||
*: "Random"
|
*: "Random"
|
||||||
</voice>
|
</voice>
|
||||||
</phrase>
|
</phrase>
|
||||||
|
<phrase>
|
||||||
|
id: LANG_SAVE_SOUND
|
||||||
|
desc: save a sound config file
|
||||||
|
user:
|
||||||
|
<source>
|
||||||
|
*: "Save Sound Settings"
|
||||||
|
</source>
|
||||||
|
<dest>
|
||||||
|
*: "Save Sound Settings"
|
||||||
|
</dest>
|
||||||
|
<voice>
|
||||||
|
*: "Save Sound Settings"
|
||||||
|
</voice>
|
||||||
|
</phrase>
|
||||||
|
|
|
@ -90,12 +90,14 @@ MENUITEM_FUNCTION(save_settings_item, MENU_FUNC_USEPARAM, ID2P(LANG_SAVE_SETTING
|
||||||
write_settings_file, (void*)SETTINGS_SAVE_ALL, NULL, Icon_NOICON);
|
write_settings_file, (void*)SETTINGS_SAVE_ALL, NULL, Icon_NOICON);
|
||||||
MENUITEM_FUNCTION(save_theme_item, MENU_FUNC_USEPARAM, ID2P(LANG_SAVE_THEME),
|
MENUITEM_FUNCTION(save_theme_item, MENU_FUNC_USEPARAM, ID2P(LANG_SAVE_THEME),
|
||||||
write_settings_file, (void*)SETTINGS_SAVE_THEME, NULL, Icon_NOICON);
|
write_settings_file, (void*)SETTINGS_SAVE_THEME, NULL, Icon_NOICON);
|
||||||
|
MENUITEM_FUNCTION(save_sound_item, MENU_FUNC_USEPARAM, ID2P(LANG_SAVE_SOUND),
|
||||||
|
write_settings_file, (void*)SETTINGS_SAVE_SOUND, NULL, Icon_NOICON);
|
||||||
MENUITEM_FUNCTION(reset_settings_item, 0, ID2P(LANG_RESET),
|
MENUITEM_FUNCTION(reset_settings_item, 0, ID2P(LANG_RESET),
|
||||||
reset_settings, NULL, NULL, Icon_NOICON);
|
reset_settings, NULL, NULL, Icon_NOICON);
|
||||||
|
|
||||||
MAKE_MENU(manage_settings, ID2P(LANG_MANAGE_MENU), NULL, Icon_Config,
|
MAKE_MENU(manage_settings, ID2P(LANG_MANAGE_MENU), NULL, Icon_Config,
|
||||||
&browse_configs, &reset_settings_item,
|
&browse_configs, &reset_settings_item,
|
||||||
&save_settings_item, &save_theme_item);
|
&save_settings_item, &save_sound_item, &save_theme_item);
|
||||||
/* MANAGE SETTINGS MENU */
|
/* MANAGE SETTINGS MENU */
|
||||||
/**********************************/
|
/**********************************/
|
||||||
|
|
||||||
|
|
|
@ -469,6 +469,9 @@ static bool settings_write_config(char* filename, int options)
|
||||||
if ((options == SETTINGS_SAVE_CHANGED) &&
|
if ((options == SETTINGS_SAVE_CHANGED) &&
|
||||||
!is_changed(i))
|
!is_changed(i))
|
||||||
continue;
|
continue;
|
||||||
|
else if ((options == SETTINGS_SAVE_SOUND) &&
|
||||||
|
((settings[i].flags&F_SOUNDSETTING) == 0))
|
||||||
|
continue;
|
||||||
else if ((options == SETTINGS_SAVE_THEME) &&
|
else if ((options == SETTINGS_SAVE_THEME) &&
|
||||||
((settings[i].flags&F_THEMESETTING) == 0))
|
((settings[i].flags&F_THEMESETTING) == 0))
|
||||||
continue;
|
continue;
|
||||||
|
@ -624,6 +627,7 @@ bool settings_save_config(int options)
|
||||||
folder = EQS_DIR;
|
folder = EQS_DIR;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
case SETTINGS_SAVE_SOUND:
|
||||||
default:
|
default:
|
||||||
folder = ROCKBOX_DIR;
|
folder = ROCKBOX_DIR;
|
||||||
}
|
}
|
||||||
|
|
|
@ -204,6 +204,7 @@ enum {
|
||||||
SETTINGS_SAVE_CHANGED = 0,
|
SETTINGS_SAVE_CHANGED = 0,
|
||||||
SETTINGS_SAVE_ALL,
|
SETTINGS_SAVE_ALL,
|
||||||
SETTINGS_SAVE_THEME,
|
SETTINGS_SAVE_THEME,
|
||||||
|
SETTINGS_SAVE_SOUND,
|
||||||
#ifdef HAVE_RECORDING
|
#ifdef HAVE_RECORDING
|
||||||
SETTINGS_SAVE_RECPRESETS,
|
SETTINGS_SAVE_RECPRESETS,
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -74,7 +74,7 @@
|
||||||
|
|
||||||
/* Use for int settings which use the set_sound() function to set them */
|
/* Use for int settings which use the set_sound() function to set them */
|
||||||
#define SOUND_SETTING(flags,var,lang_id,name,setting) \
|
#define SOUND_SETTING(flags,var,lang_id,name,setting) \
|
||||||
{flags|F_T_INT|F_T_SOUND, &global_settings.var, \
|
{flags|F_T_INT|F_T_SOUND|F_SOUNDSETTING, &global_settings.var, \
|
||||||
lang_id, NODEFAULT,name,NULL, \
|
lang_id, NODEFAULT,name,NULL, \
|
||||||
{.sound_setting=(struct sound_setting[]){{setting}}} }
|
{.sound_setting=(struct sound_setting[]){{setting}}} }
|
||||||
|
|
||||||
|
@ -331,20 +331,21 @@ const struct settings_list settings[] = {
|
||||||
|
|
||||||
#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
|
#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
|
||||||
SOUND_SETTING(0,loudness, LANG_LOUDNESS, "loudness", SOUND_LOUDNESS),
|
SOUND_SETTING(0,loudness, LANG_LOUDNESS, "loudness", SOUND_LOUDNESS),
|
||||||
STRINGCHOICE_SETTING(0,avc,LANG_AUTOVOL,0,"auto volume",
|
STRINGCHOICE_SETTING(F_SOUNDSETTING,avc,LANG_AUTOVOL,0,"auto volume",
|
||||||
"off,20ms,2,4,8,", sound_set_avc, 5,
|
"off,20ms,2,4,8,", sound_set_avc, 5,
|
||||||
LANG_OFF,TALK_ID(20, UNIT_MS),TALK_ID(2, UNIT_SEC),
|
LANG_OFF,TALK_ID(20, UNIT_MS),TALK_ID(2, UNIT_SEC),
|
||||||
TALK_ID(4, UNIT_SEC),TALK_ID(8, UNIT_SEC)),
|
TALK_ID(4, UNIT_SEC),TALK_ID(8, UNIT_SEC)),
|
||||||
OFFON_SETTING(0, superbass, LANG_SUPERBASS, false, "superbass", set_superbass),
|
OFFON_SETTING(F_SOUNDSETTING, superbass, LANG_SUPERBASS, false, "superbass", set_superbass),
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
CHOICE_SETTING(0,channel_config,LANG_CHANNEL_CONFIGURATION,0,"channels",
|
CHOICE_SETTING(F_SOUNDSETTING, channel_config, LANG_CHANNEL_CONFIGURATION,
|
||||||
|
0,"channels",
|
||||||
"stereo,mono,custom,mono left,mono right,karaoke",
|
"stereo,mono,custom,mono left,mono right,karaoke",
|
||||||
sound_set_channels,
|
sound_set_channels,
|
||||||
6, ID2P(LANG_CHANNEL_STEREO), ID2P(LANG_CHANNEL_MONO),
|
6, ID2P(LANG_CHANNEL_STEREO), ID2P(LANG_CHANNEL_MONO),
|
||||||
ID2P(LANG_CHANNEL_CUSTOM), ID2P(LANG_CHANNEL_LEFT),
|
ID2P(LANG_CHANNEL_CUSTOM), ID2P(LANG_CHANNEL_LEFT),
|
||||||
ID2P(LANG_CHANNEL_RIGHT), ID2P(LANG_CHANNEL_KARAOKE)),
|
ID2P(LANG_CHANNEL_RIGHT), ID2P(LANG_CHANNEL_KARAOKE)),
|
||||||
SOUND_SETTING(0,stereo_width, LANG_STEREO_WIDTH,
|
SOUND_SETTING(F_SOUNDSETTING, stereo_width, LANG_STEREO_WIDTH,
|
||||||
"stereo_width", SOUND_STEREO_WIDTH),
|
"stereo_width", SOUND_STEREO_WIDTH),
|
||||||
/* playback */
|
/* playback */
|
||||||
OFFON_SETTING(0, playlist_shuffle, LANG_SHUFFLE, false, "shuffle", NULL),
|
OFFON_SETTING(0, playlist_shuffle, LANG_SHUFFLE, false, "shuffle", NULL),
|
||||||
|
@ -679,19 +680,19 @@ const struct settings_list settings[] = {
|
||||||
#endif /* HAVE_RECORDING */
|
#endif /* HAVE_RECORDING */
|
||||||
#endif /* HAVE_LCD_BITMAP */
|
#endif /* HAVE_LCD_BITMAP */
|
||||||
#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
|
#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
|
||||||
SOUND_SETTING(0, mdb_strength, LANG_MDB_STRENGTH,
|
SOUND_SETTING(F_SOUNDSETTING, mdb_strength, LANG_MDB_STRENGTH,
|
||||||
"mdb strength", SOUND_MDB_STRENGTH),
|
"mdb strength", SOUND_MDB_STRENGTH),
|
||||||
SOUND_SETTING(0, mdb_harmonics, LANG_MDB_HARMONICS,
|
SOUND_SETTING(F_SOUNDSETTING, mdb_harmonics, LANG_MDB_HARMONICS,
|
||||||
"mdb harmonics", SOUND_MDB_HARMONICS),
|
"mdb harmonics", SOUND_MDB_HARMONICS),
|
||||||
SOUND_SETTING(0, mdb_center, LANG_MDB_CENTER,
|
SOUND_SETTING(F_SOUNDSETTING, mdb_center, LANG_MDB_CENTER,
|
||||||
"mdb center", SOUND_MDB_CENTER),
|
"mdb center", SOUND_MDB_CENTER),
|
||||||
SOUND_SETTING(0, mdb_shape, LANG_MDB_SHAPE,
|
SOUND_SETTING(F_SOUNDSETTING, mdb_shape, LANG_MDB_SHAPE,
|
||||||
"mdb shape", SOUND_MDB_SHAPE),
|
"mdb shape", SOUND_MDB_SHAPE),
|
||||||
OFFON_SETTING(0, mdb_enable, LANG_MDB_ENABLE,
|
OFFON_SETTING(F_SOUNDSETTING, mdb_enable, LANG_MDB_ENABLE,
|
||||||
false, "mdb enable", set_mdb_enable),
|
false, "mdb enable", set_mdb_enable),
|
||||||
#endif
|
#endif
|
||||||
#if CONFIG_CODEC == MAS3507D
|
#if CONFIG_CODEC == MAS3507D
|
||||||
OFFON_SETTING(0,line_in,LANG_LINE_IN,false,"line in",NULL),
|
OFFON_SETTING(F_SOUNDSETTING, line_in,LANG_LINE_IN,false,"line in",NULL),
|
||||||
#endif
|
#endif
|
||||||
/* voice */
|
/* voice */
|
||||||
OFFON_SETTING(F_TEMPVAR, talk_menu, LANG_VOICE_MENU, true, "talk menu", NULL),
|
OFFON_SETTING(F_TEMPVAR, talk_menu, LANG_VOICE_MENU, true, "talk menu", NULL),
|
||||||
|
@ -845,7 +846,7 @@ const struct settings_list settings[] = {
|
||||||
#endif /* HAVE_RECORDING */
|
#endif /* HAVE_RECORDING */
|
||||||
|
|
||||||
#ifdef HAVE_SPDIF_POWER
|
#ifdef HAVE_SPDIF_POWER
|
||||||
OFFON_SETTING(0, spdif_enable, LANG_SPDIF_ENABLE, false,
|
OFFON_SETTING(F_SOUNDSETTING, spdif_enable, LANG_SPDIF_ENABLE, false,
|
||||||
"spdif enable", spdif_power_enable),
|
"spdif enable", spdif_power_enable),
|
||||||
#endif
|
#endif
|
||||||
CHOICE_SETTING(0, next_folder, LANG_NEXT_FOLDER, FOLDER_ADVANCE_OFF,
|
CHOICE_SETTING(0, next_folder, LANG_NEXT_FOLDER, FOLDER_ADVANCE_OFF,
|
||||||
|
@ -855,13 +856,13 @@ const struct settings_list settings[] = {
|
||||||
|
|
||||||
#if CONFIG_CODEC == SWCODEC
|
#if CONFIG_CODEC == SWCODEC
|
||||||
/* replay gain */
|
/* replay gain */
|
||||||
OFFON_SETTING(0, replaygain, LANG_REPLAYGAIN_ENABLE, false, "replaygain", NULL),
|
OFFON_SETTING(F_SOUNDSETTING, replaygain, LANG_REPLAYGAIN_ENABLE, false, "replaygain", NULL),
|
||||||
CHOICE_SETTING(0, replaygain_type, LANG_REPLAYGAIN_MODE, REPLAYGAIN_ALBUM,
|
CHOICE_SETTING(F_SOUNDSETTING, replaygain_type, LANG_REPLAYGAIN_MODE, REPLAYGAIN_ALBUM,
|
||||||
"replaygain type", "track,album,track shuffle", NULL, 3,
|
"replaygain type", "track,album,track shuffle", NULL, 3,
|
||||||
ID2P(LANG_TRACK_GAIN), ID2P(LANG_ALBUM_GAIN), ID2P(LANG_SHUFFLE_GAIN)),
|
ID2P(LANG_TRACK_GAIN), ID2P(LANG_ALBUM_GAIN), ID2P(LANG_SHUFFLE_GAIN)),
|
||||||
OFFON_SETTING(0, replaygain_noclip, LANG_REPLAYGAIN_NOCLIP,
|
OFFON_SETTING(F_SOUNDSETTING, replaygain_noclip, LANG_REPLAYGAIN_NOCLIP,
|
||||||
false, "replaygain noclip", NULL),
|
false, "replaygain noclip", NULL),
|
||||||
INT_SETTING_NOWRAP(0, replaygain_preamp, LANG_REPLAYGAIN_PREAMP, 0, "replaygain preamp",
|
INT_SETTING_NOWRAP(F_SOUNDSETTING, replaygain_preamp, LANG_REPLAYGAIN_PREAMP, 0, "replaygain preamp",
|
||||||
UNIT_DB, -120, 120, 5, db_format, NULL, NULL),
|
UNIT_DB, -120, 120, 5, db_format, NULL, NULL),
|
||||||
|
|
||||||
CHOICE_SETTING(0, beep, LANG_BEEP, 0,
|
CHOICE_SETTING(0, beep, LANG_BEEP, 0,
|
||||||
|
@ -869,35 +870,35 @@ const struct settings_list settings[] = {
|
||||||
ID2P(LANG_OFF), ID2P(LANG_WEAK), ID2P(LANG_MODERATE), ID2P(LANG_STRONG)),
|
ID2P(LANG_OFF), ID2P(LANG_WEAK), ID2P(LANG_MODERATE), ID2P(LANG_STRONG)),
|
||||||
|
|
||||||
/* crossfade */
|
/* crossfade */
|
||||||
CHOICE_SETTING(0, crossfade, LANG_CROSSFADE_ENABLE, 0, "crossfade",
|
CHOICE_SETTING(F_SOUNDSETTING, crossfade, LANG_CROSSFADE_ENABLE, 0, "crossfade",
|
||||||
"off,shuffle,track skip,shuffle and track skip,always",NULL, 5,
|
"off,shuffle,track skip,shuffle and track skip,always",NULL, 5,
|
||||||
ID2P(LANG_OFF), ID2P(LANG_SHUFFLE), ID2P(LANG_TRACKSKIP),
|
ID2P(LANG_OFF), ID2P(LANG_SHUFFLE), ID2P(LANG_TRACKSKIP),
|
||||||
ID2P(LANG_SHUFFLE_TRACKSKIP), ID2P(LANG_ALWAYS)),
|
ID2P(LANG_SHUFFLE_TRACKSKIP), ID2P(LANG_ALWAYS)),
|
||||||
INT_SETTING(0, crossfade_fade_in_delay, LANG_CROSSFADE_FADE_IN_DELAY, 0,
|
INT_SETTING(F_SOUNDSETTING, crossfade_fade_in_delay, LANG_CROSSFADE_FADE_IN_DELAY, 0,
|
||||||
"crossfade fade in delay", UNIT_SEC, 0, 7, 1, NULL, NULL, NULL),
|
"crossfade fade in delay", UNIT_SEC, 0, 7, 1, NULL, NULL, NULL),
|
||||||
INT_SETTING(0, crossfade_fade_out_delay, LANG_CROSSFADE_FADE_OUT_DELAY, 0,
|
INT_SETTING(F_SOUNDSETTING, crossfade_fade_out_delay, LANG_CROSSFADE_FADE_OUT_DELAY, 0,
|
||||||
"crossfade fade out delay", UNIT_SEC, 0, 7, 1, NULL, NULL, NULL),
|
"crossfade fade out delay", UNIT_SEC, 0, 7, 1, NULL, NULL, NULL),
|
||||||
INT_SETTING(0, crossfade_fade_in_duration, LANG_CROSSFADE_FADE_IN_DURATION, 2,
|
INT_SETTING(F_SOUNDSETTING, crossfade_fade_in_duration, LANG_CROSSFADE_FADE_IN_DURATION, 2,
|
||||||
"crossfade fade in duration", UNIT_SEC, 0, 15, 1, NULL, NULL, NULL),
|
"crossfade fade in duration", UNIT_SEC, 0, 15, 1, NULL, NULL, NULL),
|
||||||
INT_SETTING(0, crossfade_fade_out_duration, LANG_CROSSFADE_FADE_OUT_DURATION, 2,
|
INT_SETTING(F_SOUNDSETTING, crossfade_fade_out_duration, LANG_CROSSFADE_FADE_OUT_DURATION, 2,
|
||||||
"crossfade fade out duration", UNIT_SEC, 0, 15, 1, NULL, NULL, NULL),
|
"crossfade fade out duration", UNIT_SEC, 0, 15, 1, NULL, NULL, NULL),
|
||||||
CHOICE_SETTING(0, crossfade_fade_out_mixmode, LANG_CROSSFADE_FADE_OUT_MODE,
|
CHOICE_SETTING(F_SOUNDSETTING, crossfade_fade_out_mixmode, LANG_CROSSFADE_FADE_OUT_MODE,
|
||||||
0, "crossfade fade out mode", "crossfade,mix", NULL, 2,
|
0, "crossfade fade out mode", "crossfade,mix", NULL, 2,
|
||||||
ID2P(LANG_CROSSFADE), ID2P(LANG_MIX)),
|
ID2P(LANG_CROSSFADE), ID2P(LANG_MIX)),
|
||||||
|
|
||||||
/* crossfeed */
|
/* crossfeed */
|
||||||
OFFON_SETTING(0,crossfeed, LANG_CROSSFEED, false,
|
OFFON_SETTING(F_SOUNDSETTING, crossfeed, LANG_CROSSFEED, false,
|
||||||
"crossfeed", dsp_set_crossfeed),
|
"crossfeed", dsp_set_crossfeed),
|
||||||
INT_SETTING_NOWRAP(0, crossfeed_direct_gain, LANG_CROSSFEED_DIRECT_GAIN,
|
INT_SETTING_NOWRAP(F_SOUNDSETTING, crossfeed_direct_gain, LANG_CROSSFEED_DIRECT_GAIN,
|
||||||
-15, "crossfeed direct gain", UNIT_DB, -60, 0, 5,
|
-15, "crossfeed direct gain", UNIT_DB, -60, 0, 5,
|
||||||
db_format, NULL, dsp_set_crossfeed_direct_gain),
|
db_format, NULL, dsp_set_crossfeed_direct_gain),
|
||||||
INT_SETTING_NOWRAP(0, crossfeed_cross_gain, LANG_CROSSFEED_CROSS_GAIN, -60,
|
INT_SETTING_NOWRAP(F_SOUNDSETTING, crossfeed_cross_gain, LANG_CROSSFEED_CROSS_GAIN, -60,
|
||||||
"crossfeed cross gain", UNIT_DB, -120, -30, 5,
|
"crossfeed cross gain", UNIT_DB, -120, -30, 5,
|
||||||
db_format, NULL, crossfeed_cross_set),
|
db_format, NULL, crossfeed_cross_set),
|
||||||
INT_SETTING_NOWRAP(0, crossfeed_hf_attenuation, LANG_CROSSFEED_HF_ATTENUATION, -160,
|
INT_SETTING_NOWRAP(F_SOUNDSETTING, crossfeed_hf_attenuation, LANG_CROSSFEED_HF_ATTENUATION, -160,
|
||||||
"crossfeed hf attenuation", UNIT_DB, -240, -60, 5,
|
"crossfeed hf attenuation", UNIT_DB, -240, -60, 5,
|
||||||
db_format, NULL, crossfeed_cross_set),
|
db_format, NULL, crossfeed_cross_set),
|
||||||
INT_SETTING_NOWRAP(0, crossfeed_hf_cutoff, LANG_CROSSFEED_HF_CUTOFF, 700,
|
INT_SETTING_NOWRAP(F_SOUNDSETTING, crossfeed_hf_cutoff, LANG_CROSSFEED_HF_CUTOFF, 700,
|
||||||
"crossfeed hf cutoff", UNIT_HERTZ, 500, 2000, 100,
|
"crossfeed hf cutoff", UNIT_HERTZ, 500, 2000, 100,
|
||||||
NULL, NULL, crossfeed_cross_set),
|
NULL, NULL, crossfeed_cross_set),
|
||||||
|
|
||||||
|
@ -957,7 +958,7 @@ const struct settings_list settings[] = {
|
||||||
EQ_GAIN_STEP, db_format, NULL, NULL),
|
EQ_GAIN_STEP, db_format, NULL, NULL),
|
||||||
|
|
||||||
/* dithering */
|
/* dithering */
|
||||||
OFFON_SETTING(0, dithering_enabled, LANG_DITHERING,
|
OFFON_SETTING(F_SOUNDSETTING, dithering_enabled, LANG_DITHERING,
|
||||||
false, "dithering enabled", dsp_dither_enable),
|
false, "dithering enabled", dsp_dither_enable),
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_WM8758
|
#ifdef HAVE_WM8758
|
||||||
|
|
|
@ -105,6 +105,7 @@ struct table_setting {
|
||||||
#define F_THEMESETTING 0x0800000
|
#define F_THEMESETTING 0x0800000
|
||||||
#define F_RECSETTING 0x1000000
|
#define F_RECSETTING 0x1000000
|
||||||
#define F_EQSETTING 0x2000000
|
#define F_EQSETTING 0x2000000
|
||||||
|
#define F_SOUNDSETTING 0x4000000
|
||||||
|
|
||||||
#define F_NVRAM_BYTES_MASK 0xE0000 /*0-4 bytes can be stored */
|
#define F_NVRAM_BYTES_MASK 0xE0000 /*0-4 bytes can be stored */
|
||||||
#define F_NVRAM_MASK_SHIFT 17
|
#define F_NVRAM_MASK_SHIFT 17
|
||||||
|
@ -119,7 +120,7 @@ struct table_setting {
|
||||||
#define F_NO_WRAP 0x1000 /* used if the list should not wrap */
|
#define F_NO_WRAP 0x1000 /* used if the list should not wrap */
|
||||||
|
|
||||||
struct settings_list {
|
struct settings_list {
|
||||||
uint32_t flags; /* ____ ___R TFFF NNN_ _ATW PTVC IFRB STTT */
|
uint32_t flags; /* ____ _SER TFFF NNN_ _ATW PTVC IFRB STTT */
|
||||||
void *setting;
|
void *setting;
|
||||||
int lang_id; /* -1 for none */
|
int lang_id; /* -1 for none */
|
||||||
union storage_type default_val;
|
union storage_type default_val;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue