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