mode 0 menu "Advanced Exposure Modes" name "Shutter Speed" label "Shutter Speed" ########################################################################## ## ## ## SHUTTER.CSM Set Shutter Speeds that aren't normally available ## ## Public Domain by Ralf Brown ## ## 815 Copeland Way PMB 26 ## ## Pittsburgh, PA 15232-2217 ## ## USA ## ## Version 1.1 ## ## Last Edit 25jan00 ## ## ## ## Target Devices: Kodak DC220/DC26x/DC290, Minolta Dimage EX1500 ## ## (developed and tested on a DC260 [v1.0] and DC290 [v1.1]) ## ## ## ## Documentation ## ## ============= ## ## ## ## Install by copying the script to the SYSTEM folder on your flash ## ## card. The script places itself in the Advanced Exposure Modes ## ## menu, under the Long Exposure Time item which it supplements. ## ## ## ## This script allows finer-grained control over the shutter timing, ## ## and will also permit access to an extended range of speeds if you ## ## have patched your firmware to allow them, or have a DC290 with ## ## firmware 1.0.3 or higher. ## ## ## ## Note that a DC290 will use smaller apertures at very fast shutter ## ## speeds because aperture and shutter speed are apparently at least ## ## partially linked (e.g. 1/325 second will use f/10.5). A DC260 ## ## will not go faster than 1/5 second even with patched firmware. ## ## ## ## ## ## Known Limitations ## ## ================= ## ## ## ## Availability ## ## ============ ## ## The newest version of this script is always available at ## ## www.digitacamera.com. ## ## ## ########################################################################## declare u:min_shut, max_shut, def_shut declare u:uOnes, uTens, uTenths, uHundredths declare u:choice declare i:status # # start by getting the valid range of shutter speeds # status = 0 status = GetCapabilitiesRange("shut", min_shut, max_shut, def_shut) if status != 0 Alert("Error getting shutter-speed range") goto done end # # next, set up the top-level menu, taking the limits on shutter speed # into account # if min_shut < 10000 SetOption(1,"< 1/100 sec") SetOption(2,"1/100 - 1/12 sec") end if min_shut >= 10000 if min_shut < 83333 SetOption(2,"< 1/12 sec") end end if min_shut < 500000 SetOption(3,"< 1/2 sec") end if min_shut < 1000000 SetOption(4,"1/2 - 1 sec") end SetOption(5,"1 - 4 sec") if max_shut > 4000000 SetOption(6,"5 - 16 sec") end if max_shut > 16000000 SetOption(7,"> 16 sec") end GetOption(choice) if choice == 1 if min_shut <= 2000 SetOption(2000,"1/500s") end if min_shut <= 2500 SetOption(2500,"1/400s") end if min_shut <= 3076 SetOption(3076,"1/325s") end if min_shut <= 3333 SetOption(3333,"1/300s") end if min_shut <= 4000 SetOption(4000,"1/250s") end if min_shut <= 5000 SetOption(5000,"1/200s") end if min_shut <= 6250 SetOption(6250,"1/160s") end if min_shut <= 8000 SetOption(8000,"1/125s") end end if choice == 2 if min_shut <= 10000 SetOption(10000,"1/100s") end if min_shut <= 16666 SetOption(16666,"1/60s") end if min_shut <= 25000 SetOption(25000,"1/40s") end if min_shut <= 33333 SetOption(33333,"1/30s") end if min_shut <= 50000 SetOption(50000,"1/20s") end if min_shut <= 66667 SetOption(66667,"1/15s") end end if choice == 3 if min_shut <= 83333 SetOption(83333,"1/12s") end if min_shut <= 100000 SetOption(100000,"1/10s") end if min_shut <= 125000 SetOption(125000,"1/8s") end if min_shut <= 166667 SetOption(166667,"1/6s") end if min_shut <= 200000 SetOption(200000,"1/5s") end if min_shut <= 250000 SetOption(250000,"1/4s") end if min_shut <= 333333 SetOption(333333,"1/3s") end if min_shut <= 400000 SetOption(400000,"2/5s") end end if choice == 4 if min_shut <= 500000 SetOption(500000,"1/2s") end SetOption(666667,"2/3s") SetOption(750000,"3/4s") SetOption(800000,"4/5s") SetOption(900000,"9/10s") SetOption(1000000,"1 sec") end if choice == 5 SetOption(1250000,"1.25 sec") SetOption(1500000,"1.50 sec") SetOption(1750000,"1.75 sec") SetOption(2000000,"2.00 sec") SetOption(2250000,"2.25 sec") SetOption(2500000,"2.50 sec") SetOption(3000000,"3.00 sec") SetOption(3500000,"3.50 sec") SetOption(4000000,"4.00 sec") end if choice == 6 if max_shut >= 5000000 SetOption(5000000,"5 sec") end if max_shut >= 6000000 SetOption(6000000,"6 sec") end if max_shut >= 7000000 SetOption(7000000,"7 sec") end if max_shut >= 8000000 SetOption(8000000,"8 sec") end if max_shut >= 9000000 SetOption(9000000,"9 sec") end if max_shut >= 10000000 SetOption(10000000,"10 sec") end if max_shut >= 11000000 SetOption(11000000,"11 sec") end if max_shut >= 12000000 SetOption(12000000,"12 sec") end if max_shut >= 13000000 SetOption(13000000,"13 sec") end if max_shut >= 14000000 SetOption(14000000,"14 sec") end if max_shut >= 15000000 SetOption(15000000,"15 sec") end if max_shut >= 16000000 SetOption(16000000,"16 sec") end end if choice == 7 if max_shut >= 17000000 SetOption(17000000,"17 sec") end if max_shut >= 18000000 SetOption(18000000,"18 sec") end if max_shut >= 20000000 SetOption(20000000,"20 sec") end if max_shut >= 22000000 SetOption(22000000,"22 sec") end if max_shut >= 24000000 SetOption(24000000,"24 sec") end if max_shut >= 26000000 SetOption(26000000,"26 sec") end if max_shut >= 28000000 SetOption(28000000,"28 sec") end if max_shut >= 30000000 SetOption(30000000,"30 sec") end if max_shut >= 32000000 SetOption(32000000,"32 sec") end if max_shut >= 36000000 SetOption(36000000,"36 sec") end if max_shut >= 40000000 SetOption(40000000,"40 sec") end if max_shut >= 45000000 SetOption(45000000,"45 sec") end if max_shut >= 50000000 SetOption(50000000,"50 sec") end if max_shut >= 55000000 SetOption(55000000,"55 sec") end if max_shut >= 60000000 SetOption(60000000,"60 sec") end if max_shut >= 70000000 SetOption(70000000,"70 sec") end if max_shut >= 80000000 SetOption(80000000,"80 sec") end if max_shut >= 90000000 SetOption(90000000,"90 sec") end end GetOption(choice) if choice != 0 status = 0 status = SetCameraState("shut",choice) if status != 0 Alert("Unable to set requested shutter speed!") goto done end if status == 0 # # select "Long Time Exposure", which uses manual shutter speed # SetCameraState("xmod",2) # # let user know we've succeeded # uOnes = choice / 1000000 uHundredths = choice - 1000000 * uOnes uTens = uOnes / 10 uOnes = uOnes - 10 * uTens uHundredths = uHundredths / 10000 uTenths = uHundredths / 10 uHundredths = uHundredths - 10 * uTenths DisplayLine("Shutter speed has been set to ",uTens,uOnes,".",uTenths,uHundredths,"s") end end done: Wait(1) exitscript ######################################################################### # End of File # #########################################################################