FS#6240 - Improved voice feedback in bookmark selection

Attached to Project: Rockbox
Opened by Stephane Doyon (sdoyon) - Wednesday, 25 October 2006, 06:01 GMT
Last edited by Stephane Doyon (sdoyon) - Tuesday, 15 July 2008, 16:21 GMT
Task Type Patches
Category User Interface
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Restructure the loop in select_bookmark() to prevent stuttering. On an
unrecognized button release, it would go around the loop, interrupt
itself and start saying the current bookmark entry again a second time.

If the bookmarks we are browsing are from the most-recent bookmark list,
then it's rather useful to know which directory or playlist each bookmark
is from. (Currently it says only the index of the bookmark in its
playlist and time offset, which isn't terribly helpful.) If the talk_dir
setting is talk mp3 clips then we speak the directory or playlist's
talk mp3 clip if any, otherwise we fall back to spelling. If talk_dir
says to spell then we go straight to spelling.

It then speaks the index and time as before.

Then it speaks the name of the file / track. Depending on settings it'll
try to find an talk mp3 clip for the file, falling back to spelling. If
this is a playlist however, it does not know the directory (it would need
to open the playlist...) so it just spells the filename.

Finally it'll speak the shuffle and repeat status if they are not set to

This patch relies on P#6239, as well as a fix for a voice playback
interruption issue which I'm in the process of working out with
pondlife's help.
This task depends upon

Closed by  Stephane Doyon (sdoyon)
Tuesday, 15 July 2008, 16:21 GMT
Reason for closing:  Accepted
Comment by Stephane Doyon (sdoyon) - Monday, 13 November 2006, 03:27 GMT
Simplified version that uses my talk_file infrastructure from P#6323.

Basically I found the code I had put here useful in other places and
made it generic.
Comment by Stephane Doyon (sdoyon) - Monday, 13 November 2006, 03:30 GMT
Here's the stupid attachment.
(My browser isn't smart enough not to send the form even when it
doesn't find the file to attach. Sorry about the clutter.)
Comment by Sofian Babai (sofianbabai) - Wednesday, 12 September 2007, 23:17 GMT

i'm blind and this kind of feature will be really awesome! we had such a feature before with rockbox on archos. Would it be possible to update the patch in order to make it applicable on a recent build? htanks in advance, i would really love to have this feature on my players
Comment by Daniel Dalton (ddalton) - Thursday, 13 September 2007, 07:51 GMT
Ok this is an update Stephane gave me.
Anyway here is the patch. Not sure what other patches it requires. Maybe Stephane can comment.
Comment by Stephane Doyon (sdoyon) - Thursday, 13 September 2007, 13:40 GMT
This depends on talk_file (which needs updating and depends on other patches),
and the talking list with callback patches (not posted yet).

I hope to get around to posting all that within a couple of days.
Comment by Stephane Doyon (sdoyon) - Friday, 14 September 2007, 04:10 GMT
Here's an update.

This patch uses functionality from:
-P7774: Voice callback for gui_synclist
-P6239: Lack of protection against reuse of p_thumbnail
-talk_file.diff patch from P6323
-The UNIT_TIME functionality from id3.diff from P6323.

And talk_file probably doesn't apply unless you also have:
-P7775: Use list voice callback in file browser
-P7653 Say file type
Comment by Stephane Doyon (sdoyon) - Friday, 14 September 2007, 04:18 GMT
Oops, I appear to have uploaded the wrong version.
Here it is.
Comment by Stephane Doyon (sdoyon) - Tuesday, 18 September 2007, 02:35 GMT
Sync'ed with recent gui_synclist_do_button change.
The UNIT_TIME functionality which this patch requires is now in P#7798.
Comment by Stephane Doyon (sdoyon) - Wednesday, 28 November 2007, 02:35 GMT
Sync up.

Remaining dependency: talk_file in P#6323, which itself depends on P#6239.
Comment by Stephane Doyon (sdoyon) - Wednesday, 28 November 2007, 03:22 GMT
For ease of testing, this is the combination of 6 patches:
talk-race, thumbnail-safe and multi-thumbnails from P#6239,
talk_file and playlist_catalog from P#6323,
and bookmark from this task.

I would particularly like to know whether the most recent bookmarks are
spoken properly on HWCODEC.

The two tricky things here:
-Ability to enqueue more than one thumbnail at a time,
-Enqueuing of voice clips and thumbnails together on HWCODEC.

Bookmark.c had the following comment which I'm simply ignoring:
/* disabled, because transition between talkbox and voice UI clip is not nice */
#if 0
So quite possibly there was a good reason for this, in which case I need
to find appropriate fallback behavior for HWCODEC.

To test this properly, you must create a bookmark while playing a
directory (as opposed to a playlist), and you must of course have
.talk clips for both the directory and the track.

It is suppose to say:
folder <>
index <number>
time <xx-minutes...>
file <>

I threw the playlist_catalog patch in there too since it also depends on
talk_file and I intend to commit it soon. It's much simpler though. I'd
still be happy for confirmation that it works properly, especially on
Comment by Stephane Doyon (sdoyon) - Monday, 05 May 2008, 02:48 GMT
Commit warning: I intend to commit this soon, along with  FS#8918  and
talk_file from  FS#6323  on which this depends.

I learned why HWCODEC should not enqueue voice file clips and .talk
thumbnails together: there is no guarantee that the mp3 parameters are
the same... So leave out speaking of directories and filenames for

Here's an updated patch.