This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#5594 - Ipod scroll acceleration patch
Attached to Project:
Rockbox
Opened by Thomas Paul Diffenbach (tpdiffenbach) - Saturday, 24 June 2006, 17:55 GMT+2
Last edited by Nicolas Pennequin (nicolas_p) - Friday, 12 October 2007, 00:46 GMT+2
Opened by Thomas Paul Diffenbach (tpdiffenbach) - Saturday, 24 June 2006, 17:55 GMT+2
Last edited by Nicolas Pennequin (nicolas_p) - Friday, 12 October 2007, 00:46 GMT+2
|
DetailsThis patch adds ipod scroll acceleration, as explained here: http://forums.rockbox.org/index.php?topic=4973.0
In addition, it displays the scroll acceleration factor (0-3) and the clicks per second (96 clicks in 360 degrees) on the statusbar. In addition, because I'm too lazy to remove it, it incorporates the list scrolling optimization, described here: http://forums.rockbox.org/index.php?topic=4998.0 |
This task depends upon
Closed by Nicolas Pennequin (nicolas_p)
Friday, 12 October 2007, 00:46 GMT+2
Reason for closing: Out of Date
Additional comments about closing: Superceded by FS#7738
Friday, 12 October 2007, 00:46 GMT+2
Reason for closing: Out of Date
Additional comments about closing: Superceded by
Thanks,
Larry
Larry
Thanks,
Larry
This has just been a copy/paste job, but seems to work.
Removed the list optimisations due to changes to the list code.
button-clickwheel.c is a bit of a mess (indentation wise), and no idea if the wheel position code still works...
Changed the default values, so it's not quite as twitchy.
Some whitespace clean-up.
"I was thinking about going to a double scroll after one full rotation, a quad scroll two full rotations after that and possibly an eight scroll two full rotations after that."
This wouldn't be a good approach. It's not the number of rotations that matter -- it's the SPEED of movement on the wheel that should determine the speed. If you're scrolling slowly through a list to look at the titles, you don't want it to suddenely go faster just because you completed more than one rotation -- you need to be able to maintain a slow speed if you desire. With slow movement on the wheel, you want the scroll speed to stay the same. It's when you actually rotate FASTER on the wheel that you want the scroll speed to increase.
PS. Thanks for working in this.
I think that is kind of the ideal of Rockbox, more configuration. I think it would be kind of against the larger principle to have them not configurable. I personally do find they need to be configurable- everyone's used to different things.
I agree that Rockbox should offer lots of configuration, but there is a point of diminishing returns. At some point, more configuration options start to make the system overly complex, which has a negative effect.
target/arm/ipod/button-clickwheel.c: In function 'ipod_4_g_button_read':
target/arm/ipod/button-clickwheel.c:184 passing argument 3 of 'queue_p' makes integer from pointer without a cast
ipod_scroll_wheel_gui.c:93: warning: return type defaults to 'int'
It shows a warning when compiling but it still works.
target/arm/ipod/button-clickwheel.c: In function ‘ipod_4g_button_read’:
target/arm/ipod/button-clickwheel.c:202: warning: passing argument 3 of ‘queue_post’ makes integer from pointer without a cast
Testing on 30GB 5.5G :p
filetypes.c: In function ‘read_viewer_theme_file’:
filetypes.c:152: error: ‘struct user_settings’ has no member named ‘viewers_icon_file’
make[1]: *** [/home/g-force/Rockbox/enviro/rockbox-bleeding1/test/apps/filetypes.o] Error 1
make: *** [build] Error 2
settings.h:729: error: syntax error before ‘}’ token
I'll try sync it
Second, the damned thing is still too choppy, but there's a simple fix that (I think!) makes it less choppy, which I've documented here: http://forums.rockbox.org/index.php?topic=10287.0
Anyone who can (unlike me) actually /do/ a build that proves the change compiles is welcome to post an updated version here. Anyone who actually wants to add menu and settings code to make in user configurable, that would be absolutely brilliant.
In my opinion this is one of the most important patches for the iPod, so could anybody with sufficient knowledge please try to sync it. I think a lot of rockbox users who don't have this knowledge (like me) would really appreciate it.
int nb_lines;
if (use_custom_list) {
nb_lines = global_settings.listlines;
} else {
nb_lines = lists->gui_list[screen].display->nb_lines;
}[/code]From what I can tell by having to add that this patch never worked properly with a custom list. Now it does.
Small flaw: The default speeds are too high in my opinion.
FS#7738.Thanks,
Andree