Пример #1
0
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            // Global exception handling
            Current.DispatcherUnhandledException += AppDispatcherUnhandledException;

            string procName = Process.GetCurrentProcess().ProcessName;

            // get the list of all processes by that name

            Process[] processes = Process.GetProcessesByName(procName);

            if (processes.Length > 1)
            {
                MessageBox.Show(TranslationStrings.LabelApplicationAlreadyRunning);
                Shutdown(-1);
                return;
            }

            ThemeManager.AddAccent("Astro", new Uri("pack://application:,,,/CameraControl;component/Resources/AstroAccent.xaml"));
            ThemeManager.AddAppTheme("Black", new Uri("pack://application:,,,/CameraControl;component/Resources/AstroTheme.xaml"));

            ServiceProvider.Branding = Branding.LoadBranding();
            if (ServiceProvider.Branding.ShowStartupScreen)
            {
                _startUpWindow = new StartUpWindow();
                _startUpWindow.Show();
            }

            Task.Factory.StartNew(InitApplication);
        }
Пример #2
0
 private static void InitApplication()
 {
     ServiceProvider.Branding = Branding.LoadBranding();
     ServiceProvider.ConfigureDatabase();
     ServiceProvider.Settings = new Settings();
     ServiceProvider.Settings = ServiceProvider.Settings.Load();
     ServiceProvider.Settings.LoadSessionData();
     ServiceProvider.WindowsManager = new WindowsManager();
     //WIAManager manager = new WIAManager();
     StaticHelper.Instance.PropertyChanged         += Instance_PropertyChanged;
     ServiceProvider.DeviceManager.CameraConnected += DeviceManagerCameraConnected;
     ServiceProvider.DeviceManager.ConnectToCamera();
     ServiceProvider.DeviceManager.PhotoCaptured += DeviceManager_PhotoCaptured;
     if (ServiceProvider.DeviceManager.SelectedCameraDevice.AttachedPhotoSession != null)
     {
         ServiceProvider.Settings.DefaultSession = (PhotoSession)
                                                   ServiceProvider.DeviceManager.SelectedCameraDevice.
                                                   AttachedPhotoSession;
     }
     foreach (ICameraDevice cameraDevice in ServiceProvider.DeviceManager.ConnectedDevices)
     {
         cameraDevice.CaptureCompleted += SelectedCameraDevice_CaptureCompleted;
     }
     ServiceProvider.ScriptManager.OutPutMessageReceived += ScriptManager_OutPutMessageReceived;
     //ServiceProvider.DeviceManager.SelectedCameraDevice.CaptureCompleted += SelectedCameraDevice_CaptureCompleted;
 }
Пример #3
0
        private void InitApplication()
        {
            // prevent some application crash
            //WpfCommands.DisableWpfTabletSupport();

            Dispatcher.Invoke(new Action(ServiceProvider.Configure));


            ServiceProvider.Settings = new Settings();
            ServiceProvider.Settings = ServiceProvider.Settings.Load();
            ServiceProvider.Branding = Branding.LoadBranding();

            ServiceProvider.ActionManager.Actions = new AsyncObservableCollection <IMenuAction>
            {
                //new CmdFocusStackingCombineZP(),
                //new CmdEnfuse(),
                // new CmdToJpg(),
                //new CmdExpJpg()
            };

            if (ServiceProvider.Settings.DisableNativeDrivers &&
                MessageBox.Show(TranslationStrings.MsgDisabledDrivers, "", MessageBoxButton.YesNo) ==
                MessageBoxResult.Yes)
            {
                ServiceProvider.Settings.DisableNativeDrivers = false;
            }
            ServiceProvider.Settings.LoadSessionData();
            TranslationManager.LoadLanguage(ServiceProvider.Settings.SelectedLanguage);

            ServiceProvider.PluginManager.CopyPlugins();
            Dispatcher.Invoke(new Action(InitWindowManager));


            ServiceProvider.Trigger.Start();
            ServiceProvider.Analytics.Start();



            Dispatcher.Invoke(new Action(delegate
            {
                try
                {
                    // event handlers
                    ServiceProvider.Settings.SessionSelected += Settings_SessionSelected;

                    ServiceProvider.DeviceManager.CameraConnected    += DeviceManager_CameraConnected;
                    ServiceProvider.DeviceManager.CameraSelected     += DeviceManager_CameraSelected;
                    ServiceProvider.DeviceManager.CameraDisconnected += DeviceManager_CameraDisconnected;
                    //-------------------
                    ServiceProvider.DeviceManager.DisableNativeDrivers = ServiceProvider.Settings.DisableNativeDrivers;
                    if (ServiceProvider.Settings.AddFakeCamera)
                    {
                        ServiceProvider.DeviceManager.AddFakeCamera();
                    }
                    ServiceProvider.DeviceManager.ConnectToCamera();
                }
                catch (Exception exception)
                {
                    Log.Error("Unable to initialize device manager", exception);
                    if (exception.Message.Contains("0AF10CEC-2ECD-4B92-9581-34F6AE0637F3"))
                    {
                        MessageBox.Show(
                            "Unable to initialize device manager !\nMissing some components! Please install latest Windows Media Player! ");
                        Application.Current.Shutdown(1);
                    }
                }
                StartApplication();
                if (_startUpWindow != null)
                {
                    _startUpWindow.Close();
                }
            }));
        }
Пример #4
0
        private void InitApplication()
        {
            try
            {
                // prevent some application crash
                //WpfCommands.DisableWpfTabletSupport();

                Dispatcher.Invoke(new Action(ServiceProvider.Configure));

                ServiceProvider.Settings = new Settings();
                ServiceProvider.Settings = ServiceProvider.Settings.Load();
                ServiceProvider.Branding = Branding.LoadBranding();

                if (ServiceProvider.Settings.DisableNativeDrivers &&
                    MessageBox.Show(TranslationStrings.MsgDisabledDrivers, "", MessageBoxButton.YesNo) ==
                    MessageBoxResult.Yes)
                {
                    ServiceProvider.Settings.DisableNativeDrivers = false;
                }
                ServiceProvider.Settings.LoadSessionData();
                TranslationManager.LoadLanguage(ServiceProvider.Settings.SelectedLanguage);

                ServiceProvider.PluginManager.CopyPlugins();
                Dispatcher.Invoke(new Action(InitWindowManager));


                ServiceProvider.Trigger.Start();
                ServiceProvider.Analytics.Start();
                BitmapLoader.Instance.MetaDataUpdated += Instance_MetaDataUpdated;


                Dispatcher.Invoke(new Action(delegate
                {
                    try
                    {
                        // event handlers
                        ServiceProvider.Settings.SessionSelected += Settings_SessionSelected;

                        ServiceProvider.DeviceManager.CameraConnected    += DeviceManager_CameraConnected;
                        ServiceProvider.DeviceManager.CameraSelected     += DeviceManager_CameraSelected;
                        ServiceProvider.DeviceManager.CameraDisconnected += DeviceManager_CameraDisconnected;
                        //-------------------
                        ServiceProvider.DeviceManager.DisableNativeDrivers =
                            ServiceProvider.Settings.DisableNativeDrivers;
                        if (ServiceProvider.Settings.AddFakeCamera)
                        {
                            ServiceProvider.DeviceManager.AddFakeCamera();
                        }
                        ServiceProvider.DeviceManager.LoadWiaDevices = ServiceProvider.Settings.WiaDeviceSupport;
                        ServiceProvider.DeviceManager.DetectWebcams  = ServiceProvider.Settings.WebcamSupport;
                        ServiceProvider.DeviceManager.ConnectToCamera();
                        if (ServiceProvider.Settings.DisableHardwareAccelerationNew)
                        {
                            OpenCL.IsEnabled = false;
                        }
                    }
                    catch (Exception exception)
                    {
                        Log.Error("Unable to initialize device manager", exception);
                        if (exception.Message.Contains("0AF10CEC-2ECD-4B92-9581-34F6AE0637F3"))
                        {
                            MessageBox.Show(
                                "Unable to initialize device manager !\nMissing some components! Please install latest Windows Media Player! ");
                            Application.Current.Shutdown(1);
                        }
                    }
                }));
                ServiceProvider.Database.StartEvent(EventType.App);
            }
            catch (Exception ex)
            {
                Log.Error("Fatal error ", ex);
            }

            Dispatcher.Invoke(new Action(delegate
            {
                StartApplication();
                if (_startUpWindow != null)
                {
                    _startUpWindow.Close();
                }
            }));
        }
        public bool Initialize()
        {
            this.logger.Clear();
            bool success = true;

            try
            {
                CameraControl.Devices.Log.LogDebug += Log_LogDebug;
                CameraControl.Devices.Log.LogInfo  += Log_LogInfo;
                CameraControl.Devices.Log.LogError += Log_LogError;

                if (ServiceProvider.Branding == null)
                {
                    ServiceProvider.Branding = Branding.LoadBranding();
                }

                ServiceProvider.Configure();

                ServiceProvider.Settings = new Settings();
                ServiceProvider.Settings = ServiceProvider.Settings.Load();

                ServiceProvider.Settings.DisableNativeDrivers      = false;
                ServiceProvider.DeviceManager.DisableNativeDrivers = ServiceProvider.Settings.DisableNativeDrivers;

                //ServiceProvider.Settings.DisableNativeDrivers = true;
                //ServiceProvider.DeviceManager.DisableNativeDrivers = true;
                ServiceProvider.DeviceManager.UseExperimentalDrivers = false;

                ServiceProvider.Settings.LoadSessionData();
                ServiceProvider.Settings.SessionSelected         += Settings_SessionSelected;
                ServiceProvider.DeviceManager.CameraConnected    += DeviceManager_CameraConnected;
                ServiceProvider.DeviceManager.CameraSelected     += DeviceManager_CameraSelected;
                ServiceProvider.DeviceManager.CameraDisconnected += DeviceManager_CameraDisconnected;

                success  = ServiceProvider.DeviceManager.ConnectToCamera();
                success &= this.Camera != null && this.Camera.IsConnected;

                if (!success)
                {
                    if (this.Camera != null)
                    {
                        if (this.logger.ToString().Contains("connected"))
                        {
                            success = true;
                        }
                    }
                }

                if (success)
                {
                    ServiceProvider.DeviceManager.PhotoCaptured += DeviceManager_PhotoCaptured;
                    this.logger.AppendLine(this.Camera.DisplayName);
                }
            }
            finally
            {
                CameraControl.Devices.Log.LogDebug -= Log_LogDebug;
                CameraControl.Devices.Log.LogInfo  -= Log_LogInfo;
                CameraControl.Devices.Log.LogError -= Log_LogError;
            }

            this.InitializationLog = this.logger.ToString();

            return(success);
        }