added plasmaHHs patch that pimps the edge overlay feature in a major way
tadaa! major pimping of an already cool feature!
you can now SAVE and LOAD edge overlays! this was written by PlasmaHH (shy guy, only in irc )
Yes, you read it right:
- save an edge overlay: create an overlay (enable overlay and press half-press) -> go to overlay menu and press save
- load an overlay (go to menu and choose an *.edg file)
- create overlays from jpgs in playmode! (only works on cameras that have a "hardware" switch of play/recmode for now, because on for example s3is halfpressing the shutter activates rec mode!
- free memory by using the item in the edge menu (also you should disable edge-overlay)
changes / enhancements to the mod by me:
- together with the edge overlay the zoom setting is saved, so when you load the file after one year it zooms to the position your camera had when you shot it!
- added the option so that an edge overlay is "locked", meaning the edgeoverlay you loaded or just created is not overwritten in the osd at half-press (this checkbox is overwritten on each camera startup... no big deal, but i dont like it like that right now)
This is a really great feature (for example for LONG-TERM TIMELAPSES, or stop-motion movies, or vertigo-effect, or stereography... the list is endless )
* restructured the root menu (put imo the most often used items to the top, moved edge overlay from OSD menu to the root menu, moved remote params menu to the misc menu)
because of this new feature and all the new cams i upped the version to 0.8.0 already...
P.S: had to rewrite some of PlasmaHHs stuff (e.g. write -> fwrite), i hope i did everything correctly (it's working flawlessly on s3is and a620)
two bugs i noticed:
when saving overlays when you havent saved an image before, the overlays all have the wrong time & date (no big deal) - does this also happen on dryos cameras?
one issue i couldnt fix so far: when you load an edge overlay and also set the zoom - the camera doesnt notice that you set the zoom. so when you zoom from position 0 to position max, camera thinks that you still are at 0 - so you can not press the zoom OUT button - if you have to first press zoom in to be able to zoom out again (by zooming in i mean zoom to the max, by zooming out i mean zoom to 0). this also happens when you use zoom in script by the way.
now i dont know if this camera related or chdk code related. we could overcome this, if in set_zoom we actually press one of the zoom buttons, so camera "resets" it's internal "zoomsensor".
edit: got a report from hacki that on his dryos sx100 this feature isnt working at all, he can neither save edgeoverlays (they arent created in the filesystem) nor load them (he still had one from my previous test builds with write instead of fwrite). hm, so what does that mean? need more testers. dryos preferred.
edit2: after some research we have found out that it DOES work in dryos. however, the routine that "calculates" the filename for the *.edg file reports back wrong numbers, which causes the effect that all edgs in dryos are saved as edge_0001.edg, instead of increasing.
making the filename smaller to for example edg0001.edg doesnt fix this. i suspect the problem being in
/trunk/core/edgeoverlay.c - chdk - Trac in the function get_edge_file_num , something dryos specific.