dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: RE: voice UI: does not speak initially selected option

RE: voice UI: does not speak initially selected option

From: Jonathan Mosen <>
Date: 2006-02-15

I don't have my H140 handy to verify this, but I seem to recall that if you
use the right arrow key to get into a list of choices, the highlighted
choice isn't spoken. However, if you press the navigation key in the middle,
it is.

The Minx, the Internet radio station that plays all the great love songs.
Jonathan Mosen
Blog, podcast and radio show:
Ph: +1-925-566-9265.
Mobile/SMS +1-806-252-6671

-----Original Message-----
From: James Teh []
Sent: Sunday, 12 February 2006 10:09 p.m.
To: rockbox list
Subject: voice UI: does not speak initially selected option

Hi all.

I suspect this is already known by many.
When using an option selection screen (such as in the settings menu), the
initially selected option is not spoken. For example, if one enters
menu->Playback->Repeat, no option is initially spoken. However, if one
through the options, they are spoken. The work around is to simply press up
and then down (or vice versa) to determine the initial selection, but this
is a little tedious.

I was snooping around the code and noticed that this should in fact be
happening. In set_option in settings.c: bool set_option(const char* string,
void* variable, enum optiontype type,
                const struct opt_items* options, int numoptions, void
(*function)(int)) {
    if (global_settings.talk_menu)
        talk_id(options[select.options.option].voice_id, true);

I noticed that options using unit values (such as Sound Settings->Volume) do
speak the initial setting. Looking at the code for talk_unit, I notice that
it always sets enqueue to false. I have no idea why setting enqueue to true
should fail for the voicing of the initial selection with set_option
(talk_unit successfully speaks the unit type with enqueue set to true, as it
should), but this seems to be the only difference I can spot. I am also
curious as to why enqueue is set to true for the voicing of the initial
selection with set_option anyway, as I would have thought one would want to
have the previous voicing shut up when entering an option selection. Am I
missing something?


James Teh
MSN Messenger:
Yahoo: jcs_teh
Received on Wed Feb 15 22:25:20 2006

Page was last modified "Jan 10 2012" The Rockbox Crew