Magic Lantern Forum

Developing Magic Lantern => Scripting Corner => Scripting Q&A => Topic started by: arch80 on March 13, 2018, 02:14:11 AM

Title: Bracketing with flash
Post by: arch80 on March 13, 2018, 02:14:11 AM
I am looking to hire a ML developer to create an auto "Flambient" shot sequence. We always shoot four exposures for each image, one flash pop at -2 exposure and then 3 exposures using HDR autobracket mode. We are having to touch the camera too switch between single exposure and HDR and it occasionally causes blurry images once blended from the camera movement. Wondering if there is a way to automate this with ML.

So essentially I need the ML action to take one photo at -2 exposure and then automatically switch to HDR mode and fire off the 3 shots (preferably ML would set HDR exposures to -1,1,+3 before firing the HDR shots).

Is this possible with ML? Anybody that can do this please reply or message me. Will make it worth your time if you can do this.

We use Canons (70D's and t5s)
Title: Re: Bracketing with flash
Post by: Frank7D on March 24, 2018, 07:05:31 AM
Maybe an Lua script could do this (just a guess). But probably no one would do it for just your private use (or for money). This is an open source community. Try posting a request on the feature requests thread or an Lua scripting thread.
Title: Re: Bracketing with flash
Post by: a1ex on March 24, 2018, 04:48:18 PM
With the upcoming experimental lua_fix build (just added camera.flash), save this as bracket.lua under ML/SCRIPTS on your card, then load lua.mo and run the script:


-- Bracketing with flash

-- wait for camera movement to settle
menu.close()
msleep(2000)

-- initial settings
camera.shutter = 1/200
camera.iso = 100

-- first exposure with flash
camera.flash = true
camera.flash_ec = -2
menu.set("Shoot", "Advanced Bracket", 0)
camera.shoot()

-- 3 exposures without flash
camera.flash = false
menu.set("Shoot", "Advanced Bracket", 1)
menu.set("Advanced Bracket", "Frames", 3)
menu.set("Advanced Bracket", "EV increment", "2 EV")
menu.set("Advanced Bracket", "Sequence", "0 + ++")
camera.shoot()
camera.wait()

-- restore settings
menu.set("Shoot", "Advanced Bracket", 0)
camera.flash = true
camera.flash_ec = 0


Tested on 500D. Can be customized as needed.

Automating Canon's AEB is also possible, but the values it can accept are model-specific (requires extra care).

Off-topic: recommended reading (https://www.magiclantern.fm/forum/index.php?topic=21579.0).
Title: Re: Bracketing with flash
Post by: Danne on March 24, 2018, 05:22:53 PM
Cool. Works for on cam flash? Also with external hot shoe flashes? (Lua noob)
Title: Re: Bracketing with flash
Post by: a1ex on March 24, 2018, 05:28:50 PM
I hope it works; that setting appears to be generic in Canon menu, but never tested it on external flash.

Without the recent MPU research (http://www.magiclantern.fm/forum/index.php?topic=17596.0), I wouldn't have known whether this setting is generic or model-specific.
Title: Re: Bracketing with flash
Post by: Danne on March 24, 2018, 05:56:06 PM
Oki, I'll check the behaviour but away for a week atm. Hopefully there'll be some other testing meanwhile.
Yeah, that qemu research tool you are creating is something else...
Title: Re: Bracketing with flash
Post by: R on March 25, 2018, 03:40:55 PM
Running @a1ex bracket.lua on lua_fix.2018Mar21.5D2212 all 4 shots trigger the external 270EX flash at -2 FEC.
Title: Re: Bracketing with flash
Post by: glock26 on July 08, 2018, 12:08:44 AM
Hi, I have a couple of newb questions, please point me in the right direction:
1. this script runs when the camera turns on, is there a way to make it so that I can run it anytime that I want without turning the camera off and then again? ..ideally it would run when I use an IR remote as a shutter release.
2. my flash recycles and then fires again on the last shot, it seems to be ignoring the "camera.flash = false" command, is there any way to fix this?