public VixenPlusForm(IEnumerable<string> args) { var startupArgs = args as IList<string> ?? args.ToList(); SetDataPath(); Ensure(Paths.DataPath); Ensure(Paths.SequencePath); Ensure(Paths.ImportExportPath); Ensure(Paths.AudioPath); Ensure(Paths.ProfilePath); Ensure(Paths.SupportingFilesPath); Ensure(Paths.ProfileGeneration); Ensure(Paths.MapperPath); Ensure(Paths.NutcrackerDataPath); Ensure(Paths.RoutinePath); Ensure(Paths.CurveLibraryPath); _preferences = Preference2.GetInstance(); PrepareUpdateSupportFiles(); using (var splash = new Splash()) { var screen = Preference2.GetScreen(_preferences.GetString("PrimaryDisplay")); splash.FadeIn(screen); if (CheckForUpdates(screen, true)) { Environment.Exit(0); } InitializeComponent(); Icon = common.Resources.VixenPlus; SetVendorData(); _registeredFileTypes = new Dictionary<string, IUIPlugIn>(); _preferences.PreferenceChange += PreferencesPreferenceChange; Interfaces.Available["ISystem"] = this; Interfaces.Available["IExecution"] = new ExecutionImpl(new Host(this)); _historyItemClick = HistoryItemClick; LoadHistory(); var loadableData = new LoadableData(); loadableData.LoadFromXml(_preferences.XmlDoc.DocumentElement); LoadUIPlugins(); Cursor = Cursors.WaitCursor; try { foreach (var sequence in startupArgs.Where(File.Exists)) { OpenSequence(sequence); } } finally { Cursor = Cursors.Default; } SetShutdownTime(_preferences.GetString("ShutdownTime")); splash.FadeOut(); Left = screen.Bounds.Left; Top = screen.Bounds.Top; } }