plugins trade talk_value for talk_value_decimal

talk_value is just talk_value_decimal with 0 decimals

lets add the extended function instead

static inline int talk_val(long n, int unit, bool enqueue)
{
    #define NODECIMALS 0
    return rb->talk_value_decimal(n, unit, NODECIMALS, enqueue);
}

Change-Id: Iaba3d2f95785f2e1855e294ccf099a977bb6cb20
This commit is contained in:
William Wilgus 2021-08-18 01:23:26 -04:00 committed by William Wilgus
parent 4cbb5b4201
commit 24e8fa317e
6 changed files with 24 additions and 13 deletions

View file

@ -439,7 +439,7 @@ static const struct plugin_api rockbox_api = {
talk_file_or_spell,
talk_dir_or_spell,
talk_number,
talk_value,
talk_value_decimal,
talk_spell,
talk_time,
talk_date,

View file

@ -495,7 +495,7 @@ struct plugin_api {
int (*talk_dir_or_spell)(const char* filename,
const long *prefix_ids, bool enqueue);
int (*talk_number)(long n, bool enqueue);
int (*talk_value)(long n, int unit, bool enqueue);
int (*talk_value_decimal)(long n, int unit, int decimals, bool enqueue);
int (*talk_spell)(const char* spell, bool enqueue);
void (*talk_time)(const struct tm *tm, bool enqueue);
void (*talk_date)(const struct tm *tm, bool enqueue);

View file

@ -185,6 +185,11 @@ static void config_reset_voice(void)
}
/****************** helper fuctions ******************/
static inline int talk_val(long n, int unit, bool enqueue)
{
#define NODECIMALS 0
return rb->talk_value_decimal(n, unit, NODECIMALS, enqueue);
}
void announce(void)
{
@ -658,7 +663,7 @@ static unsigned char* voice_info_group(unsigned char* current_token, bool testin
if (current_char == 'T')
{
runtime = rb->global_status->runtime;
rb->talk_value(runtime, UNIT_TIME, true);
talk_val(runtime, UNIT_TIME, true);
}
/* prefix suffix connectives */
else if (current_char == '1')
@ -669,7 +674,7 @@ static unsigned char* voice_info_group(unsigned char* current_token, bool testin
{
if (current_char == 'S')
{
rb->talk_value(sleep_remaining, UNIT_TIME, true);
talk_val(sleep_remaining, UNIT_TIME, true);
}
/* prefix suffix connectives */
else if (current_char == '2')
@ -704,15 +709,15 @@ static unsigned char* voice_info_group(unsigned char* current_token, bool testin
if (current_char == 'E')
{
rb->talk_value(elapsed_length, UNIT_TIME, true);
talk_val(elapsed_length, UNIT_TIME, true);
}
else if (current_char == 'L')
{
rb->talk_value(track_length, UNIT_TIME, true);
talk_val(track_length, UNIT_TIME, true);
}
else if (current_char == 'R')
{
rb->talk_value(track_remaining, UNIT_TIME, true);
talk_val(track_remaining, UNIT_TIME, true);
}
else if (current_char == 'T' && id3->title)
{
@ -797,11 +802,11 @@ static unsigned char* voice_info_group(unsigned char* current_token, bool testin
if (current_char == 'P')
{
rb->talk_value(rb->battery_level(), UNIT_PERCENT, true);
talk_val(rb->battery_level(), UNIT_PERCENT, true);
}
else if (current_char == 'M')
{
rb->talk_value(rb->battery_time() * 60, UNIT_TIME, true);
talk_val(rb->battery_time() * 60, UNIT_TIME, true);
}
/* prefix suffix connectives */
else if (current_char == '1')

View file

@ -470,6 +470,12 @@ static bool mpeg_set_int(const char *string, const char *unit,
return usb;
}
static inline int talk_val(long n, int unit, bool enqueue)
{
#define NODECIMALS 0
return rb->talk_value_decimal(n, unit, NODECIMALS, enqueue);
}
static int32_t backlight_brightness_getlang(int value, int unit)
{
if (value < 0)
@ -988,8 +994,8 @@ static int get_start_time(uint32_t duration)
mpegplayer_iram_preserve();
#endif
rb->talk_disable(false);
rb->talk_value(resume_time / TS_SECOND, UNIT_TIME, false);
rb->talk_value(resume_time * 100 / duration, UNIT_PERCENT, true);
talk_val(resume_time / TS_SECOND, UNIT_TIME, false);
talk_val(resume_time * 100 / duration, UNIT_PERCENT, true);
}
sliding = false;
}

View file

@ -334,7 +334,7 @@ static int speak_property_selection(int selected_item, void *data)
rb->talk_time(&tm, true);
break;
case LANG_PROPERTIES_DURATION:
rb->talk_value(nseconds, UNIT_TIME, true);
rb->talk_value_decimal(nseconds, UNIT_TIME, 0, true);
break;
case LANG_PROPERTIES_SUBDIRS:
rb->talk_number(dps->dc, true);

View file

@ -37,7 +37,7 @@ static void xingupdate(int percent)
long now = *(rb->current_tick) / HZ;
if (now - last_talk >= 5)
{
rb->talk_value(percent, UNIT_PERCENT, false);
rb->talk_value_decimal(percent, UNIT_PERCENT, 0, false);
last_talk = now;
}
}