Just a simple IR timelapase test, thanks to ML's ETTR capability.
https://www.facebook.com/garry.george.75/videos/1260648377376035/
https://www.facebook.com/garry.george.75/videos/1260648377376035/
Etiquette, expectations, entitlement...
@autoexec_bin | #magiclantern | Discord | Reddit | Server issues
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts Menufor i,step in pairs{3,2,1} do
for j,wait in pairs{true,false} do
printf("Focusing forward with step size %d, wait=%s...\n", step, wait)
local steps_front = 0
while lens.focus(1,step,true) do
printf(".")
steps_front = steps_front + 1
end
printf("\n")
printf("Focus distance: %s\n", lens.focus_distance)
msleep(500)
printf("Focusing backward with step size %d, wait=%s...\n", step, wait)
local steps_back = 0
while lens.focus(-1,step,true) do
printf(".")
steps_back = steps_back + 1
end
printf("\n")
printf("Focus distance: %s\n", lens.focus_distance)
msleep(500)
printf("Focus range: %s steps forward, %s steps backward. \n", steps_front, steps_back)
end
end
lens.focus(-1,step,wait)
repeat
a1=a2
b1=b2
fp = lens.focus_distance
while (b2 > a1) do
if lens.focus(1,1,false) then
lens_ok = true
else
lens_ok = false
end
b2 = lens.dof_far
a2 = lens.dof_near
end
lens.focus(-1,1,false) -- move one step forwards for focus bracket overlap
take_brackets()
until not lens_ok
if menu.visible then
if key == KEY.INFO then -- sim [Q] test
q_pressed = true
return false
else
return true
end
end
test_menu = menu.new
{
name = "Show keypress",
choices = { "Off", "On" },
value = "On",
}
function event.keypress(key)
if key == KEY.INFO then
repeat
lens.focus(-1,3,false)
until lens.focus_distance >= lens.hyperfocal
return false
else
return true
end
end
q_pressed = false
function sim(arg)
if q_pressed == true and menu.visible then
key.press(KEY.Q)
q_pressed = false
return false
else
return true
end
end
function test4Q(key)
if key == KEY.INFO and menu.visible then
q_pressed = true
return false
else
return true
end
end
event.keypress = test4Q
event.shoot_task = sim
--[[
Bulb ND Script V1
Release 0.1
Jan 2017
Simply takes an ND image using the currently set shutter value, but assumes an ND filter is fitted.
To use:
1. Compose and set shutter WITHOUT the ND filter fitted
2. Set ND values in menu and delay (in LV delay is automatically 3s)
3. Press SET to intiate script
4. Fit ND filter
5. Run script by doing a half shutter press
Pushing any button, other than the halfshutter, clears the script, ie you will need to renter the menu to rerun
*******************************************************************************************************
* *
* If you reference this script, please consider acknowledging me at http://photography.grayheron.net/ *
* *
*******************************************************************************************************
--]]
temp = 0
ND_shutter = 0
function my_shoot()
if ND_shutter > 30 then
camera.bulb(ND_shutter)
else
camera.shutter.ms = ND_shutter*1000
camera.shoot(false) -- Note may need to change to camera.shoot(64,false) on some Lua builds
end
end
function run_script()
menu.close() -- just in case
local save_current_shutter = camera.shutter.apex
ND_shutter = camera.shutter.apex - scriptmenu.submenu["ND Full Stop Value?"].value - scriptmenu.submenu["ND Fractional value?"].value/10
msleep(scriptmenu.submenu["Delay?"].value * 1000)
ND_shutter = 2^(-ND_shutter) -- convert to seconds
my_shoot()
camera.shutter.apex = save_current_shutter -- reset to non ND shutter value
end
function mytest(key)
if key == KEY.HALFSHUTTER then
run_script()
event.keypress = nil
return false
else
event.keypress = nil
return true
end
end
function start()
menu.close() -- just in case
if scriptmenu.submenu["ND Full Stop Value?"].value ~= 0 then
event.keypress = mytest -- set up keypress handler
end
end
scriptmenu = menu.new
{
parent = "Shoot", -- change this to position the script into other ML menu locations
name = "Bulb ND",
help = "Set shutter without ND fitted",
submenu =
{
{
name = "Run Script",
select = function(this)
if key.last == KEY.SET then task.create(start) end
end,
help = "Runs the main script after pressing SET",
help2 = "Now fit ND and press halfshutter",
},
{
name = "ND Full Stop Value?",
help = "In stops",
min = 0,
max = 16,
value = 0,
warning = function(this)
temp = camera.shutter.apex - scriptmenu.submenu["ND Full Stop Value?"].value - scriptmenu.submenu["ND Fractional value?"].value/10
temp = math.ceil((2^(-temp))*1000)/1000
if temp > 30 then temp = math.ceil(temp) end
return "ND Shutter (s): ".. tostring(temp)
end,
},
{
name = "ND Fractional value?",
help = "In tenths",
min = 0,
max = 9,
value = 0,
warning = function(this)
temp = camera.shutter.apex - scriptmenu.submenu["ND Full Stop Value?"].value - scriptmenu.submenu["ND Fractional value?"].value/10
temp = math.floor((2^(-temp))*1000)/1000
if temp > 30 then temp = math.floor(temp) end
return "ND Shutter (s): ".. tostring(temp)
end,
},
{
name = "Delay?",
help = "In seconds",
min = 0,
max = 5,
value = 0,
}
}
}
--[[
Simple (no menu) script to reset EOSM to your ML favorite states 'just' using the MENU and PLAY buttons on the EOSM
Change/set the preset table below to your liking
Version 0.1
Garry George Jan 2017
http://photography.grayheron.net/
--]]
last_key_pressed = 999
imode = false
config = 0
button_1 = KEY.MENU
button_2 = KEY.PLAY
message_time = 2000 -- in ms
presets =
{
{
name = "All off",
menus=
{
{ menu = "Shoot", item = "Advanced Bracket", value = 0},
{ menu = "Shoot", item = "Silent Picture", value = 0},
{ menu = "Expo", item = "Auto ETTR", value = 0},
{ menu = "Expo", item = "Dual ISO", value = 0},
{ menu = "Shoot", item = "Intervalometer", value = 0},
}
},
{
name = "Auto ETTR", -- Only Auto ETTR
menus=
{
{ menu = "Shoot", item = "Advanced Bracket", value = 0},
{ menu = "Shoot", item = "Silent Picture", value = 0},
{ menu = "Expo", item = "Auto ETTR", value = 1},
{ menu = "Expo", item = "Dual ISO", value = 0},
{ menu = "Shoot", item = "Intervalometer", value = 0},
}
},
{
name = "Dual ISO", -- Only DUAL ISO
menus=
{
{ menu = "Shoot", item = "Advanced Bracket", value = 0},
{ menu = "Shoot", item = "Silent Picture", value = 0},
{ menu = "Expo", item = "Auto ETTR", value = 0},
{ menu = "Expo", item = "Dual ISO", value = 1},
{ menu = "Shoot", item = "Intervalometer", value = 0},
}
},
{
name = "Dual + ETTR", -- Both DUAL + ETTR
menus=
{
{ menu = "Shoot", item = "Advanced Bracket", value = 0},
{ menu = "Shoot", item = "Silent Picture", value = 0},
{ menu = "Expo", item = "Auto ETTR", value = 1},
{ menu = "Expo", item = "Dual ISO", value = 1},
{ menu = "Shoot", item = "Intervalometer", value = 0},
}
},
{
name = "MLV FRSP Timelapse", -- Silient timelapse in MLV FR mode
menus=
{
{ menu = "Shoot", item = "Advanced Bracket", value = 0},
{ menu = "Shoot", item = "Silent Picture", value = 1},
{ menu = "Silent Picture", item = "Silent Mode", value = 5},
{ menu = "Silent Picture", item = "File Format", value = 1},
{ menu = "Expo", item = "Auto ETTR", value = 0},
{ menu = "Expo", item = "Dual ISO", value = 0},
{ menu = "Shoot", item = "Intervalometer", value = 1},
}
},
{
name = "ML Auto Bracketing", -- Auto Bracketing
menus=
{
{ menu = "Shoot", item = "Advanced Bracket", value = 1},
{ menu = "Shoot", item = "Silent Picture", value = 0},
{ menu = "Expo", item = "Auto ETTR", value = 0},
{ menu = "Expo", item = "Dual ISO", value = 0},
{ menu = "Shoot", item = "Intervalometer", value = 0},
}
},
{
name = "FRSP", -- Full Res Silent Picture
menus=
{
{ menu = "Shoot", item = "Advanced Bracket", value = 0},
{ menu = "Shoot", item = "Silent Picture", value = 1},
{ menu = "Expo", item = "Auto ETTR", value = 0},
{ menu = "Expo", item = "Dual ISO", value = 0},
{ menu = "Shoot", item = "Intervalometer", value = 0},
}
}
}
reset = function(key)
for i,v in ipairs(presets[key].menus) do
menu.set(v.menu,v.item,v.value)
end
end
function test4reset(key)
-- check for imode frst
if imode then
if key == button_2 then -- move through presets
config = config + 1
if config > #presets then config = 1 end
display.notify_box(presets[config].name, message_time)
return false
end
if key == button_1 then -- leave imode and reset ML menus as requested
imode = false
if config == 0 then config = 1 end
reset(config)
local text = "Set to: "..presets[config].name
display.notify_box(text, message_time)
return false
end
end
imode = false
if key == button_2 and last_key_pressed == button_2 then -- use play key as normal
last_key_pressed = 999 -- reset
return true
elseif (key == button_1 and last_key_pressed == button_2) and imode == false then -- go into imode
imode = true
last_key_pressed = 999
if config == 0 then config = 1 end
display.notify_box(presets[config].name, message_time)
return false -- steal key press
elseif key == button_2 then -- first press of PLAY key in new sequence
last_key_pressed = button_2
imode = false
return false -- steal key press
else
imode = false
last_key_pressed = 999 -- reset
return true -- use all other keys in an unmodified way
end
end
event.keypress = test4reset
function my_shoot() -- to grab an image
camera.shoot(false)
key.press(KEY.HALFSHUTTER)
msleep(100)
key.press(KEY.UNPRESS_HALFSHUTTER)
end
menu.open("Shoot")
--[[
Script moves lens to HFD giving user various aperture options
Version 0.8 (should work on all ML enabled cameras with the Lua module)
Allows user to select aperture options to auto position the lens to the HFD
Garry George Dec 2016
http://photography.grayheron.net/
For the HFD functionality must be in AF mode and lens must report distance
LV needs to be on
Also make sure ML DoF set up as you require it, eg diffraction on
As script may change aperture, you still need to finalise shutter for exposure
To use, simply go into LV and press the mod_button_1 followed by the mod_button_2 buttons...
then keep pressing the mod_button_2 button until the required aperture option is reached...
then press mod_button_1 to either exit script or move the lens with the selected aperture option
Pressing mod_button_1 twice simply functions the mod_button_1 in normal mode
Script has 'only' been tested on a 5D3
This version of the script does some (sic) error checking ;-)
--]]
-- Declare some globals
mod_button_1 = KEY.MENU -- key to modify
mod_button_2 = KEY.INFO -- interactive key
last_key_pressed = 999 -- used to reset mod_button pairing
hfd_move_requested = false
imode = false
imode_condition = 0
options = {"Exit"," Set"," Opt","Wide"} -- for aperture
-- Choose buttons of your choice for mod_button_1 or _2, eg KEY.RATE, KEY.UP, KEY.INFO or KEY.PLAY.
-- See http://davidmilligan.github.io/ml-lua/modules/constants.html for key constants
function check_lens_ready() -- just in case
if hfd_move_menu.submenu["Turn On/Off"].value == "On" then-- check lens is ready to be moved
if lens.focus_distance ~= 0 and lens.af then -- lens is OK
repeat
msleep(100)
until lens.focus(0,1,false)
end
end
end
function optimise() -- change aperture if needed
if imode_condition == 3 then
local current_aperture = camera.aperture.min.apex
local current_dof_near = lens.dof_near
local delta_aperatue = 0.5 -- change aperture in half stops
repeat
current_dof_near = lens.dof_near -- current dof_near
current_aperture = camera.aperture.apex -- store current aperture
camera.aperture.apex = camera.aperture.apex + delta_aperatue -- close down the aperture by a 1/2 stop
msleep(100) -- give the system a chance to do some stuff, just in case
until lens.dof_near >= current_dof_near -- that is until diffraction starts getting the better of you
camera.aperture.apex = current_aperture -- set aperture to DoF optimised value
elseif imode_condition == 2 then
-- use current set value
elseif imode_condition == 4 then
camera.aperture.apex = camera.aperture.min.apex -- set aperture to widest
end
end
function move()
if lens.focus_distance ~= 0 and lens.af then -- lens is OK
if lens.dof_far ~= lens.dof_near then -- ok to move
if lens.focus_distance < lens.hyperfocal then
repeat
lens.focus(-1,2,false)
until lens.focus_distance >= lens.hyperfocal
repeat
lens.focus(1,1,false)
until lens.focus_distance <= lens.hyperfocal
repeat
lens.focus(-1,1,false)
until lens.focus_distance >= lens.hyperfocal
else
repeat
lens.focus(1,2,false)
until lens.focus_distance <= lens.hyperfocal
repeat
lens.focus(-1,1,false)
until lens.focus_distance >= lens.hyperfocal
end
else
beep (3, 200 , 500) -- warning message
display.notify_box("Check aperture", 3000)
end
else
beep (3, 200 , 500) -- warning message
display.notify_box("Check lens settings", 3000)
end
end
function test4mod(key)
--[[
Interactive mode states:
1. Exit and do nothing
2. Move to HFD with currently set aperture
3. Move to HFD and optimised aperture for max DoF
4. Move to HFD and aperture open as wide as possible
--]]
if lv.running then
if hfd_move_menu.submenu["Turn On/Off"].value == "On" and imode then -- stay in interactive mode
if key == mod_button_2 then
imode_condition = imode_condition + 1
if imode_condition > 4 then imode_condition = 1 end
return false -- steal key press
elseif key == mod_button_1 then -- flag HFD move or exit requested
hfd_move_requested = true
imode = false
last_key_pressed = 999 -- reset
return false
else
return false -- steal all other key presses
end
end
-- if not going into interactive mode then check other key sequences
if hfd_move_menu.submenu["Turn On/Off"].value == "Off" then
return true -- all keys work as normal
elseif key == mod_button_1 and last_key_pressed == mod_button_1 then -- use moded key as normal
last_key_pressed = 999 -- reset
return true
elseif key == mod_button_2 and last_key_pressed == mod_button_1 then -- go into interactive mode
imode = true -- go into interactive mode
imode_condition = 1
return false -- steal key press
elseif key == mod_button_1 then -- first press of modified key in new sequence
last_key_pressed = mod_button_1
return false -- steal key press
else
return true -- use all non-moded buttons in an unmodified way
end
else -- don't use script
return true
end
end
lv.info -- provide user feedback in interactive mode in the ML top menu bar
{
name = "HFD",
priority = 100,
value = "",
update = function(this)
this.background = COLOR.BLUE
this.foreground = COLOR.YELLOW
if hfd_move_menu.submenu["Turn On/Off"].value == "On" and imode then
this.value = options[imode_condition]
else
this.value = ""
end
end
}
function check_requests(arg)
if hfd_move_requested == true and not imode then -- move lens if requested
hfd_move_requested = false -- reset flag
if imode_condition == 1 then -- do nothing
return false
end
check_lens_ready() -- just in case it isn't
if imode_condition ~= 1 then -- check aperture and change if needed
optimise()
end
move() -- lens to maximised HFD position, but note shutter will need checking for optimised exposure
return false
end
end
event.keypress = test4mod
event.shoot_task = check_requests
hfd_move_menu = menu.new
{
parent = "Shoot",
name = "HFD",
help = "Moves lens to HFD focus distance",
depends_on = DEPENDS_ON.LIVEVIEW,
submenu =
{
{
name = "Turn On/Off",
help = "Switches the script on/off",
choices = {"On","Off"},
}
}
}
display.print(previous_message, 100,100,FONT.LARGE,COLOR.TRANSPARENT, COLOR.TRANSPARENT)
display.print(current_message, 100,100,FONT.LARGE,COLOR.WHITE, COLOR.BLACK)
--[[
Script uses modified keys
Version 0.7 (should work on all ML enabled cameras with the Lua module)
Shows the use of a modified key approach using an AF lens auto positioned to the HFD
Garry George Nov 2016
http://photography.grayheron.net/
For the HFD functionality must be in AF mode and lens must report distance
Script handles LV, ie LV doesn't need to be on
Also make sure ML DoF set up as you require it, eg diffraction on
Also for the fastest move position lens at infinity end, ie macro end moves are slower
Script optimises aperture: but you still need to finalise shutter for exposure
This version of the script does some (sic) error checking ;-)
--]]
-- Declare some globals
mod_button_1 = KEY.MENU -- key to modify
mod_button_2 = KEY.INFO -- key to indicate mod mode requested, ie move to the optimised HFD position
last_key_pressed = 999 -- used to reset mod_button pairing
hfd_move_requested = false
lv_already_on = false
-- Choose buttons of your choice, eg KEY.RATE, KEY.UP, KEY.INFO or KEY.PLAY.
-- See http://davidmilligan.github.io/ml-lua/modules/constants.html for key constants
function check_lens_ready() -- just in case
if hfd_move_menu.submenu["Turn On/Off"].value == "On" then-- check lens is ready to be moved
if lens.focus_distance ~= 0 and lens.af then -- lens is OK
repeat
msleep(100)
until lens.focus(0,1,false)
end
end
end
function optimise() -- aperture for max hyperfocal depth of field
local current_aperture = camera.aperture.apex
local current_dof_near = lens.dof_near
local delta_aperatue = 0.5
camera.aperture.apex = camera.aperture.min.apex -- set aperture to widest
repeat
current_dof_near = lens.dof_near -- current dof_near
current_aperture = camera.aperture.apex -- store current aperture
camera.aperture.apex = camera.aperture.apex + delta_aperatue -- close down the aperture by a 1/2 stop
msleep(100) -- give the system a chance to do some stuff, just in case
until lens.dof_near >= current_dof_near -- that is until diffraction starts getting the better of you
camera.aperture.apex = current_aperture
end
function move()
if lens.focus_distance ~= 0 and lens.af then -- lens is OK
if lens.dof_far ~= lens.dof_near then -- ok to move
if lens.focus_distance < lens.hyperfocal then
repeat
lens.focus(-1,2,false)
until lens.focus_distance >= lens.hyperfocal
repeat
lens.focus(1,1,false)
until lens.focus_distance <= lens.hyperfocal
repeat
lens.focus(-1,1,false)
until lens.focus_distance >= lens.hyperfocal
else
repeat
lens.focus(1,2,false)
until lens.focus_distance <= lens.hyperfocal
repeat
lens.focus(-1,1,false)
until lens.focus_distance >= lens.hyperfocal
end
else
beep (3, 200 , 500) -- warning message
display.notify_box("Check aperture", 3000)
end
else
beep (3, 200 , 500) -- warning message
display.notify_box("Check lens settings", 3000)
end
end
function test4mod(key)
if hfd_move_menu.submenu["Turn On/Off"].value == "Off" then
return true -- all keys work as normal
elseif key == mod_button_1 and last_key_pressed == mod_button_1 then -- use moded key as normal
last_key_pressed = 999 -- reset
return true
elseif key == mod_button_2 and last_key_pressed == mod_button_1 then -- use moded key in modified way
-- ****************** Place modified flag requests here ************
last_key_pressed = 999 -- reset
hfd_move_requested = true -- flag HFD move requested
if lv.enabled then lv_already_on = true else lv_already_on = false end
-- ****************** Place modified flag requests here ************
return false -- steal key press
elseif key == mod_button_1 then -- first press of modified key in new sequence
last_key_pressed = mod_button_1
return false -- steal key press
else
return true -- use all non-moded buttons in an unmodified way
end
end
function check_requests(arg)
if hfd_move_requested == true then -- handle lv and lens move
hfd_move_requested = false -- reset flag
if not lv_already_on then lv.start() end
check_lens_ready() -- just in case it isn't
optimise() -- aperture
move() -- lens to maximised HFD position, but note shutter will need checking for optimised exposure
if not lv_already_on then lv.stop() end
return false
end
end
event.keypress = test4mod
event.shoot_task = check_requests
hfd_move_menu = menu.new
{
parent = "Shoot",
name = "HFD",
help = "Moves lens to HFD focus distance",
submenu =
{
{
name = "Turn On/Off",
help = "Switches the script on/off",
choices = {"On","Off"},
}
}
}
--[[
Script to illustrate the use of key modification
Version 0.3 (should work on all ML enabled cameras with the Lua module)
Shows the use of a modified key approach using an AF lens auto positioned to the HFD
Garry George Oct 2016
http://photography.grayheron.net/
For rhe HFD functionality must be in LV and in AF mode, and lens must report distance
Also make sure ML DoF set up as you require it, eg diffraction on
Also for the fastest move position lens at infinity end, ie macro end moves are slower
This version of the script does no error checking ;-)
--]]
-- Declare globals
mod_button_1 = KEY.RATE -- key to modify
mod_button_2 = KEY.PLAY -- key to indicate mod mode requested
last_key_pressed = 999 -- used to reset mod_button pairing
-- Choose buttons of your choice, eg KEY.RATE, KEY.UP, KEY.INFO or KEY.PLAY.
-- See http://davidmilligan.github.io/ml-lua/modules/constants.html for key constants
function move()
if lens.focus_distance < lens.hyperfocal then
repeat
lens.focus(-1,1,false)
until lens.focus_distance >= lens.hyperfocal
else
repeat
lens.focus(1,1,false)
until lens.focus_distance <= lens.hyperfocal
repeat -- ensures lens is positioned with a bias towards INF
lens.focus(-1,1,false)
until lens.focus_distance >= lens.hyperfocal
end
end
function test4mod(key)
if keymenu.submenu["Turn On/Off"].value == "Off" then
return true -- all keys work as normal
elseif key == mod_button_1 and last_key_pressed == mod_button_1 then -- use moded key as normal
last_key_pressed = 999 -- reset
return true
elseif key == mod_button_2 and last_key_pressed == mod_button_1 then -- use moded key in modified way
-- ****************** Place modified code here ************
last_key_pressed = 999 -- reset
move() -- to HFD position
-- ****************** Place modified code here ************
return false -- steal key press
elseif key == mod_button_1 then -- first press of modified key in new sequence
last_key_pressed = mod_button_1
return false -- steal key press
else
return true -- use all non-moded buttons in an unmodified way
end
end
event.keypress = test4mod
keymenu = menu.new
{
parent = "Shoot",
name = "HFD",
help = "Moves lens to HFD focus distance",
depends_on = DEPENDS_ON.LIVEVIEW,
submenu =
{
{
name = "Turn On/Off",
help = "Switches the script on/off",
choices = {"On","Off"},
}
}
}
function hfd_test(key)
if keymenu.submenu["Turn On/Off"].value == "Off" then
return true -- key works as normal
elseif key == KEY.SET and lv.enabled then -- user may be asking for an HFD move, so register dryos time
timer = dryos.ms_clock
return true
elseif key == KEY.UNPRESS_SET and lv.enabled then -- test is HFD move requested
if dryos.ms_clock - timer > 3000 then
move()
return true
else
return true
end
end
end
event.keypress = hfd_test
event.keypress = function(key)
-- print("You pressed a key: "..key)
if key ~= 0 then display.notify_box (key,3000) end
return true
end
event.keypress = nil
event.keypress = function(key)
return mykey_test(key)
end
menu.set("Auto Bracketing","Focus bracketing?",0)
menu.set("Auto Bracketing","Focus bracketing?","No")
name = "Ev bracket delta per image",
help = "Auto exposure bracketing",
choices = {"Off","1Ev","2EV","Auto 1Ev","Auto 2Ev"},
icon_type = ICON_TYPE.BOOL,
select = function(this,delta)
if this.value == "Off" then
factor = 1
this.value = "1Ev"
elseif this.value == "1Ev" then
factor = 2
this.value = "2Ev"
elseif this.value == "2Ev" then
factor = 3
this.value = "Auto 1Ev"
elseif this.value == "1Ev" then
factor = 4
this.value = "Auto 2Ev"
elseif this.value == "2Ev" then
factor = 0
this.value = "Off"
end
end,
err_state = true
function move()
lens.focus(1,1,true)
end
function erf()
err_state = false
end
function focus()
err_state = true
repeat
xpcall(move,erf)
until err_state == false
-- now move the other way having detected an error
lens.focus(-10,1,true)
end
scrnshot_menu = menu.new
{
name = "Test",
select = function(this)
task.create(focus)
end
}
test_menu = menu.new
{
name = "Test",
choices = { "Off", "On" },
value = "On",
}
function event.keypress(key)
if key == KEY.WHEEL_RIGHT and test_menu.value == "On" then
menu.set("Expo","ISO",400)
return false
elseif key == KEY.WHEEL_LEFT and test_menu.value == "On" then
menu.set("Expo","ISO",100)
return false
else
return true
end
end
{
name = "Enabled?",
help = "Switches the script on/off",
choices = {"Yes","No"},
select = function(this) -- set all Toggler menus to their off state
if this.value == "Yes" then
menu.set("Shoot","Silent Picture",0)
menu.set("Shoot","Advanced Bracket",0)
menu.set("Expo","Auto ETTR",0)
menu.set("Expo","Dual ISO",0)
toggler_play = 1
frsp = false
end
end
}
Page created in 0.111 seconds with 13 queries.