mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-10 05:32:40 -05:00
make int_setting step & unit int16_t
since int_setting is the largest struct in the union of settings saving 32 bytes adds up over every setting frees ~200 bytes Change-Id: Id4722262e40db3021c740e138fe7352be10e2c70
This commit is contained in:
parent
b7603adc64
commit
0661784469
5 changed files with 38 additions and 23 deletions
|
|
@ -154,9 +154,9 @@ static int32_t get_dec_talkid(int value, int unit)
|
||||||
static const struct int_setting gain_int_setting = {
|
static const struct int_setting gain_int_setting = {
|
||||||
.option_callback = NULL,
|
.option_callback = NULL,
|
||||||
.unit = UNIT_DB,
|
.unit = UNIT_DB,
|
||||||
|
.step = EQ_GAIN_STEP,
|
||||||
.min = EQ_GAIN_MIN,
|
.min = EQ_GAIN_MIN,
|
||||||
.max = EQ_GAIN_MAX,
|
.max = EQ_GAIN_MAX,
|
||||||
.step = EQ_GAIN_STEP,
|
|
||||||
.formatter = db_format,
|
.formatter = db_format,
|
||||||
.get_talk_id = get_dec_talkid,
|
.get_talk_id = get_dec_talkid,
|
||||||
};
|
};
|
||||||
|
|
@ -164,9 +164,9 @@ static const struct int_setting gain_int_setting = {
|
||||||
static const struct int_setting q_int_setting = {
|
static const struct int_setting q_int_setting = {
|
||||||
.option_callback = NULL,
|
.option_callback = NULL,
|
||||||
.unit = UNIT_INT,
|
.unit = UNIT_INT,
|
||||||
|
.step = EQ_Q_STEP,
|
||||||
.min = EQ_Q_MIN,
|
.min = EQ_Q_MIN,
|
||||||
.max = EQ_Q_MAX,
|
.max = EQ_Q_MAX,
|
||||||
.step = EQ_Q_STEP,
|
|
||||||
.formatter = eq_q_format,
|
.formatter = eq_q_format,
|
||||||
.get_talk_id = get_dec_talkid,
|
.get_talk_id = get_dec_talkid,
|
||||||
};
|
};
|
||||||
|
|
@ -174,9 +174,9 @@ static const struct int_setting q_int_setting = {
|
||||||
static const struct int_setting cutoff_int_setting = {
|
static const struct int_setting cutoff_int_setting = {
|
||||||
.option_callback = NULL,
|
.option_callback = NULL,
|
||||||
.unit = UNIT_HERTZ,
|
.unit = UNIT_HERTZ,
|
||||||
|
.step = EQ_CUTOFF_STEP,
|
||||||
.min = EQ_CUTOFF_MIN,
|
.min = EQ_CUTOFF_MIN,
|
||||||
.max = EQ_CUTOFF_MAX,
|
.max = EQ_CUTOFF_MAX,
|
||||||
.step = EQ_CUTOFF_STEP,
|
|
||||||
.formatter = NULL,
|
.formatter = NULL,
|
||||||
.get_talk_id = NULL,
|
.get_talk_id = NULL,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -54,13 +54,17 @@ static int volume_limit_callback(int action,
|
||||||
(void)this_list;
|
(void)this_list;
|
||||||
|
|
||||||
static struct int_setting volume_limit_int_setting;
|
static struct int_setting volume_limit_int_setting;
|
||||||
volume_limit_int_setting.option_callback = NULL;
|
|
||||||
volume_limit_int_setting.unit = UNIT_DB;
|
volume_limit_int_setting = (struct int_setting)
|
||||||
volume_limit_int_setting.min = sound_min(SOUND_VOLUME);
|
{
|
||||||
volume_limit_int_setting.max = sound_max(SOUND_VOLUME);
|
.option_callback = NULL,
|
||||||
volume_limit_int_setting.step = sound_steps(SOUND_VOLUME);
|
.unit = UNIT_DB,
|
||||||
volume_limit_int_setting.formatter = vol_limit_format;
|
.step = sound_steps(SOUND_VOLUME),
|
||||||
volume_limit_int_setting.get_talk_id = NULL;
|
.min = sound_min(SOUND_VOLUME),
|
||||||
|
.max = sound_max(SOUND_VOLUME),
|
||||||
|
.formatter = vol_limit_format,
|
||||||
|
.get_talk_id = NULL
|
||||||
|
};
|
||||||
|
|
||||||
struct settings_list setting;
|
struct settings_list setting;
|
||||||
setting.flags = F_BANFROMQS|F_INT_SETTING|F_T_INT|F_NO_WRAP;
|
setting.flags = F_BANFROMQS|F_INT_SETTING|F_T_INT|F_NO_WRAP;
|
||||||
|
|
|
||||||
|
|
@ -1180,9 +1180,14 @@ bool set_int_ex(const unsigned char* string,
|
||||||
{
|
{
|
||||||
(void)unit;
|
(void)unit;
|
||||||
struct settings_list item;
|
struct settings_list item;
|
||||||
struct int_setting data = {
|
const struct int_setting data = {
|
||||||
function, voice_unit, min, max, step,
|
.option_callback = function,
|
||||||
formatter, get_talk_id
|
.unit = voice_unit,
|
||||||
|
.step = step,
|
||||||
|
.min = min,
|
||||||
|
.max = max,
|
||||||
|
.formatter = formatter,
|
||||||
|
.get_talk_id = get_talk_id,
|
||||||
};
|
};
|
||||||
item.int_setting = &data;
|
item.int_setting = &data;
|
||||||
item.flags = F_INT_SETTING|F_T_INT;
|
item.flags = F_INT_SETTING|F_T_INT;
|
||||||
|
|
@ -1212,9 +1217,14 @@ bool set_option(const char* string, const void* variable, enum optiontype type,
|
||||||
{
|
{
|
||||||
int temp;
|
int temp;
|
||||||
struct settings_list item;
|
struct settings_list item;
|
||||||
struct int_setting data = {
|
const struct int_setting data = {
|
||||||
function, UNIT_INT, 0, numoptions-1, 1,
|
.option_callback = function,
|
||||||
set_option_formatter, set_option_get_talk_id
|
.unit = UNIT_INT,
|
||||||
|
.step = 1,
|
||||||
|
.min = 0,
|
||||||
|
.max = numoptions-1,
|
||||||
|
.formatter = set_option_formatter,
|
||||||
|
.get_talk_id = set_option_get_talk_id
|
||||||
};
|
};
|
||||||
memset(&item, 0, sizeof(struct settings_list));
|
memset(&item, 0, sizeof(struct settings_list));
|
||||||
set_option_options = options;
|
set_option_options = options;
|
||||||
|
|
|
||||||
|
|
@ -167,19 +167,19 @@
|
||||||
{flags|F_INT_SETTING|F_T_INT, &global_settings.var, \
|
{flags|F_INT_SETTING|F_T_INT, &global_settings.var, \
|
||||||
lang_id, INT(default), name, cfg_vals, \
|
lang_id, INT(default), name, cfg_vals, \
|
||||||
{.int_setting = (struct int_setting[]){ \
|
{.int_setting = (struct int_setting[]){ \
|
||||||
{cb, unit, min, max, step, formatter, get_talk_id}}}}
|
{cb, unit, step, min, max, formatter, get_talk_id}}}}
|
||||||
#define INT_SETTING(flags, var, lang_id, default, name, \
|
#define INT_SETTING(flags, var, lang_id, default, name, \
|
||||||
unit, min, max, step, formatter, get_talk_id, cb) \
|
unit, step, min, max, formatter, get_talk_id, cb) \
|
||||||
{flags|F_INT_SETTING|F_T_INT, &global_settings.var, \
|
{flags|F_INT_SETTING|F_T_INT, &global_settings.var, \
|
||||||
lang_id, INT(default), name, NULL, \
|
lang_id, INT(default), name, NULL, \
|
||||||
{.int_setting = (struct int_setting[]){ \
|
{.int_setting = (struct int_setting[]){ \
|
||||||
{cb, unit, min, max, step, formatter, get_talk_id}}}}
|
{cb, unit, step, min, max, formatter, get_talk_id}}}}
|
||||||
#define INT_SETTING_NOWRAP(flags, var, lang_id, default, name, \
|
#define INT_SETTING_NOWRAP(flags, var, lang_id, default, name, \
|
||||||
unit, min, max, step, formatter, get_talk_id, cb) \
|
unit, step, min, max, formatter, get_talk_id, cb) \
|
||||||
{flags|F_INT_SETTING|F_T_INT|F_NO_WRAP, &global_settings.var, \
|
{flags|F_INT_SETTING|F_T_INT|F_NO_WRAP, &global_settings.var, \
|
||||||
lang_id, INT(default), name, NULL, \
|
lang_id, INT(default), name, NULL, \
|
||||||
{.int_setting = (struct int_setting[]){ \
|
{.int_setting = (struct int_setting[]){ \
|
||||||
{cb, unit, min, max, step, formatter, get_talk_id}}}}
|
{cb, unit, step, min, max, formatter, get_talk_id}}}}
|
||||||
|
|
||||||
#define TABLE_SETTING(flags, var, lang_id, default, name, cfg_vals, \
|
#define TABLE_SETTING(flags, var, lang_id, default, name, cfg_vals, \
|
||||||
unit, formatter, get_talk_id, cb, count, ...) \
|
unit, formatter, get_talk_id, cb, count, ...) \
|
||||||
|
|
|
||||||
|
|
@ -69,10 +69,11 @@ struct filename_setting {
|
||||||
|
|
||||||
struct int_setting {
|
struct int_setting {
|
||||||
void (*option_callback)(int);
|
void (*option_callback)(int);
|
||||||
int unit;
|
int16_t unit;
|
||||||
|
int16_t step;
|
||||||
int min;
|
int min;
|
||||||
int max;
|
int max;
|
||||||
int step;
|
|
||||||
const char* (*formatter)(char*, size_t, int, const char*);
|
const char* (*formatter)(char*, size_t, int, const char*);
|
||||||
int32_t (*get_talk_id)(int, int);
|
int32_t (*get_talk_id)(int, int);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue