Author Topic: Toggler Version 2  (Read 2385 times)


  • Contributor
  • Hero Member
  • *****
  • Posts: 1985
Toggler Version 2
« on: June 12, 2016, 09:29:19 AM »
First of all an apology for posting another Lua script, however, I do this so that others may benefit from my humble efforts. Either making use of my scripts or using my scripts to help them develop their own scripts.

This particular script is Version 2 of my Toggler script and you can find it here:

'All' the Toggler does is allow you to quickly switch between different ML menu states. In this version I simply switch between the following:
  • Off = The Toggler is active but all the Menu state are set off
  • ETTR
  • Dual-ISO
  • Auto Bracketing
  • FRSP
  • ISO

In this version I decided to increase the toggling functionality; thus this version of the Toggler works in the following way:

You can switch the Toggler totally off in the ML Menu (by default Toggler will be on, but you can change that behavior in the script, ie to always be off).

You can switch the Toggler's state, enabled or not, by using any button of your choice, eg RATE or PLAY. Note, once you decide on that button choice, then that button ceases to be accessible in its normal Canon mode. Thus I chose RATE on my 5D3 and PLAY on my 50D, as I don't use these buttons when taking images. Pushing this button will flip-flop the enabled state of Toggler, which allows you to use the multi function switch normally.

If you have enabled Toggler the multi function switch can now be controlled by the Toggler. Toggle left of right to move to the Menu state you wish and in some menu states, eg ISO, you can toggle up and down to increase or decrease ISO.

One thing to note is that there appears to be a ML backend 'thing going on', that I can't work out, but have reported. That is my 5D3 returns a different key press code to my 50D. I have accounted for that in the code.

As for workflow, that is up to you. I personally ETTR most of the time and adjust exposure from there.

If I'm bracketing I will meter for the shadows (using the ML Raw Ev meter) and then toggle to the Bracketing state, letting ML handle the highlight bracketing needs. Note that this is where you can use the enable button (RATE or PLAY for me). Thus I would toggle to auto bracketing, press the RATE button to disable Toggler so I can use the multi function controller to move the the metering position I wish to check.

If I want to capture a FRSP, I go to that menu state and the Toggler will tell me if I'm 'compliant' regarding shutter speed, ie Toggler will not let me take a FRSP outside the recognized range.

As for ISO, I simply toggle to that state and change the ISO with the multi functional controller (noting I can return to the Canon multi functional controller state by pressing RATE, say).

Bottom line: as usual I offer this post to help others as they learn about the power of ML Lua scripting; and, of course, I welcome feedback of any kind  :)

Final caveat: I am not a Lua power user, I'm still learning to program in Lua. Thus you use my scripts at your own risk and I've only been able to test the script on a 5D3 and 50D.


  • Member
  • ***
  • Posts: 126
Re: Toggler Version 2
« Reply #1 on: June 12, 2016, 04:46:18 PM »

Thank you for sharing this : it will help me for sure. I can't test it fully right now but I am quite interested. I am sure you will continue as it is also rewarding for you to see what you were able to do. I think we have the great chance to see that happening now...

Let me say this : I think you are approaching some sort of "holy grail" for beginners : like dmilligan wrote it, you will be able to help them setting up their DSLR for what they intent to do (config), be it by asking them questions or be it more or less automatically (think of it as some sort of new layer, on top of the existing menus, intended to make photography more "user friendly"  :) ). When we think at all the possibilities given by ML, it can be mind blowing  ::).