Example #1
0
        private void CaptureNextPhoto()
        {
            Log.Debug("Bracketing take next photo");
            switch (Mode)
            {
            case 0:
            {
                try
                {
                    _cameraDevice.ExposureCompensation.SetValue(ExposureValues[Index]);
                    CameraHelper.Capture(_cameraDevice);
                    Index++;
                }
                catch (DeviceException exception)
                {
                    Log.Error(exception);
                    StaticHelper.Instance.SystemMessage = exception.Message;
                }
            }
            break;

            case 1:
            {
                try
                {
                    _cameraDevice.ShutterSpeed.SetValue(ShutterValues[Index]);
                    CameraHelper.Capture(_cameraDevice);
                    Index++;
                }
                catch (DeviceException exception)
                {
                    Log.Error(exception);
                    StaticHelper.Instance.SystemMessage = exception.Message;
                }
            }
            break;

            case 2:
            {
                try
                {
                    CameraPreset preset = ServiceProvider.Settings.GetPreset(PresetValues[Index]);
                    if (preset != null)
                    {
                        preset.Set(_cameraDevice);
                    }
                    CameraHelper.Capture(_cameraDevice);
                    Index++;
                }
                catch (DeviceException exception)
                {
                    Log.Error(exception);
                    StaticHelper.Instance.SystemMessage = exception.Message;
                }
            }
            break;
            }
        }
        public void Stop()
        {
            if (_cameraDevice == null)
            {
                return;
            }
            Log.Debug("Bracketing stop");
            IsBusy = false;
            _cameraDevice.CaptureCompleted -= _cameraDevice_CaptureCompleted;
            Thread thread = null;

            switch (Mode)
            {
            case 0:
            {
                thread = new Thread(() => _cameraDevice.
                                    ExposureCompensation.SetValue(_defec));
            }
            break;

            case 1:
            {
                thread = new Thread(() => _cameraDevice.
                                    ShutterSpeed.SetValue(_defec));
            }
            break;

            case 2:
            {
                thread = new Thread(() => _cameraPreset.Set(_cameraDevice));
            }
            break;

            case 3:
            {
                thread = new Thread(() => _cameraDevice.
                                    FNumber.SetValue(_defec));
            }
            break;
            }
            thread.Start();
            if (BracketingDone != null)
            {
                BracketingDone(this, new EventArgs());
            }
        }
 public void SetAsMaster()
 {
     try
     {
         int i = 0;
         dlg.MaxValue = ServiceProvider.DeviceManager.ConnectedDevices.Count;
         var preset = new CameraPreset();
         preset.Get(ServiceProvider.DeviceManager.SelectedCameraDevice);
         foreach (ICameraDevice connectedDevice in ServiceProvider.DeviceManager.ConnectedDevices)
         {
             if (connectedDevice == null || !connectedDevice.IsConnected)
                 continue;
             try
             {
                 if (connectedDevice != ServiceProvider.DeviceManager.SelectedCameraDevice)
                 {
                     dlg.Label = connectedDevice.DisplayName;
                     dlg.Progress = i;
                     i++;
                     preset.Set(connectedDevice);
                 }
             }
             catch (Exception exception)
             {
                 Log.Error("Unable to set property ", exception);
             }
             Thread.Sleep(250);
         }
     }
     catch (Exception exception)
     {
         Log.Error("Unable to set as master ", exception);
     }
     dlg.Hide();
 }
 private void SelectPreset(CameraPreset preset)
 {
     preset.Set(ServiceProvider.DeviceManager.SelectedCameraDevice);
 }
 private void SelectPreset(CameraPreset preset)
 {
     if (preset == null)
         return;
     try
     {
         preset.Set(ServiceProvider.DeviceManager.SelectedCameraDevice);
     }
     catch (Exception exception)
     {
         Log.Error("Error set preset", exception);
     }
 }
        private void LoadInAllPreset(CameraPreset preset)
        {
            if (preset == null)
                return;
            var dlg = new ProgressWindow();
            dlg.Show();
            try
            {
                int i = 0;
                dlg.MaxValue = ServiceProvider.DeviceManager.ConnectedDevices.Count;
                foreach (ICameraDevice connectedDevice in ServiceProvider.DeviceManager.ConnectedDevices)
                {
                    if (connectedDevice == null || !connectedDevice.IsConnected)
                        continue;
                    try
                    {

                        dlg.Label = connectedDevice.DisplayName;
                        dlg.Progress = i;
                        i++;
                        preset.Set(connectedDevice);
                    }
                    catch (Exception exception)
                    {
                        Log.Error("Unable to set property ", exception);
                    }
                    Thread.Sleep(250);
                }
            }
            catch (Exception exception)
            {
                Log.Error("Unable to set property ", exception);
            }
            dlg.Hide();
        }
 private void MenuItem_Click_1(object sender, RoutedEventArgs e)
 {
     if (listBox1.SelectedItem != null)
     {
         CameraPreset preset = new CameraPreset();
         preset.Get((ICameraDevice) listBox1.SelectedItem);
         foreach (ICameraDevice connectedDevice in ServiceProvider.DeviceManager.ConnectedDevices)
         {
             if (connectedDevice.IsConnected && connectedDevice.IsChecked)
                 preset.Set(connectedDevice);
         }
     }
 }
        public void TakePhoto(ICameraDevice device)
        {
            _cameraDevice = device;
            Log.Debug("Bracketing started");
            _cameraDevice.CaptureCompleted += _cameraDevice_CaptureCompleted;
            IsBusy = true;
            switch (Mode)
            {
            case 0:
            {
                if (ExposureValues.Count == 0)
                {
                    Stop();
                    return;
                }
                Index = 0;
                try
                {
                    _defec = _cameraDevice.ExposureCompensation.Value;
                    Thread.Sleep(100);
                    _cameraDevice.ExposureCompensation.SetValue(ExposureValues[Index]);
                    Thread.Sleep(100);
                    CameraHelper.Capture(_cameraDevice);
                    Index++;
                }
                catch (DeviceException exception)
                {
                    Log.Error(exception);
                    StaticHelper.Instance.SystemMessage = exception.Message;
                }
            }
            break;

            case 1:
            {
                if (ShutterValues.Count == 0)
                {
                    Stop();
                    return;
                }
                Index = 0;
                try
                {
                    _defec = _cameraDevice.ShutterSpeed.Value;
                    Thread.Sleep(100);
                    _cameraDevice.ShutterSpeed.SetValue(ShutterValues[Index]);
                    Thread.Sleep(100);
                    CameraHelper.Capture(_cameraDevice);
                    Index++;
                }
                catch (DeviceException exception)
                {
                    Log.Error(exception);
                    StaticHelper.Instance.SystemMessage = exception.Message;
                }
            }
            break;

            case 2:
            {
                if (PresetValues.Count == 0)
                {
                    Stop();
                    return;
                }
                Index = 0;
                try
                {
                    _cameraPreset.Get(_cameraDevice);
                    Thread.Sleep(100);
                    CameraPreset preset = ServiceProvider.Settings.GetPreset(PresetValues[Index]);
                    if (preset != null)
                    {
                        preset.Set(_cameraDevice);
                    }
                    Thread.Sleep(100);
                    CameraHelper.Capture(_cameraDevice);
                    Index++;
                }
                catch (DeviceException exception)
                {
                    Log.Error(exception);
                    StaticHelper.Instance.SystemMessage = exception.Message;
                }
            }
            break;

            case 3:
            {
                if (ApertureValues.Count == 0)
                {
                    Stop();
                    return;
                }
                Index = 0;
                try
                {
                    _defec = _cameraDevice.FNumber.Value;
                    Thread.Sleep(100);
                    _cameraDevice.FNumber.SetValue(ApertureValues[Index]);
                    Thread.Sleep(100);
                    CameraHelper.Capture(_cameraDevice);
                    Index++;
                }
                catch (DeviceException exception)
                {
                    Log.Error(exception);
                    StaticHelper.Instance.SystemMessage = exception.Message;
                }
            }
            break;
            }
        }