private void DeviceManager_PhotoCaptured(object sender, CameraControl.Devices.Classes.PhotoCapturedEventArgs eventArgs) { //var randomName = Path.GetRandomFileName() + Path.GetExtension(eventArgs.FileName); //string tempFile = Path.Combine(Settings.Instance.TempFolder, randomName); //try //{ // TransferInProgress = true; // Utils.CreateFolder(tempFile); // Log.Debug("Transfer started"); // eventArgs.CameraDevice.TransferFile(eventArgs.Handle, tempFile); // Log.Debug("Transfer finished " + tempFile); // Utils.WaitForFile(tempFile); // eventArgs.CameraDevice.DeleteObject(new DeviceObject() { Handle = eventArgs.Handle }); // eventArgs.CameraDevice.ReleaseResurce(eventArgs.Handle); // Log.Debug("Transfer prodedure finished "); // if (eventArgs.CameraDevice != null) // { // eventArgs.CameraDevice.IsBusy = false; // eventArgs.CameraDevice.TransferProgress = 0; // } //} //catch (Exception ex) //{ // Log.Error("Error transfer file", ex); //} //TransferInProgress = false; }
static void DeviceManager_PhotoCaptured(object sender, PhotoCapturedEventArgs eventArgs) { Thread thread = new Thread(PhotoCaptured); thread.SetApartmentState(ApartmentState.STA); thread.Start(eventArgs); //thread.Join(); }
private void DeviceManager_PhotoCaptured(object sender, CameraControl.Devices.Classes.PhotoCapturedEventArgs eventArgs) { if (eventArgs != null) { this.PhotoCaptured(eventArgs); } }
private void StillImageDevice_DeviceEvent(object sender, PortableDeviceEventArgs e) { if (e.EventType.EventGuid == PortableDeviceGuids.WPD_EVENT_OBJECT_ADDED) { var id = e.EventType.DeviceObject.ID; PhotoCapturedEventArgs args = new PhotoCapturedEventArgs { WiaImageItem = null, CameraDevice = this, FileName = e.EventType.DeviceObject.Name, Handle = e.EventType.DeviceObject.ID }; OnPhotoCapture(this, args); } }
private void DeviceManager_PhotoCaptured(object sender, PhotoCapturedEventArgs eventArgs) { }
private void DeviceManager_PhotoCaptured(object sender, PhotoCapturedEventArgs eventArgs) { //if (!IsDisabled) // _timer.Start(); }
private void getEvent() { try { if (_eventIsbusy) return; _eventIsbusy = true; //DeviceReady(); MTPDataResponse response = ExecuteReadDataEx(CONST_CMD_CANON_EOS_GetEvent); if (response.Data == null) { Log.Debug("Get event error :" + response.ErrorCode.ToString("X")); return; } int eventCount = BitConverter.ToInt16(response.Data, 0); Log.Debug("Number of events " + eventCount); if (eventCount > 0) { Console.WriteLine("Event queue length " + eventCount); for (int i = 0; i < eventCount; i++) { try { uint eventCode = BitConverter.ToUInt16(response.Data, 6 * i + 2); ushort eventParam = BitConverter.ToUInt16(response.Data, 6 * i + 4); int longeventParam = BitConverter.ToInt32(response.Data, 6 * i + 4); switch (eventCode) { case CONST_Event_CANON_EOS_PropValueChanged: Log.Debug("EOS property changed " + eventParam.ToString("X")); //ReadDeviceProperties(eventParam); break; case CONST_Event_CANON_EOS_ObjectAddedEx: case CONST_Event_ObjectAddedInSdram: case CONST_Event_ObjectAdded: { try { MTPDataResponse objectdata = ExecuteReadDataEx(CONST_CMD_CANON_EOS_GetObjectInfo, (uint)longeventParam); string filename = "DSC_0000.JPG"; if (objectdata.Data != null) { filename = Encoding.Unicode.GetString(objectdata.Data, 53, 12 * 2); if (filename.Contains("\0")) filename = filename.Split('\0')[0]; } else { Log.Error("Error getting file name"); } Log.Debug("File transfer " + filename); PhotoCapturedEventArgs args = new PhotoCapturedEventArgs { WiaImageItem = null, EventArgs = new PortableDeviceEventArgs(new PortableDeviceEventType() { ObjectHandle = (uint)longeventParam }), CameraDevice = this, FileName = filename, Handle = (uint)longeventParam }; OnPhotoCapture(this, args); } catch (Exception exception) { Log.Error("Object added error", exception); } } break; //case CONST_Event_CaptureComplete: //case CONST_Event_CaptureCompleteRecInSdram: // { // OnCaptureCompleted(this, new EventArgs()); // } // break; //case CONST_Event_ObsoleteEvent: // break; default: //Console.WriteLine("Unknown event code " + eventCode.ToString("X")); Log.Debug("Unknown event code :" + eventCode.ToString("X") + "|" + longeventParam.ToString("X")); break; } } catch (Exception exception) { Log.Error("Event queue processing error ", exception); } } } } catch (InvalidComObjectException) { return; } catch (Exception) { //Log.Error("Event exception ", exception); } _eventIsbusy = false; _timer.Start(); }
void Protocol_DataReceiverd(object sender, string data) { try { if (data.Contains("msg_id")) { dynamic resp = JsonConvert.DeserializeObject(data); switch ((string)resp.msg_id) { case "3": // allproperties CurrentValues.Clear(); foreach (JObject o in resp.param) { var k = o.ToObject<Dictionary<string, string>>(); CurrentValues.Add(k.First().Key, k.First().Value); } break; case "7": switch ((string)resp.type) { case "burst_complete": case "photo_taken": string filename = Path.GetFileName(((string)resp.param).Replace('/', '\\')); PhotoCapturedEventArgs args = new PhotoCapturedEventArgs { WiaImageItem = null, EventArgs =new PortableDeviceEventArgs(), CameraDevice = this, FileName = filename, Handle = filename }; OnPhotoCapture(this, args); break; default: SetProperty((string)resp.type, (string)resp.param); break; } break; case "9": SetValues(data); break; } _lastData = data; if (data.Contains("listing")) _listingEvent.Set(); } } catch (Exception) { } _resetEvent.Set(); }
private void DeviceManager_OnEvent(string eventId, string deviceId, string itemId) { Item tem = Device.GetItem(itemId); ImageFile imageFile = (ImageFile) tem.Transfer("{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}"); PhotoCapturedEventArgs args = new PhotoCapturedEventArgs { EventArgs = imageFile, CameraDevice = this, FileName = "00000." + imageFile.FileExtension, Handle = imageFile }; OnPhotoCapture(this, args); OnCaptureCompleted(this, new EventArgs()); }
public void OnPhotoCapture(object sender, PhotoCapturedEventArgs args) { if (PhotoCaptured != null) { PhotoCaptured(sender, args); } }
void DeviceManager_PhotoCaptured(object sender, PhotoCapturedEventArgs eventArgs) { // to prevent UI freeze start the transfer process in a new thread Thread thread = new Thread(PhotoCaptured); thread.Start(eventArgs); }
private void CameraDevicePhotoCaptured(object sender, PhotoCapturedEventArgs eventArgs) { _detector.Reset(); _photoCapturedTime = DateTime.Now; if (PhotoCount <= PhotoNo && IsFocusStackingRunning) { var threadPhoto = new Thread(TakePhoto); threadPhoto.Start(); } else { IsFocusStackingRunning = false; _timer.Start(); StartLiveView(); } }
private void DeviceManager_PhotoCaptured(object sender, PhotoCapturedEventArgs eventArgs) { PhotoCaptured(eventArgs); //Thread thread = new Thread(PhotoCaptured); //thread.Start(eventArgs); }
private void CameraDevicePhotoCaptured(object sender, PhotoCapturedEventArgs eventargs) { _photoCapturedTime = DateTime.Now; StartLiveView(); }
private void Camera_PictureTaken(object sender, EosImageEventArgs e) { try { Log.Debug("Picture taken event received type" + e.GetType().ToString()); PhotoCapturedEventArgs args = new PhotoCapturedEventArgs { WiaImageItem = null, //EventArgs = // new PortableDeviceEventArgs(new PortableDeviceEventType() // { // ObjectHandle = // (uint)longeventParam // }), CameraDevice = this, FileName = "IMG0000.jpg", Handle = e }; EosFileImageEventArgs file = e as EosFileImageEventArgs; if (file != null) { args.FileName = Path.GetFileName(file.ImageFilePath); } EosMemoryImageEventArgs memory = e as EosMemoryImageEventArgs; if (memory != null) { if (!string.IsNullOrEmpty(memory.FileName)) args.FileName = Path.GetFileName(memory.FileName); } OnPhotoCapture(this, args); OnCaptureCompleted(this, new EventArgs()); } catch (Exception exception) { Log.Error("EOS Picture taken event error", exception); } }
private void DeviceManager_PhotoCaptured(object sender, PhotoCapturedEventArgs eventArgs) { Dispatcher.Invoke(new Action(delegate { Activate(); Focus(); txt_barcode.Focus(); txt_barcode.SelectAll(); })); }
private void DeviceManager_PhotoCaptured(object sender, PhotoCapturedEventArgs eventArgs) { if (ServiceProvider.Settings.UseParallelTransfer) { PhotoCaptured(eventArgs); } else { lock (_locker) { PhotoCaptured(eventArgs); } } }
private void CameraDevicePhotoCaptured(object sender, PhotoCapturedEventArgs eventArgs) { _detector.Reset(); _photoCapturedTime = DateTime.Now; if (IsFocusStackingRunning) { _focusStackingTimer.Start(); } _timer.Start(); StartLiveView(); }
private void cameraDevice_PhotoCaptured(object sender, PhotoCapturedEventArgs eventArgs) { if (PhotoCaptured != null) PhotoCaptured(sender, eventArgs); }
private void PhotoCaptured(PhotoCapturedEventArgs eventArgs) { if (eventArgs == null) { throw new ArgumentNullException("eventArgs"); } Debug.Assert(eventArgs.CameraDevice != null, "PhotoCaptured: eventArgs.CameraDevice == null"); ICameraDevice cameraDev = eventArgs.CameraDevice; try { cameraDev.IsBusy = true; CameraProperty property = ServiceProvider.Settings.CameraProperties.Get(cameraDev); PhotoSession session = (PhotoSession)cameraDev.AttachedPhotoSession ?? ServiceProvider.Settings.DefaultSession; if ((property.NoDownload && !eventArgs.CameraDevice.CaptureInSdRam)) { cameraDev.IsBusy = false; return; } string fileName = GetTempFilePathWithExtension(".jpg"); DateTime testTime = DateTime.Now; Debug.WriteLine("Pre transfer: {0}:{1}:{2}:{3}", testTime.Hour, testTime.Minute, testTime.Second, testTime.Millisecond); cameraDev.TransferFile(eventArgs.Handle, fileName); testTime = DateTime.Now; Debug.WriteLine("Post transfer: {0}:{1}:{2}:{3}", testTime.Hour, testTime.Minute, testTime.Second, testTime.Millisecond); if (this.DeleteFromDevice) { try { AsyncObservableCollection<DeviceObject> devObjs = cameraDev.GetObjects(eventArgs.Handle); if (devObjs.Count == 1) { Debug.WriteLine("delete {0}", devObjs[0].FileName); //cameraDev.DeleteObject(devObjs[0]); } } catch (NotImplementedException) { } } this.lastImageFile = fileName; this.imageCaptured = true; cameraDev.IsBusy = false; Debug.WriteLine("Captured image at {0} to {1}{2}", DateTime.Now.ToLongTimeString(), fileName, Environment.NewLine); } catch (Exception ex) { Debug.WriteLine("PhotoCaptured exception: {0}", ex); eventArgs.CameraDevice.IsBusy = false; } }
private void CameraDevice_PhotoCaptured(object sender, PhotoCapturedEventArgs eventArgs) { if (AutomaticGuiding && PhdType > 0) { var thread = new Thread(() => PhdGuiding(PhdType)); thread.Start(); } }
private static void DeviceManager_PhotoCaptured(object sender, PhotoCapturedEventArgs eventArgs) { if (eventArgs == null) return; try { string fileName = Path.GetTempFileName(); eventArgs.CameraDevice.TransferFile(eventArgs.Handle, fileName); eventArgs.CameraDevice.IsBusy = false; // delete the old file if (string.IsNullOrEmpty(latestPicturePath) && File.Exists(latestPicturePath)) { File.Delete(latestPicturePath); } latestPicturePath = fileName; if (!File.Exists(fileName)) { throw CreateFaultException(string.Format("File {0} does not exist after transfer", fileName)); } } catch (Exception exception) { eventArgs.CameraDevice.IsBusy = false; throw CreateFaultException(exception.Message); //MessageBox.Show( "Error download photo from camera :\n" + exception.Message ); } finally { //ServiceProvider.DeviceManager.PhotoCaptured -= DeviceManager_PhotoCaptured; _autoEvent.Set(); } }