Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: voice UI: does not speak initially selected option

voice UI: does not speak initially selected option

From: James Teh <jamie_at_jantrid.net>
Date: 2006-02-13

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 moves
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))
{
    ...
    gui_syncselect_draw(&select);
    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?

Jamie

-- 
James Teh
Email: jamie@jantrid.net
WWW: http://www.jantrid.net/jamie/
MSN Messenger: jamie@jantrid.net
Jabber: jteh@jabber.org
Yahoo: jcs_teh
Received on Mon Feb 13 05:11:16 2006

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