示例#1
0
		public void Evaluate(int SpreadMax)
		{
			if (FFirstRun)
			{
				FOutImage[0] = new CVImageLink();
				FFirstRun = false;
			}

			if (FInDevices[0] != FCamera || FInEnabled.IsChanged)
			{
				try
				{
					throw (new Exception("Actually, this node doesn't work yet, sorry"));
					if (FCamera != null)
					{
						Disconnect();
					}
					if (FInEnabled[0])
					{
						FCamera = FInDevices[0];
						if (FCamera != null)
						{
							Connect();
						}
					}
					FOutStatus[0] = "OK";
				}
				catch (Exception e)
				{
					FOutStatus[0] = e.Message;
				}
			}
		}
 private void DisconnectCamera(EosCamera device)
 {
     DeviceDescriptor descriptor = _deviceEnumerator.GetByEosCamera(device);
     if (descriptor != null)
     {
         descriptor.CameraDevice.PhotoCaptured -= cameraDevice_PhotoCaptured;
         descriptor.CameraDevice.CameraDisconnected -= cameraDevice_CameraDisconnected;
         StaticHelper.Instance.SystemMessage = "Camera disconnected :" + descriptor.CameraDevice.DeviceName;
         Log.Debug("===========Camera disconnected==============");
         Log.Debug("Name :" + descriptor.CameraDevice.DeviceName);
         ConnectedDevices.Remove(descriptor.CameraDevice);
         descriptor.CameraDevice.Close();
         _deviceEnumerator.Remove(descriptor);
         _deviceEnumerator.RemoveDisconnected();
     }
     RemoveDisconnected();
 }
 public bool Init(EosCamera camera)
 {
     try
     {
         IsBusy = true;
         Camera = camera;
         Camera.IsErrorTolerantMode = true;
         DeviceName = Camera.DeviceDescription;
         Manufacturer = "Canon Inc.";
         Camera.SetEventHandlers();
         Camera.Error += _camera_Error;
         Camera.Shutdown += _camera_Shutdown;
         Camera.LiveViewPaused += Camera_LiveViewPaused;
         Camera.LiveViewUpdate += Camera_LiveViewUpdate;
         Camera.PictureTaken += Camera_PictureTaken;
         Capabilities.Add(CapabilityEnum.Bulb);
         Capabilities.Add(CapabilityEnum.LiveView);
         Capabilities.Add(CapabilityEnum.CaptureInRam);
         IsConnected = true;
         LoadProperties();
         OnCameraInitDone();
         return true;
     }
     catch (Exception exception)
     {
         Log.Error("Error initialize EOS camera object ", exception);
         return false;
     }
 }
 public override void Close()
 {
     HaveLiveView = false;
     Camera.Error -= _camera_Error;
     Camera.Shutdown -= _camera_Shutdown;
     Camera.LiveViewPaused -= Camera_LiveViewPaused;
     Camera.LiveViewUpdate -= Camera_LiveViewUpdate;
     Camera.PictureTaken -= Camera_PictureTaken;
     Camera.PropertyChanged -= Camera_PropertyChanged;
     Camera.Dispose();
     Camera = null;
 }
示例#5
0
 public bool Init(EosCamera camera)
 {
     try
     {
         IsBusy = true;
         Camera = camera;
         Camera.IsErrorTolerantMode = true;
         DeviceName = Camera.DeviceDescription;
         PortName = camera.PortName;
         Manufacturer = "Canon Inc.";
         Camera.SetEventHandlers();
         Camera.EnsureOpenSession();
         Camera.Error += _camera_Error;
         Camera.Shutdown += _camera_Shutdown;
         Camera.LiveViewPaused += Camera_LiveViewPaused;
         Camera.LiveViewUpdate += Camera_LiveViewUpdate;
         Camera.PictureTaken += Camera_PictureTaken;
         Capabilities.Add(CapabilityEnum.Bulb);
         Capabilities.Add(CapabilityEnum.LiveView);
         Capabilities.Add(CapabilityEnum.CaptureInRam);
         Capabilities.Add(CapabilityEnum.SimpleManualFocus);
         IsConnected = true;
         LoadProperties();
         Thread thread = new Thread(() =>
         {
             Thread.Sleep(200);
             OnCameraInitDone();
         });
         thread.Start();
         return true;
     }
     catch (Exception exception)
     {
         Log.Error("Error initialize EOS camera object ", exception);
         return false;
     }
 }
 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 private void loadCameras()
 {
     foreach (var _camera in _manager.GetCameras())
     {
         _camera.PictureTaken += this.imageTaken;
         camera = _camera;
     }
 }
 public DeviceDescriptor GetByEosCamera(EosCamera id)
 {
     return Devices.FirstOrDefault(deviceDescriptor => deviceDescriptor.EosCamera == id);
 }
        /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        private void loadCameras()
        {
            IEnumerable<EosCamera> cameras = _manager.GetCameras();

            if (cameras != null)
            {
                foreach (var _camera in cameras)
                {
                    _camera.PictureTaken += imageTaken;
                    camera = _camera;
                }
            }
        }