Attached is a small patch file that I believe cleans up a nagging issue with the OSD display.Currently, if the OSD Menu item "Show OSD" is set to disabled, the "animated" icons for battery, file space, USB remote and the clock will still display in <ALT> modes. This is particularly annoying if a script is running and requires each icon to be disabled individually in order to hide them.This fix add a quick check of conf.show_osd at the start of the osd_visible() routine. I've tested it in all the modes I could think but I don't have a touchscreen camera so need philmoz or someone to verify it does not break that interface.I also cleaned up the tabs / spacing in that routine
While this works, it also highlights that there are other things that are not consistent in the current display spaghetti.
Whether all of these should be disabled by conf.show_osd is not clear to me - some of them could be argued either way. Whether they should show in ALT mode is also debatable - e.g. why does the edge overlay display in ALT mode when you half press the shutter.
Quote from: philmoz on 05 / October / 2013, 19:36:14While this works, it also highlights that there are other things that are not consistent in the current display spaghetti.While I was looking into it, the term spaghetti was the kindest word I used. What's there is typical of something built over time by various programmers who added just enough functionality to get the features they needed working. Things get enabled & disabled in different parts of the code based on different conditional test and weird stuff "goes bump in the night". The patch I posted just fixes the one that currently bugs me the most.QuoteWhether all of these should be disabled by conf.show_osd is not clear to me - some of them could be argued either way. Whether they should show in ALT mode is also debatable - e.g. why does the edge overlay display in ALT mode when you half press the shutter.So what to do? Add the one or two things we seem to think we need now? Or do nothing and live without useful functionality that we know how to implement but can't stomach adding "as is"? Or do we seek a volunteer to clean up all the gui_xxxx.c code?
I don't have a problem with this patch for now; but I'm leaning towards the 'nuke from orbit' approach to the current code
Even when conf.show_osd is set to 0 the following OSD elements still display (in and out of ALT mode).- RAW state & counter- Edge state & overlay- Histogram- DOF calulator- Override state display (Tv, Av, ISO, etc)- Misc values- Grid overlayWhether all of these should be disabled by conf.show_osd is not clear to me - some of them could be argued either way. Whether they should show in ALT mode is also debatable - e.g. why does the edge overlay display in ALT mode when you half press the shutter.
Quote from: philmoz on 05 / October / 2013, 19:36:14Even when conf.show_osd is set to 0 the following OSD elements still display (in and out of ALT mode).- RAW state & counter- Edge state & overlay- Histogram- DOF calulator- Override state display (Tv, Av, ISO, etc)- Misc values- Grid overlayWhether all of these should be disabled by conf.show_osd is not clear to me - some of them could be argued either way. Whether they should show in ALT mode is also debatable - e.g. why does the edge overlay display in ALT mode when you half press the shutter.Not sure how we decide which of those (if any) to change, but if they are updated to call osd_visible() with the change to look at conf.show_osd , then there is a single routine to call and verify if the OSD is active or not. In other words, I would like to see the patch added to the trunk regardless of future plans to refactor the OSD stuff.
Initial patch to cleanup OSD code (for review).Should only be minor changes to the way the OSD works (more items controlled by conf.show_osd).
Quote from: philmoz on 16 / October / 2013, 22:17:08Initial patch to cleanup OSD code (for review).Should only be minor changes to the way the OSD works (more items controlled by conf.show_osd).Phew ... big patch file. I thrown my "thanks" into the mix right now.Doesn't seem to be any script changes - so far so good. Anything in particular you want us to look at - the patch file doesn't give me a great clue about what you were hoping for from a high level? Everything should work the same or something should be different? Update : okay - you comments say SSDD .. got it.I see you dug into the OSD items ... did you happen to add the debug data display to the OSD editor?
Started by m2tk General Discussion and Assistance
Started by hiker_jon General Discussion and Assistance
Started by buetts General Help and Assistance on using CHDK stable releases
Started by Alejandro General Discussion and Assistance
Started by pigeonhill General Help and Assistance on using CHDK stable releases