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; }
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; } } }