• Status Unconfirmed
  • Percent Complete
  • Task Type Patches
  • Category Plugins
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by DerPapst - 2008-04-25
Last edited by kugel. - 2009-12-29

FS#8934 - Colourful flashlight/lamp

After reading the irc log shortly after the flashlight plugin was committed i noticed that some want the ability back to finetune the colour of the display. This time i’ve added a fixed point version of the hsv_to_lcd version (thanks to amiconn) and added some more predefined colours. You can “skip” forwards or backwards to the nearest predefined colour (however, it’s probably not the nicest way of doing it i guess).

I’ve also implemented another request to switch the backlight on and off (even for non colour targets) and it now uses the remote backlight too.

Targets with a 4 button cross:
Up/Down: fine tune
Left/Right: jump to next predefined colours (including white)
Select: switch backlight on and off

Targets with scroll wheel:
Scroll left/right: fine tune
Left/right or fwd/rew: jump to next predefined colours (including white)
Select: switch backlight on and off

I’ve tried to guess the most intuitive button layout on all targets and even use the remote buttons. However i only own a small number of targets so if you think it can be done better let me know. :-)

Tested on iPod Video, Mini (sim), H300 (sim) and m:robe 100.

jeton commented on 2008-04-25 10:07

One feature that's specific for the Sansa e200 series would be to also turn on the blue wheel light, since i always have it off (i presume other users also). So with the brightness set to max and the wheel light on, it really becomes a flashlight.

* Added missing Keypad (Ondio)
* Added support for buttonlights and (where available) setting the buttonlight to max brightness (gigabeat f for example)

If you can explain me the need of being able to turn the backlight of, I'll by chance like it.

Don't know. It was a feature request in IRC and i thought i can't hurt.

* Make sure the plugin quits if USB is connected.

fml2 commented on 2008-04-25 19:57

@kugel: the need is very easily explained. The plugin should work like a real flashlight which you usually can turn on and off.

@DerPapst: shoudn't the plugin return a special value (and not just PLUGIN_OK) if USB has been detected?

That's why you can exit the plugin with like every button (except the one to change the color of course).

BTW: Does a real flashlight offer some fancy color spectacle? I don't think so.

fml2 commented on 2008-04-25 21:41
That's why you can exit the plugin with like every button

…and then having the problem to start it again (with another button). A real flashlight does not usually have fancy colors but this not related to the ability to turn it on/off.

Let me get this right. Without this the ability to turn the backlight off, you exit the plugin with select and (re-)start it with select (select button in most cases). With the ability you do turn the backlight on and off.

I don't see any difference. Isn't exiting the plugin the same as turning the flashlight off?

Ok, the only difference is, that in one case the backlight is off, and in the other the menu shows up. Looks like a big deal.

I had some discussions with other users about flashlight before i implemented this whole stuff. Someone preferred one button to quit the plugin instead of any undefined one since one might press it accidentally.
Also i don't quiet get what the problem is with turning the backlight on and off in flashlight. It's not like that it hurts somebody. If you don't like it, don't use it and quit the plugin instead of using this feature. Also one could argue that if you quit the plugin the backlight (and button light) isn't instantly off. But whatever. I didn't expect so much emotions because of such a small plugin :-)

* return PLUGIN_USB_CONNECTED if usb is connected.

fml2 commented on 2008-04-26 06:32

@DerPapst: quality control passed … almost :-) Just one question. Is it ok to call "rb→default_event_handler(button)" twice? (It gets called twice in case of USB.)

fml2 commented on 2008-04-26 06:39

Attached is a patch improving that (hoefully).

fml2 commented on 2008-04-26 06:40

*hopefully :-)

I think it is OK to call the default_event_handler twice. It at least worked OK in my tests. I think either version is fine :-)

Sync to svn r17262

* Follow the HAVE_TOUCHPAD introduced in r17262.

Oops… :-)

This patch only implements the request of Jeton (button light) since i think this is still a good idea.

petur commented on 2008-05-08 21:34

lamp_01 committed, feel free to resync the previous patch…

resync to r17428.

note to self: don't do that kind of stuff at 3:30am.
kill a warning.

Sync to r17527

hmm… I thought this plugin was nifty… However, it is now broken aka.. Hunk error? is it possible to fix this plugin, please?

The flashlight was committed as the lamp(.rock) plugin. You should find it on your player.
The color part is not committed. The lamp plugin shows red though on a certain keypress.

yeahhh thanx… i just liked the different colors, thats all… lol

the whole turn the light on/off thing is kind of pointless, and in some cases (sansa c200/e200) redundant, as the hold/lock switch can trigger a backlight fade, and the color spectacle.. i do believe their sold… somewhere… maybe called party light, or disco cannon/laser light

Resync to r22429.

Sync to r23221.

Hello, I came frome which I opened, because I was searching only for "Lamp", not "Flashlight".
OK, as I see you also playing with the colors, but you removed the RGB values and applied HSV-values. What are theese (I guess not, the German Soccer Club *g*)?
How to apply theese patches? Do the depend on each other and have I to apply each of theese patches from the beginning or just the very last one?
Sorry for the neewbie questions, just started to contribute to such a huge project!
Regards, Marek

Hi Marek,
You apply patches using the patch command (e.g. patch -p0 < lamp_05.patch) after reverting your changes to lamp.c (svn revert apps/plugins/lamp.c). Usually only the last patch is needed from a task if not stated otherwise in the comment.
HSV (Hue, Saturation, Value) is just another colorsystem, where hue specifies the color. For more information see

Synced patch to r24120.
It's missing the additional keypad defines for PHILIPS_HDD1630_PAD, PHILIPS_SA9200_PAD, ONDAVX747_PAD, ONDAVX777_PAD, SAMSUNG_YH_PAD and thus would break the plugin for those players.

Just out of curiosity, is anyone of the committers interested in getting this committed or not?

Good morning,
ok, I was able to apply your patch V5 and it works also on my simulator for Sansa e200V1 also with this new color coordinate system, so my patch is now obsolete.
Let me allow please one question why is the HSV model better than RGB, or just for the sake of compatibility for different platforms?

No. HSV is better in this case because the colour is represented through an angle. So you only have to modify one value to always get a different colour with fill saturation and brightness and the colours are arranged spectrally.


Available keyboard shortcuts


Task Details

Task Editing