CHDK 1.3.0 - GUI modeCHDK 1.3.0 has started with a list of internal stuff that is software elegant but maybe not offering much for the average user.
So I think it may be time to add a new "GUI" mode to CHDK. CHDK actually has a lot of graphical content, from the on-screen icons, through the histogram and edge overlay functions. But they are not really interactive. And much of CHDK set-up and operation - especially as it relates to overrides - can only be done via a menu system that would have worked on a PDP-8 back in 1977.
What I have in mind is an additional optional mode you can use when you are in <ALT> - sort of an interactive version of the CHDK OSD - not a complete menu rewrite. It is launched the same way as the CHDK User Menu's "on direct" mode - i.e. when the GUI mode is enabled, it activates when the <ALT> key is pressed. Pressing the Menu key in GUI mode gets you back to the regular CHDK menu. Disable the GUI from the CHDK menu and you are back to the current setup again.
So what does it get you?
Initially I'm thinking that we need a GUI mode for controlling exposure. CHDK is about photography yet the current system does not allow an easy way to override exposure while shooting. On top end Canon P&S cameras, this feature is available from the Canon GUI. But on most PowerShots it is not. And one little understood secret of CHDK is that when you override Tv (for example), the Canon firmware will not adjust the Sv or Av setting to take into account the new Tv value. We could fix that in GUI mode.
I've prototyped an example of what I'm thinking about in Lua (code attached). When activated, you use the left and right direction keys to go between fields and the up and down arrow keys to change the value in the field. In theory you use this to set exposure in Tv or Av priority mode, or fully manually and then press the shutter to half-shoot and read brightness or full shoot to take a picture using the settings you dialed in. Normal Canon key usage is disabled in GUI mode.
As you can see in the screen shots you can scroll between Tv, Av, and Sv settings. The Mode field lets you chose Program mode, Tv priority, Av priority, or 100% Manual. The Lua demo script shows some of the potential interactions if you try changing setting in Tv or Av priority mode. Obviously a cool graphic exposure meter, needle, dial to indicate Bv and/or exposure offset would be a nice addition.
Missing from the Lua demo (and why I think we need to add this to core CHDK) is the ability to half-press and full-press the shutter button and have that work with the dialed in Tv, Av & Sv values. I could have augmented the demo script with exposure calculations, used the Func/Set button to shoot and DISP to half-shoot. But that's really awkward. And having this built-in for the novice user is a big plus - no script to load and run, plus instant activation when then <ALT> key is pressed.
Another GUI mode could be manual focus adjust screen - with hyperfocal info displayed too. Use the DISP button to change between GUI screens - we will probably only think up a couple of them.
If I don't get any interest here, I'll probably just plug along with doing the patch in C myself. Lots of questions will come up on how this should work. ND filter? No adjustable iris? ISO auto mode? All interesting with several possible solutions.
Sometimes people have to try something out to see the advantages - but then that's why I did the Lua demo.