Using the Force
in Script
TheForce is a two part system with all of the user interface or "the light side" in TheForce.exe and all of camera control in GammaAnd.dll or "the dark side". GammaAnd.dll is an activex server or scriptable object which is named after a double star in the constellation Andromeda.
The scriptable object has properies and methods that you can manipulate from your script or other programming language.
Methods:
Object.Connect()
Initiates a conversation with the camera. This method must be used before any
other methods or properties. The CommPort property must be set prior to calling
this method for Comm Ports other than COM1:
Object.OpenShutter()
Opens the shutter. You must use the CloseShutter() method to close the shutter.
Object.CloseShutter()
Closes the shutter.
You must have first used the OpenShutter method to open the shutter.
Object.AutoShutter(Speed
, [CoolDownTime], [Times], [EndPause])
AutoShutter
begins an automatic shutter sequence.
Speed is the time to leave the shutter open.
CoolDownTime is the time to wait between each shutter.
Times is the number of times or photos to take.
EndPause is used to tell the autoshutter method whether or not to pause at the end.
Object.ZoomWide(),
Object.ZoomTelephoto()
These methods will move the Zoom lens in steps determined by the ZoomGranularity
property.
Object.Continuous()
Not Implemented
For Future Use
Properties:
Object.Cancel=True
(true or false)
Use the cancel property to cancel an AutoShutter sequence.
Read/Write
Object.CommPort
= 1 (1 to 8)
The CommPort defaults to 1 or COM1: and must be changed if using a different
comm port prior to issuing a Connect method.
Read/Write
Object.CoolDown
= 120 (0 to 32768)
The number of seconds to wait between photos in an AutoShutter Sequence.
Read/Write
Object.Repeat
= 4 (1 to 32768)
The number of photos to take in an AutoShutter Sequence.
Read/Write
x = Object.Status
Returns the status of the component. Values are described in the StatusValues
enumeration
Read Only
0 = Disconnected
1 = Connecting
2 = Ready
3 = ShutterOpen
4 = Waiting
5 = Problem
x = Object.ThisExposure
The current exposure progress in seconds. This property is also updated as the
pause duration in an AutoShutter operation.
Object.ZoomGranularity=500
(0 to ~1500 in milliseconds)
The amount of movement for each ZoomWide or ZoomTelephoto method.
x = Object.Mode
- Not Implemented
For future use. May provide information about the mode M-REC, A-REC, PLAY of
the camera.
Read Only
x = Object.RemainingPhotos
- Not Implemented
For future use. Will provide, in the next release, the estimate of remaining
photos in the memory card.
Read Only
x = Object.Battery
- Not Implemented
For future use. May provide the remaining battery percentage.
Read Only
Sample:
Below is a sample
vbscript snippet that will take 2 photos of 16 second exposure while waiting
for 30 seconds between them.
Dim dc
set dc =createobject("GammaAnd.DigitalCamera")
if not dc is nothing then
dc.commport=2
dc.connect
dc.autoshutter 16, 30, 2
set dc = nothing 'important to disconnect
else
msgbox "unable to create object"
end if
copy this script from the screen and paste it into notepad then save the file as test.vbs and double click the file.
Please send me any scripts that you write and I will post them here with your name.
Script Ideas
AutoZoom - AutoZoom sequence which would adjust the Zoom between wide and telephoto and adjust the length of exposure to compensate for the focal length change. Take the resulting images and make them into a gif. This is essentially how I make my double star animations.