• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category User Interface
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by sdoyon - 2006-10-25
Last edited by sdoyon - 2008-07-15

FS#6240 - Improved voice feedback in bookmark selection

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.

Closed by  sdoyon
2008-07-15 16:21
Reason for closing:  Accepted

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.

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.)


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

Ok this is an update Stephane gave me.
Anyway here is the patch. Not sure what other patches it requires. Maybe Stephane can comment.

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.

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

Oops, I appear to have uploaded the wrong version.
Here it is.

Sync’ed with recent gui_synclist_do_button change.
The UNIT_TIME functionality which this patch requires is now in P#7798.

Sync up.

Remaining dependency: talk_file in P#6323, which itself depends on P#6239.

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

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.


Available keyboard shortcuts


Task Details

Task Editing