FS#11178 - Bookmarks can store optional tokens w/o breaking backward compatibility - Add pitch and timestretch

Attached to Project: Rockbox
Opened by Jeffrey Goode (Blue_Dude) - Tuesday, 06 April 2010, 01:33 GMT
Last edited by Jeffrey Goode (Blue_Dude) - Saturday, 10 April 2010, 21:18 GMT
Task Type Patches
Category Music playback
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version Release 3.4
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Added capability to parse bookmarks that may contain optional tokens. Can also parse any version of bookmark so that backward compatibility is always maintained (mix and match at will).

As a demo (and to add as a permanent feature), this patch adds pitch and timestretch tokens to bookmarks and applies their settings when played back.
This task depends upon

Closed by  Jeffrey Goode (Blue_Dude)
Saturday, 10 April 2010, 21:18 GMT
Reason for closing:  Accepted
Additional comments about closing:  Committed in r25576
Comment by Jeffrey Goode (Blue_Dude) - Wednesday, 07 April 2010, 02:54 GMT
Synced to r25504. Retains new pitchscreen tokens, but eliminates deprecated token in old bookmark format.
Comment by Jeffrey Goode (Blue_Dude) - Thursday, 08 April 2010, 01:31 GMT
Removes all flags except for optional tokens. Cleaner code.
Comment by Alexander Levin (fml2) - Thursday, 08 April 2010, 19:10 GMT
I have not tried out the patch (can't comple right now) but I don't like the cryptic names F_PIT_RAT and F_TIM_STR. We're not developing a CPU here! :-)
Comment by Jeffrey Goode (Blue_Dude) - Thursday, 08 April 2010, 19:23 GMT
The flag names are a holdover from a much larger list. I'll make them more human friendly.
Comment by Jeffrey Goode (Blue_Dude) - Thursday, 08 April 2010, 21:29 GMT
Friendlier tags. Pitch and speed are preset to 100% (not current values) when playing a bookmark and the bookmark doesn't have pitch and speed values.
Comment by Alexander Levin (fml2) - Friday, 09 April 2010, 07:45 GMT
Why do I always read "TIMESTR" as "time string"? ;-)
Comment by Jeffrey Goode (Blue_Dude) - Saturday, 10 April 2010, 00:19 GMT
Code cleanup. "TIMESTR" is now "SPEED" ;-) Some variables renamed for clarity. Changed default behavior for legacy bookmarks back to *not* changing speed and pitch since that info is not specifically present. Changed the new bookmark format a bit: the id header string "bmark;" wasn't really needed; any non-digit would do. Now there's just a header character ">" to identify the new format.