
Camera Controller is able to support multiple cameras for any SDK's that support multiple cameras. For example, The Olympus V3.0 SDK supports multiple camera's.
Camera Controller can also have multiple combinations of cameras supported by SDK's that only support one camera at a time. For example, both the Olympus V1.5 and the V2.0 SDK's only support one camera at a time. Camera Controller can control one V1.5 SDK camera and one V2.0 SDK camera at the same time.
Other combinations such as one V2.0 SDK camera and one or more V3.0 SDK camera are supported as well. However, you can only have one V1.5 or V2.0 SDK camera at once. You cannot control two Olympus C3030's (supported in the Olympus V2.0 SDK) at the same time, for example.
Use the links below to jump to a section.
How does multi-camera support work?
Setting up multiple cameras.
Using multiple cameras.
Using the External Shutter capabilities.
The concept of saved configurations - introduced in Camera Controller V1.4.0 - is the basis of multi-camera support. Using saved configurations, a user can select a camera from the list of connected cameras, save the current configuration with a unique name, and then start Camera Controller specifying the saved configuration name in the command line.
When started in this manner, Camera Controller will select and control the camera saved in the configuration. A user with multiple cameras can save a different configuration for each camera and save shortcuts on their desktop (or elsewhere) that can be used to start and select each of the different cameras.
For example, a user may have a C3030 and a C4040. After creating the saved configurations for each of the two cameras, the user can create desktop shortcuts called "PTC CamCtrl C3030" and "PTC CamCtrl C4040". Clicking the shortcuts will start the respective cameras.
To control both cameras at the same time, simply click both shortcuts to start two copies of camera controller at the same time. Using the normal techniques, the user can set up the exposure parameters for the cameras. The user can make both cameras take a picture at the same time using the external shutter tool found in the PTC Camera Controller start menu folder. When the External shutter tools's "tripshutter" button is clicked, all the currently running copies of Camera Controller that have the "Tools/External Shutter" menu item checked will attempt to take a picture.
Setting up multiple cameras is a multi-step process that involves creating shortcuts for each camera, creating saved configurations for each camera, and uniquely naming each camera. The following procedures should help you in this process. Before starting this process, it helps to make sure the all the cameras are connected to the PC, powered on, and in PC Control mode, if applicable. Then repeat the following steps for each camera.
Once you have created desktop shortcuts for each camera, you can start one or more of the cameras simply by clicking the the shortcut for each camera you wish to control. The normal Camera Controller window will display, one for each camera.
Note that the caption for each Camera Controller window will display the saved configuration name, helping you to easily see which camera you are controlling. You can start as many Camera Controller windows as the virtual memory configuration of your PC will allow.
Each Camera Controller window will allow you to set the exposure parameters of the selected camera using the normal techniques. You can set each window for different exposure parameters, enable timelapse or webcam mode independently from each of the other Camera Controller windows.
You can cause all the cameras for the currently running Camera Controller windows to take a picture at the same time using the external shutter tool.
Camera Controller implements it's external shutter capability using Windows system events. When Camera Controller's "Tools/External Shutter" menu item is checked, a thread in Camera Controller watches an event called "PTCCamCtlShutter". When the event is signaled, Camera Controller takes a picture.
This makes it very easy for any programmer to write a program to trigger Camera Controller's shutter. The Windows WIN32 API provides several API calls to acquire, signal, unsignal, and release an event. Additionally, the PTC Event Manager component, installed along with Camera Controller, makes it very easy to do the same from MS-Visual Basic.
For example, the following VB subroutine extracted from the External Shutter Tool provided with Camera Camera, will cause any Camera Controller windows running on the same PC to take a picture.
Private Sub TripShutter()
'
' The external shutter tool works by cycling a Windows event that
' Camera Controller is watching for. You can use the Win32 api
' calls to get a handle to and cycle the event but since
' my event manager object is already installed by the Camera
' Controller installation, you might as well use it. It is very
' easy to use. You simply instantiate an eventmanager object as
' shown in the following two lines.
Dim oEvtMgr As PTCEvtMgr.EventHandler
Set oEvtMgr = CreateObject("PTCEvtMgr.EventHandler")
' then get a handle to the event.
oEvtMgr.GetEvent "PTCCamCtlShutter"
' then cycle the event. (This is what causes Camera Controller
' to take the picture)
oEvtMgr.CycleEvent "PTCCamCtlShutter"
' finally, release the handle to the event
oEvtMgr.ReleaseEvent "PTCCamCtlShutter"
' and destroy the event manager object
Set oEvtMgr = Nothing
'
' couldn't be simpler, right?
'
' I've put the object creation and getevent/releaseevent
' calls into this subroutine for sake of clarity. You could
' just as easily put them in the Form_Load and Form_Unload
' events.
End Sub
This functionality is included in the External Shutter Tool provided with Camera Controller. However, as you can see it is very easy and very powerful to include this capability in your own code.
For example, you could write code that makes use of any external stimulus to cause Camera Controller to take a picture. With the appropriate hardware, you could make camera traps that take pictures using infrared, sound, motion detection, or other external stimuli. You could add monitoring capabilities to a manufacturing production line, implement a security monitoring tool, etc., ...