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.


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:

Opens the shutter. You must use the CloseShutter() method to close the shutter.

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


Object.Cancel=True (true or false)
Use the cancel property to cancel an AutoShutter sequence.


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.

Object.CoolDown = 120 (0 to 32768)
The number of seconds to wait between photos in an AutoShutter Sequence.

Object.Repeat = 4 (1 to 32768)
The number of photos to take in an AutoShutter Sequence.

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

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.autoshutter 16, 30, 2
 set dc = nothing 'important to disconnect
 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.