public static void Main(string[] args) { TabsterEnvironment.CreateDirectories(); // prepare logging var logDirectory = TabsterEnvironment.CreateEnvironmentDirectoryPath(TabsterEnvironmentDirectory.ApplicatonData, "Logs"); Logging.SetLogDirectory(logDirectory); // log all the errors AppDomain.CurrentDomain.UnhandledException += (s, e) => { var ex = (Exception)e.ExceptionObject; Logging.GetLogger().Error(ex); }; _pluginManager = new PluginManager(TabsterEnvironment.CreateEnvironmentDirectoryPath(TabsterEnvironmentDirectory.ApplicatonData, "Plugins")); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var assemblyGuid = ((GuidAttribute)Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(GuidAttribute), true)[0]).Value; var filename = Path.Combine(TabsterEnvironment.GetEnvironmentDirectoryPath(TabsterEnvironmentDirectory.ApplicatonData), string.Format("{0}.tmp", assemblyGuid)); using (var instanceController = new TabsterSingleInstanceController(filename)) { instanceController.Start(new ReadOnlyCollection <string>(args)); } }
public MainForm() { var tablatureDirectory = TabsterEnvironment.CreateEnvironmentDirectoryPath(TabsterEnvironmentDirectory.UserData, "Library"); var databasePath = Path.Combine(TabsterEnvironment.GetEnvironmentDirectoryPath(TabsterEnvironmentDirectory.ApplicatonData), "library.db"); var fileProcessor = new TabsterFileProcessor <TablatureFile>(Constants.TablatureFileVersion); Logging.GetLogger().Info(string.Format("Initializing database: {0}", databasePath)); _databaseHelper = new TabsterDatabaseHelper(databasePath); _libraryManager = new LibraryManager(_databaseHelper, fileProcessor, tablatureDirectory); _playlistManager = new PlaylistManager(_databaseHelper, fileProcessor); _recentFilesManager = new RecentFilesManager(_databaseHelper, fileProcessor, Settings.Default.MaxRecentItems); InitializeComponent(); Text = string.Format("{0} v{1}", Application.ProductName, TabsterEnvironment.GetVersion().ToString(TabsterVersionFormatFlags.BuildString | TabsterVersionFormatFlags.Truncated)); #if PORTABLE Text = Text.Replace("Build", "Portable Build"); #endif InitAspectGetters(); UpdateSortColumnMenu(true); //tabviewermanager events TablatureViewForm.GetInstance(this).TabClosed += TabHandler_OnTabClosed; recentlyViewedMenuItem.MaxDisplayItems = Settings.Default.MaxRecentItems; recentlyViewedMenuItem.ClearItemClicked += recentlyViewedMenuItem_OnClearItemClicked; previewToolStrip.Renderer = new ToolStripRenderer(); if (Settings.Default.ClientState == FormWindowState.Maximized) { WindowState = FormWindowState.Maximized; } else { Size = Settings.Default.ClientSize; } ToggleEmptyLibraryOverlay(listViewLibrary, true); ToggleEmptyLibraryOverlay(listViewSearch, true); PreviewEditor.Font = TablatureFontManager.GetFont(); searchPreviewEditor.Font = TablatureFontManager.GetFont(); }