FS#7904 - Disable shut down on Rockpaint for iPod & Suggestions

Attached to Project: Rockbox
Opened by Mark (Xebozone) - Monday, 08 October 2007, 09:22 GMT
Task Type Bugs
Category Applications
Status Unconfirmed
Assigned To No-one
Operating System iPod 5G
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


Holding the Pause button (to move/paint down) will shut down rockbox.

This shutdown combination should be disabled for Rockpaint!

While I'm at it (and you can put this in a different Flyspray if you want), I suggest that we make use of the iPod scrollwheel somehow in Rockpaint, maybe to change the size or shape of the brush or something and/or in the menus.

I would also like to be able to set the colour of the background to start with.
This task depends upon

Comment by Mark (Xebozone) - Thursday, 05 June 2008, 10:12 GMT
This problem may be easy to fix.
Has anyone done anything about it?
Comment by Russel Kubes (RusselKubes) - Wednesday, 11 January 2012, 05:27 GMT
Here is a quick fix. Instead of focusing just on iPods, it addresses any player with a Software Poweroff button. Although, it could easily be adapted to only be applied when the plugin is running on a target which has a Software Poweroff button that the plugin expects the user to hold for extended periods of time. I'd like to get some opinions first, as this is my first patch for Rockbox (that I recall); I didn't want to get too involved if something is seriously wrong.

Basically it works by adding a function to the Button Driver, and a pointer to it in the plugin API. Calling button_delay_sw_poweroff(true) greatly increases the time the user must hold the Poweroff button before the player shuts down. The delay is removed with a subsequent call to button_delay_sw_poweroff(false).

Normally, the user must hold it for 3 seconds; but if it is held for at least 30 seconds, Rockbox attempts to force the player off.
With the patch, if the SW Poweroff is delayed, the user must hold it for 30 seconds (plenty of time to move the brush), or for 120 seconds to have Rockbox attempt to force the player off.

Also note that this bug does not apply just to Rockpaint, but other plugins as well. I added the fix to Pong in this patch as well. I don't use a lot of the plugins, so I'm not sure if there are any others which may be affected.

I specifically went with adding a temporary delay, rather than temporarily disabling the SW Poweroff, as a safety net.