public SavePresetWnd(CameraPreset cameraPreset)
 {
     InitializeComponent();
       CameraPreset = cameraPreset;
       CameraPreset.BeginEdit();
       ServiceProvider.Settings.ApplyTheme(this);
 }
Esempio n. 2
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 static CameraPreset Load(string filename)
 {
     CameraPreset cameraPreset = new CameraPreset();
     if (File.Exists(filename))
     {
         XmlSerializer mySerializer =
           new XmlSerializer(typeof(CameraPreset));
         FileStream myFileStream = new FileStream(filename, FileMode.Open);
         cameraPreset = (CameraPreset)mySerializer.Deserialize(myFileStream);
         myFileStream.Close();
     }
     return cameraPreset;
 }
Esempio n. 4
0
        static public CameraPreset Load(string filename)
        {
            CameraPreset cameraPreset = new CameraPreset();

            if (File.Exists(filename))
            {
                XmlSerializer mySerializer =
                    new XmlSerializer(typeof(CameraPreset));
                FileStream myFileStream = new FileStream(filename, FileMode.Open);
                cameraPreset = (CameraPreset)mySerializer.Deserialize(myFileStream);
                myFileStream.Close();
            }
            return(cameraPreset);
        }
Esempio n. 5
0
        public void Save(CameraPreset preset)
        {
            if (preset == null)
            {
                return;
            }
            try
            {
                if (!Directory.Exists(PresetFolder))
                {
                    Directory.CreateDirectory(PresetFolder);
                }

                preset.Save(preset.FileName);
            }
            catch (Exception exception)
            {
                Log.Error("Unable to save preset " + preset.Name, exception);
            }
        }
Esempio n. 6
0
        public void Save(CameraPreset preset)
        {
            if (preset == null)
            {
                return;
            }
            try
            {
                if (!Directory.Exists(PresetFolder))
                {
                    Directory.CreateDirectory(PresetFolder);
                }

                string filename = Path.Combine(PresetFolder, preset.Name + ".xml");
                preset.Save(filename);
            }
            catch (Exception exception)
            {
                Log.Error("Unable to save preset " + preset.Name, exception);
            }
        }
 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();
     Dispatcher.Invoke(new Action(() => btn_useasmaster.IsEnabled = true));
 }
Esempio n. 8
0
        public void LoadPresetData()
        {
            if (!Directory.Exists(PresetFolder))
            {
                Directory.CreateDirectory(PresetFolder);
            }

            string[] presets = Directory.GetFiles(PresetFolder, "*.xml");
            foreach (string presetname in presets)
            {
                try
                {
                    var preset = CameraPreset.Load(presetname);
                    if (preset != null)
                    {
                        CameraPresets.Add(preset);
                    }
                }
                catch (Exception e)
                {
                    Log.Error("Error loading preset :" + presetname, e);
                }
            }
        }
 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);
         }
     }
 }
        private void textEditor_TextArea_TextEntered(object sender, TextCompositionEventArgs e)
        {
            if (e.Text == "<")
            {
                // open code completion after the user has pressed dot:
                completionWindow = new CompletionWindow(textEditor.TextArea);
                // provide AvalonEdit with the data:
                IList<ICompletionData> data = completionWindow.CompletionList.CompletionData;
                foreach (IScriptCommand command in ServiceProvider.ScriptManager.AvaiableCommands)
                {
                    data.Add(new MyCompletionData(command.DefaultValue, command.Description, command.Name.ToLower()));
                }
                completionWindow.Show();
                completionWindow.Closed += delegate { completionWindow = null; };
            }
            if (e.Text == ".")
            {
                string word = textEditor.GetWordBeforeDot();
                if (word == "{session" || word == "session")
                {
                    IList<PropertyInfo> props = new List<PropertyInfo>(typeof (PhotoSession).GetProperties());
                    completionWindow = new CompletionWindow(textEditor.TextArea);
                    // provide AvalonEdit with the data:
                    IList<ICompletionData> data = completionWindow.CompletionList.CompletionData;
                    foreach (PropertyInfo prop in props)
                    {
                        //object propValue = prop.GetValue(myObject, null);
                        if (prop.PropertyType == typeof (string) || prop.PropertyType == typeof (int) ||
                            prop.PropertyType == typeof (bool))
                        {
                            data.Add(new MyCompletionData(prop.Name.ToLower(), "", prop.Name.ToLower()));
                        }
                        // Do something with propValue
                    }
                    completionWindow.Show();
                    completionWindow.Closed += delegate { completionWindow = null; };
                }
                if (word == "{camera" && ServiceProvider.DeviceManager.SelectedCameraDevice != null)
                {
                    completionWindow = new CompletionWindow(textEditor.TextArea);
                    IList<ICompletionData> data = completionWindow.CompletionList.CompletionData;

                    CameraPreset preset = new CameraPreset();
                    preset.Get(ServiceProvider.DeviceManager.SelectedCameraDevice);
                    foreach (ValuePair value in preset.Values)
                    {
                        data.Add(new MyCompletionData(value.Name.Replace(" ", "").ToLower(),
                                                      "Current value :" + value.Value,
                                                      value.Name.Replace(" ", "").ToLower()));
                    }
                    completionWindow.Show();
                    completionWindow.Closed += delegate { completionWindow = null; };
                }
            }
            if (e.Text == " ")
            {
                string line = textEditor.GetLine();

                if (line.StartsWith("setcamera"))
                {
                    if (!line.Contains("property") && !line.Contains("value"))
                    {
                        completionWindow = new CompletionWindow(textEditor.TextArea);
                        IList<ICompletionData> data = completionWindow.CompletionList.CompletionData;
                        data.Add(new MyCompletionData("property", "", "property"));
                        completionWindow.Show();
                        completionWindow.Closed += delegate { completionWindow = null; };
                    }
                    if (line.Contains("property") && !line.Contains("value"))
                    {
                        completionWindow = new CompletionWindow(textEditor.TextArea);
                        IList<ICompletionData> data = completionWindow.CompletionList.CompletionData;
                        data.Add(new MyCompletionData("value", "", "value"));
                        completionWindow.Show();
                        completionWindow.Closed += delegate { completionWindow = null; };
                    }
                }
            }


            if (e.Text == "=" && ServiceProvider.DeviceManager.SelectedCameraDevice != null)
            {
                string line = textEditor.GetLine();
                string word = textEditor.GetWordBeforeDot();
                if (line.StartsWith("setcamera"))
                {
                    if (word == "property")
                    {
                        completionWindow = new CompletionWindow(textEditor.TextArea);
                        IList<ICompletionData> data = completionWindow.CompletionList.CompletionData;
                        data.Add(new MyCompletionData("\"" + "aperture" + "\"", "", "aperture"));
                        data.Add(new MyCompletionData("\"" + "iso" + "\"", "", "iso"));
                        data.Add(new MyCompletionData("\"" + "shutter" + "\"", "", "shutter"));
                        data.Add(new MyCompletionData("\"" + "ec" + "\"", "Exposure Compensation", "ec"));
                        data.Add(new MyCompletionData("\"" + "wb" + "\"", "White Balance", "wb"));
                        data.Add(new MyCompletionData("\"" + "cs" + "\"", "Compression Setting", "cs"));
                        completionWindow.Show();
                        completionWindow.Closed += delegate { completionWindow = null; };
                    }
                    if (word == "value")
                    {
                        if (line.Contains("property=\"aperture\"") &&
                            ServiceProvider.DeviceManager.SelectedCameraDevice.FNumber != null)
                        {
                            completionWindow = new CompletionWindow(textEditor.TextArea);
                            IList<ICompletionData> data = completionWindow.CompletionList.CompletionData;

                            foreach (string value in ServiceProvider.DeviceManager.SelectedCameraDevice.FNumber.Values)
                            {
                                data.Add(new MyCompletionData("\"" + value + "\"", value, value));
                            }
                            completionWindow.Show();
                            completionWindow.Closed += delegate { completionWindow = null; };
                        }
                        if (line.Contains("property=\"iso\"") &&
                            ServiceProvider.DeviceManager.SelectedCameraDevice.IsoNumber != null)
                        {
                            completionWindow = new CompletionWindow(textEditor.TextArea);
                            IList<ICompletionData> data = completionWindow.CompletionList.CompletionData;

                            foreach (string value in ServiceProvider.DeviceManager.SelectedCameraDevice.IsoNumber.Values
                                )
                            {
                                data.Add(new MyCompletionData("\"" + value + "\"", value, value));
                            }
                            completionWindow.Show();
                            completionWindow.Closed += delegate { completionWindow = null; };
                        }
                        if (line.Contains("property=\"shutter\"") &&
                            ServiceProvider.DeviceManager.SelectedCameraDevice.ShutterSpeed != null)
                        {
                            completionWindow = new CompletionWindow(textEditor.TextArea);
                            IList<ICompletionData> data = completionWindow.CompletionList.CompletionData;

                            foreach (
                                string value in ServiceProvider.DeviceManager.SelectedCameraDevice.ShutterSpeed.Values)
                            {
                                data.Add(new MyCompletionData("\"" + value + "\"", value, value));
                            }
                            completionWindow.Show();
                            completionWindow.Closed += delegate { completionWindow = null; };
                        }
                        if (line.Contains("property=\"ec\"") &&
                            ServiceProvider.DeviceManager.SelectedCameraDevice.ExposureCompensation != null)
                        {
                            completionWindow = new CompletionWindow(textEditor.TextArea);
                            IList<ICompletionData> data = completionWindow.CompletionList.CompletionData;

                            foreach (
                                string value in
                                    ServiceProvider.DeviceManager.SelectedCameraDevice.ExposureCompensation.Values)
                            {
                                data.Add(new MyCompletionData("\"" + value + "\"", value, value));
                            }
                            completionWindow.Show();
                            completionWindow.Closed += delegate { completionWindow = null; };
                        }
                        if (line.Contains("property=\"wb\"") &&
                            ServiceProvider.DeviceManager.SelectedCameraDevice.WhiteBalance != null)
                        {
                            completionWindow = new CompletionWindow(textEditor.TextArea);
                            IList<ICompletionData> data = completionWindow.CompletionList.CompletionData;

                            foreach (
                                string value in
                                    ServiceProvider.DeviceManager.SelectedCameraDevice.WhiteBalance.Values)
                            {
                                data.Add(new MyCompletionData("\"" + value + "\"", value, value));
                            }
                            completionWindow.Show();
                            completionWindow.Closed += delegate { completionWindow = null; };
                        }
                        if (line.Contains("property=\"cs\"") &&
                            ServiceProvider.DeviceManager.SelectedCameraDevice.CompressionSetting != null)
                        {
                            completionWindow = new CompletionWindow(textEditor.TextArea);
                            IList<ICompletionData> data = completionWindow.CompletionList.CompletionData;

                            foreach (
                                string value in
                                    ServiceProvider.DeviceManager.SelectedCameraDevice.CompressionSetting.Values)
                            {
                                data.Add(new MyCompletionData("\"" + value + "\"", value, value));
                            }
                            completionWindow.Show();
                            completionWindow.Closed += delegate { completionWindow = null; };
                        }
                    }
                }
            }
        }
Esempio n. 11
0
        public void Save(CameraPreset preset)
        {
            if (preset == null)
                return;
            try
            {
                if (!Directory.Exists(PresetFolder))
                    Directory.CreateDirectory(PresetFolder);

                preset.Save(preset.FileName);
            }
            catch (Exception exception)
            {
                Log.Error("Unable to save preset " + preset.Name, exception);
            }
        }
 private void MenuItem_Click_4(object sender, RoutedEventArgs e)
 {
     CameraPreset cameraPreset = new CameraPreset();
     SavePresetWnd wnd = new SavePresetWnd(cameraPreset);
     if (wnd.ShowDialog() == true)
     {
         foreach (CameraPreset preset in ServiceProvider.Settings.CameraPresets)
         {
             if (preset.Name == cameraPreset.Name)
             {
                 cameraPreset = preset;
                 break;
             }
         }
         cameraPreset.Get(ServiceProvider.DeviceManager.SelectedCameraDevice);
         if (!ServiceProvider.Settings.CameraPresets.Contains(cameraPreset))
             ServiceProvider.Settings.CameraPresets.Add(cameraPreset);
         ServiceProvider.Settings.Save();
     }
 }
 private void SelectPreset(CameraPreset preset)
 {
     preset.Set(ServiceProvider.DeviceManager.SelectedCameraDevice);
 }
Esempio n. 14
0
 private void VerifyPreset(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.Verify(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 DeletePreset(CameraPreset obj)
 {
     if (obj == null)
         return;
     ServiceProvider.Settings.CameraPresets.Remove(obj);
 }
Esempio n. 16
0
        private void DeletePreset(CameraPreset obj)
        {
            if (obj == null)
                return;
            ServiceProvider.Settings.CameraPresets.Remove(obj);
            try
            {
                File.Delete(obj.FileName);
            }
            catch (Exception)
            {

            }
        }
Esempio n. 17
0
 private void SelectPreset(CameraPreset preset)
 {
     if (preset == null)
         return;
     try
     {
         preset.Set(ServiceProvider.DeviceManager.SelectedCameraDevice);
     }
     catch (Exception exception)
     {
         Log.Error("Error set preset", exception);
     }
 }
Esempio n. 18
0
        static int ExecuteArgs()
        {
            try
            {

                if (_arguments.Contains("export"))
                {
                    if (string.IsNullOrEmpty(_arguments["export"]))
                    {
                        Console.WriteLine("No export file is specified");
                    }
                    else
                    {
                        using (StreamWriter writer = File.CreateText(_arguments["export"]))
                        {
                            Console.WriteLine("Exporting properties to: " + _arguments["export"]);
                            CameraPreset preset = new CameraPreset();
                            preset.Get(ServiceProvider.DeviceManager.SelectedCameraDevice);
                            foreach (ValuePair valuePair in preset.Values)
                            {
                                writer.WriteLine("\"{0}\",\"{1}\"", valuePair.Name, valuePair.Value);
                            }
                            writer.Close();
                        }
                    }
                }
                if (_arguments.Contains("session"))
                {
                    PhotoSession session = ServiceProvider.Settings.GetSession(_arguments["session"]);
                    if (session != null)
                    {
                        Console.WriteLine("Using session {0}", _arguments["session"]);
                        ServiceProvider.Settings.DefaultSession = session;
                    }
                    else
                    {
                        Console.WriteLine("Session not found {0}! Using default session", _arguments["session"]);
                    }
                }
                if (_arguments.Contains("preset"))
                {
                    CameraPreset preset = ServiceProvider.Settings.GetPreset(_arguments["preset"]);
                    if (preset != null)
                    {
                        Console.WriteLine("Using preset {0}", _arguments["preset"]);
                        foreach (ICameraDevice cameraDevice in ServiceProvider.DeviceManager.ConnectedDevices)
                        {
                            preset.Set(cameraDevice);
                        }
                    }
                    else
                    {
                        Console.WriteLine("Preset not found {0}!", _arguments["preset"]);
                    }
                }
                if (_arguments.Contains("folder"))
                {
                    if (string.IsNullOrEmpty(_arguments["folder"]))
                    {
                        Console.WriteLine("No folder !!!");
                    }
                    else
                    {
                        ServiceProvider.Settings.DefaultSession.Folder = _arguments["folder"];
                    }
                }
                if (_arguments.Contains("filenametemplate"))
                {
                    if (string.IsNullOrEmpty(_arguments["filenametemplate"]))
                    {
                        Console.WriteLine("Wrong filename !!!");
                    }
                    else
                    {
                        ServiceProvider.Settings.DefaultSession.FileNameTemplate = _arguments["filenametemplate"];
                    }
                }
                if (_arguments.Contains("counter"))
                {
                    int i = 0;
                    string val = _arguments["counter"];
                    if (string.IsNullOrEmpty(_arguments["counter"]) || !int.TryParse(val, out i))
                    {
                        Console.WriteLine("Wrong counter !!!");
                    }
                    else
                    {
                        ServiceProvider.Settings.DefaultSession.Counter = i;
                    }
                }
                if (_arguments.Contains("filename"))
                {
                    _outFilename = _arguments["filename"];
                    //if(string.IsNullOrEmpty(_outFilename))
                    //{
                    //    SaveFileDialog dlg = new SaveFileDialog();
                    //    dlg.Filter = "Jpg file (*.jpg)|*.jpg|All files|*.*";
                    //    if(dlg.ShowDialog()==DialogResult.OK)
                    //    {
                    //        _outFilename = dlg.FileName;
                    //    }
                    //}
                }
                if (_arguments.Contains("iso"))
                {
                    if (string.IsNullOrEmpty(_arguments["iso"]))
                    {
                        Console.WriteLine("No iso number !!!");
                    }
                    else
                    {
                        Thread.Sleep(200);
                        ServiceProvider.DeviceManager.SelectedCameraDevice.IsoNumber.SetValue(_arguments["iso"]);
                    }
                }
                if (_arguments.Contains("aperture"))
                {
                    if (string.IsNullOrEmpty(_arguments["aperture"]))
                    {
                        Console.WriteLine("No aperture number !!!");
                    }
                    else
                    {
                        Thread.Sleep(200);
                        ServiceProvider.DeviceManager.SelectedCameraDevice.FNumber.SetValue("ƒ/" + _arguments["aperture"]);
                    }
                }
                if (_arguments.Contains("shutter"))
                {
                    if (string.IsNullOrEmpty(_arguments["shutter"]))
                    {
                        Console.WriteLine("No shutter number !!!");
                    }
                    else
                    {
                        Thread.Sleep(200);
                        ServiceProvider.DeviceManager.SelectedCameraDevice.ShutterSpeed.SetValue(_arguments["shutter"]);
                    }
                }
                if (_arguments.Contains("ec"))
                {
                    if (string.IsNullOrEmpty(_arguments["ec"]))
                    {
                        Console.WriteLine("No ec number !!!");
                    }
                    else
                    {
                        Thread.Sleep(200);
                        ServiceProvider.DeviceManager.SelectedCameraDevice.ExposureCompensation.SetValue( _arguments["ec"]);
                    }
                }

                if (_arguments.Contains("comment"))
                {
                    Thread.Sleep(200);
                    ServiceProvider.DeviceManager.SelectedCameraDevice.SetCameraField(CameraFieldType.Comment, _arguments["comment"]);
                    Console.WriteLine("Comment was set");
                }
                if (_arguments.Contains("artist"))
                {
                    Thread.Sleep(200);
                    ServiceProvider.DeviceManager.SelectedCameraDevice.SetCameraField(CameraFieldType.Artist, _arguments["artist"]);
                    Console.WriteLine("Artist was set");
                }
                if (_arguments.Contains("copyright"))
                {
                    Thread.Sleep(200);
                    ServiceProvider.DeviceManager.SelectedCameraDevice.SetCameraField(CameraFieldType.Copyright, _arguments["copyright"]);
                    Console.WriteLine("Copyright was set");
                }

                if (_arguments.Contains("capture"))
                {
                    new Thread(Capture).Start();
                    Thread.Sleep(200);
                    return 0;
                }

                if (_arguments.Contains("capturenoaf"))
                {
                    try
                    {
                        ServiceProvider.DeviceManager.SelectedCameraDevice.CapturePhotoNoAf();
                    }
                    catch (Exception exception)
                    {
                        Console.WriteLine("Error occurred while capturing photo " + exception);
                        ServiceProvider.DeviceManager.SelectedCameraDevice.IsBusy = false;
                        return 1;
                    }

                    return 0;
                }
                if (_arguments.Contains("captureall"))
                {
                    foreach (ICameraDevice cameraDevice in ServiceProvider.DeviceManager.ConnectedDevices)
                    {
                        ICameraDevice device = cameraDevice;
                        new Thread(device.CapturePhoto).Start();
                    }
                }
                if (_arguments.Contains("captureallnoaf"))
                {
                    foreach (ICameraDevice cameraDevice in ServiceProvider.DeviceManager.ConnectedDevices)
                    {
                        ICameraDevice device = cameraDevice;
                        new Thread(device.CapturePhotoNoAf).Start();
                    }
                }
            }
            catch (Exception exception)
            {
                Log.Error(exception);
                Console.WriteLine(exception.Message);
                return 1;
            }
            return 0;
        }
Esempio n. 19
0
        public string ParseString(string input)
        {
            if (string.IsNullOrEmpty(input))
                return "";

            StringBuilder output = new StringBuilder(input);
            int offset = 0;

            Regex variablePattern = new Regex(@"\${([^:{}]+)(?::([^}\(]+))?(?:\(([^\)]+)\))?}");
            MatchCollection matches = variablePattern.Matches(input);
            foreach (Match currMatch in matches)
            {
                string varName = "";
                string modifier = string.Empty;
                string value = string.Empty;
                string options = string.Empty;

                // get rid of the escaped variable string
                output.Remove(currMatch.Index + offset, currMatch.Length);

                // grab details for this parse
                varName = currMatch.Groups[1].Value;

                if (varName.StartsWith("session."))
                {
                    IList<PropertyInfo> props = new List<PropertyInfo>(typeof (PhotoSession).GetProperties());
                    foreach (PropertyInfo prop in props)
                    {
                        //object propValue = prop.GetValue(myObject, null);
                        if (prop.PropertyType == typeof (string) || prop.PropertyType == typeof (int) ||
                            prop.PropertyType == typeof (bool))
                        {
                            if (varName.Split('.')[1].ToLower() == prop.Name.ToLower())
                            {
                                value = prop.GetValue(ServiceProvider.Settings.DefaultSession, null).ToString();
                            }
                        }
                        // Do something with propValue
                    }
                }
                if (varName.StartsWith("camera."))
                {
                    if (ServiceProvider.DeviceManager.SelectedCameraDevice != null)
                    {
                        CameraPreset preset = new CameraPreset();
                        preset.Get(ServiceProvider.DeviceManager.SelectedCameraDevice);
                        foreach (ValuePair pair in preset.Values)
                        {
                            if (varName.Split('.')[1].ToLower() == pair.Name.Replace(" ", "").ToLower())
                                value = pair.Value;
                        }
                    }
                }
                else
                {
                    value = Variabiles[varName];
                }


                if (currMatch.Groups.Count >= 3)
                    modifier = currMatch.Groups[2].Value.ToLower();
                if (currMatch.Groups.Count >= 4)
                    options = currMatch.Groups[3].Value;

                // if there is no variable for what was passed in we are done
                if (string.IsNullOrEmpty(value))
                {
                    offset -= currMatch.Length;
                    continue;
                }

                //// handle any modifiers
                //if (!modifier.IsNullOrWhiteSpace())
                //{
                //    IValueModifier handler = Load(modifier);
                //    if (handler != null)
                //    {
                //        value = handler.Parse(this.Context, value, options);
                //    }
                //}

                output.Insert(currMatch.Index + offset, value);
                offset = offset - currMatch.Length + value.Length;
            }

            // if we did some replacements search again to check for embedded variables
            if (matches.Count > 0)
                return ParseString(output.ToString());
            else return output.ToString();
        }
Esempio n. 20
0
 public void ExecuteCommand(string cmd, object param)
 {
     if (param == null)
         param = ServiceProvider.DeviceManager.SelectedCameraDevice;
     lock (_locker)
     {
         switch (cmd)
         {
             case WindowsCmdConsts.LiveViewWnd_Show:
                 {
                     if (!_register.ContainsKey(param))
                     {
                         Application.Current.Dispatcher.Invoke(new Action(delegate
                         {
                             LiveViewWnd wnd = new LiveViewWnd();
                             ServiceProvider.Settings.ApplyTheme(wnd);
                             _register.Add(param, wnd);
                             wnd.Owner = ServiceProvider.PluginManager.SelectedWindow as Window;
                         }));
                     }
                     NikonBase nikonBase = param as NikonBase;
                     if (nikonBase != null && ServiceProvider.Settings.EasyLiveViewControl)
                     {
                         CameraPreset preset = new CameraPreset();
                         preset.Get(nikonBase);
                         if (!_presets.ContainsKey(nikonBase))
                             _presets.Add(nikonBase, preset);
                         else
                             _presets[nikonBase] = preset;
                         if (nikonBase.ShutterSpeed.Value == "Bulb")
                         {
                             nikonBase.ShutterSpeed.Value =
                                 nikonBase.ShutterSpeed.Values[nikonBase.ShutterSpeed.Values.Count / 2];
                         }
                         nikonBase.FocusMode.Value = nikonBase.FocusMode.Values[0];
                         nikonBase.FNumber.Value = nikonBase.FNumber.Values[0];
                     }
                     _register[param].ExecuteCommand(cmd, param);
                 }
                 break;
             case WindowsCmdConsts.LiveViewWnd_Hide:
             {
                 if (_register.ContainsKey(param))
                     _register[param].ExecuteCommand(cmd, param);
                 var nikonBase = param as NikonBase;
                 if (ServiceProvider.Settings.EasyLiveViewControl)
                 {
                     if (nikonBase != null && _presets.ContainsKey(nikonBase))
                     {
                         nikonBase.ShutterSpeed.Value = _presets[nikonBase].GetValue("ShutterSpeed");
                         nikonBase.FNumber.Value = _presets[nikonBase].GetValue("FNumber");
                         nikonBase.FocusMode.Value = _presets[nikonBase].GetValue("FocusMode");
                     }
                 }
             }
                 break;
             case CmdConsts.All_Minimize:
             case CmdConsts.All_Close:
                 foreach (var liveViewWnd in _register)
                 {
                     liveViewWnd.Value.ExecuteCommand(cmd, param);
                 }
                 break;
             default:
                 if (cmd.StartsWith("LiveView"))
                 {
                     foreach (var liveViewWnd in _register)
                     {
                         liveViewWnd.Value.ExecuteCommand(cmd, param);
                     }
                 }
                 break;
         }
     }
 }
Esempio n. 21
0
        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;
            }
        }
Esempio n. 22
0
        public void Save(CameraPreset preset)
        {
            if (preset == null)
                return;
            try
            {
                if (!Directory.Exists(PresetFolder))
                    Directory.CreateDirectory(PresetFolder);

                string filename = Path.Combine(PresetFolder, preset.Name + ".xml");
                preset.Save(filename);
            }
            catch (Exception exception)
            {
                Log.Error("Unable to save preset " + preset.Name, exception);
            }
        }