mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-13 18:17:39 -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"
|
||||
</voice>
|
||||
</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);
|
||||
MENUITEM_FUNCTION(save_theme_item, MENU_FUNC_USEPARAM, ID2P(LANG_SAVE_THEME),
|
||||
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),
|
||||
reset_settings, NULL, NULL, Icon_NOICON);
|
||||
|
||||
MAKE_MENU(manage_settings, ID2P(LANG_MANAGE_MENU), NULL, Icon_Config,
|
||||
&browse_configs, &reset_settings_item,
|
||||
&save_settings_item, &save_theme_item);
|
||||
&save_settings_item, &save_sound_item, &save_theme_item);
|
||||
/* MANAGE SETTINGS MENU */
|
||||
/**********************************/
|
||||
|
||||
|
|
|
@ -469,6 +469,9 @@ static bool settings_write_config(char* filename, int options)
|
|||
if ((options == SETTINGS_SAVE_CHANGED) &&
|
||||
!is_changed(i))
|
||||
continue;
|
||||
else if ((options == SETTINGS_SAVE_SOUND) &&
|
||||
((settings[i].flags&F_SOUNDSETTING) == 0))
|
||||
continue;
|
||||
else if ((options == SETTINGS_SAVE_THEME) &&
|
||||
((settings[i].flags&F_THEMESETTING) == 0))
|
||||
continue;
|
||||
|
@ -624,6 +627,7 @@ bool settings_save_config(int options)
|
|||
folder = EQS_DIR;
|
||||
break;
|
||||
#endif
|
||||
case SETTINGS_SAVE_SOUND:
|
||||
default:
|
||||
folder = ROCKBOX_DIR;
|
||||
}
|
||||
|
|
|
@ -204,6 +204,7 @@ enum {
|
|||
SETTINGS_SAVE_CHANGED = 0,
|
||||
SETTINGS_SAVE_ALL,
|
||||
SETTINGS_SAVE_THEME,
|
||||
SETTINGS_SAVE_SOUND,
|
||||
#ifdef HAVE_RECORDING
|
||||
SETTINGS_SAVE_RECPRESETS,
|
||||
#endif
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
|
||||
/* Use for int settings which use the set_sound() function to set them */
|
||||
#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, \
|
||||
{.sound_setting=(struct sound_setting[]){{setting}}} }
|
||||
|
||||
|
@ -331,20 +331,21 @@ const struct settings_list settings[] = {
|
|||
|
||||
#if (CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)
|
||||
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,
|
||||
LANG_OFF,TALK_ID(20, UNIT_MS),TALK_ID(2, 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
|
||||
|
||||
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",
|
||||
sound_set_channels,
|
||||
6, ID2P(LANG_CHANNEL_STEREO), ID2P(LANG_CHANNEL_MONO),
|
||||
ID2P(LANG_CHANNEL_CUSTOM), ID2P(LANG_CHANNEL_LEFT),
|
||||
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),
|
||||
/* playback */
|
||||
OFFON_SETTING(0, playlist_shuffle, LANG_SHUFFLE, false, "shuffle", NULL),
|
||||
|
@ -679,19 +680,19 @@ const struct settings_list settings[] = {
|
|||
#endif /* HAVE_RECORDING */
|
||||
#endif /* HAVE_LCD_BITMAP */
|
||||
#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),
|
||||
SOUND_SETTING(0, mdb_harmonics, LANG_MDB_HARMONICS,
|
||||
SOUND_SETTING(F_SOUNDSETTING, mdb_harmonics, LANG_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),
|
||||
SOUND_SETTING(0, mdb_shape, LANG_MDB_SHAPE,
|
||||
SOUND_SETTING(F_SOUNDSETTING, mdb_shape, LANG_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),
|
||||
#endif
|
||||
#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
|
||||
/* voice */
|
||||
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 */
|
||||
|
||||
#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),
|
||||
#endif
|
||||
CHOICE_SETTING(0, next_folder, LANG_NEXT_FOLDER, FOLDER_ADVANCE_OFF,
|
||||
|
@ -855,13 +856,13 @@ const struct settings_list settings[] = {
|
|||
|
||||
#if CONFIG_CODEC == SWCODEC
|
||||
/* replay gain */
|
||||
OFFON_SETTING(0, replaygain, LANG_REPLAYGAIN_ENABLE, false, "replaygain", NULL),
|
||||
CHOICE_SETTING(0, replaygain_type, LANG_REPLAYGAIN_MODE, REPLAYGAIN_ALBUM,
|
||||
OFFON_SETTING(F_SOUNDSETTING, replaygain, LANG_REPLAYGAIN_ENABLE, false, "replaygain", NULL),
|
||||
CHOICE_SETTING(F_SOUNDSETTING, replaygain_type, LANG_REPLAYGAIN_MODE, REPLAYGAIN_ALBUM,
|
||||
"replaygain type", "track,album,track shuffle", NULL, 3,
|
||||
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),
|
||||
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),
|
||||
|
||||
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)),
|
||||
|
||||
/* 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,
|
||||
ID2P(LANG_OFF), ID2P(LANG_SHUFFLE), ID2P(LANG_TRACKSKIP),
|
||||
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),
|
||||
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),
|
||||
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),
|
||||
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),
|
||||
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,
|
||||
ID2P(LANG_CROSSFADE), ID2P(LANG_MIX)),
|
||||
|
||||
/* crossfeed */
|
||||
OFFON_SETTING(0,crossfeed, LANG_CROSSFEED, false,
|
||||
OFFON_SETTING(F_SOUNDSETTING, crossfeed, LANG_CROSSFEED, false,
|
||||
"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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
NULL, NULL, crossfeed_cross_set),
|
||||
|
||||
|
@ -957,7 +958,7 @@ const struct settings_list settings[] = {
|
|||
EQ_GAIN_STEP, db_format, NULL, NULL),
|
||||
|
||||
/* dithering */
|
||||
OFFON_SETTING(0, dithering_enabled, LANG_DITHERING,
|
||||
OFFON_SETTING(F_SOUNDSETTING, dithering_enabled, LANG_DITHERING,
|
||||
false, "dithering enabled", dsp_dither_enable),
|
||||
#endif
|
||||
#ifdef HAVE_WM8758
|
||||
|
|
|
@ -105,6 +105,7 @@ struct table_setting {
|
|||
#define F_THEMESETTING 0x0800000
|
||||
#define F_RECSETTING 0x1000000
|
||||
#define F_EQSETTING 0x2000000
|
||||
#define F_SOUNDSETTING 0x4000000
|
||||
|
||||
#define F_NVRAM_BYTES_MASK 0xE0000 /*0-4 bytes can be stored */
|
||||
#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 */
|
||||
|
||||
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;
|
||||
int lang_id; /* -1 for none */
|
||||
union storage_type default_val;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue