static NebulaClient() { AssemblyDirectory = GetAssemblyDirectory(); MainWindow = Application.Current.MainWindow as MainWindow; Settings = NebulaSettings.LoadSettings(); //Needs to be first Notifications = new NebulaNotifications(); Network = new NebulaNetClient(); MediaPlayer = new MediaPlayer(); Updater = new NebulaUpdater(); Playlists = new PlaylistsManager(); KeyboardHooker = new KeyboardHooker(); SharedSession = new NebulaSharedSession(); Session = new NebulaSession(); //Needs to be latest MediaProviders.Add(new YoutubeMediaProvider()); KeyboardHooker.KeyDown += OnGlobalKeyDown; if (Settings.General.MediaKeyEnabled) { KeyboardHooker.Hook(); } CancellationTokenSource = new CancellationTokenSource(); Task.Run(() => AppTick(CancellationTokenSource.Token, 500)); #if RELEASE CheckForUpdate(true); #endif }
private async void OnSaveSettingsClick(object sender, RoutedEventArgs e) { if (!(sender is Button button)) { return; } button.IsEnabled = false; await NebulaSettings.SaveSettingsAsync(); button.IsEnabled = true; }