public PreferencesWindow() { InitializeComponent(); #if DEBUG this.AttachDevTools(); #endif UpdateTopmost(Preferences.AlwaysOnTop); Preferences.AlwaysOnTopChanged += UpdateTopmost; Preferences.Window = this; TextBlock Version = this.Get <TextBlock>("Version"); Version.Text += Program.Version; if (Github.AvaloniaVersion() != "") { ToolTip.SetTip(Version, $"Avalonia {Github.AvaloniaVersion()}"); } AlwaysOnTop.IsChecked = Preferences.AlwaysOnTop; CenterTrackContents.IsChecked = Preferences.CenterTrackContents; ChainSignalIndicators.IsChecked = Preferences.ChainSignalIndicators; DeviceSignalIndicators.IsChecked = Preferences.DeviceSignalIndicators; ColorDisplayFormat.SelectedIndex = (int)Preferences.ColorDisplayFormat; LaunchpadStyle.SelectedIndex = (int)Preferences.LaunchpadStyle; LaunchpadGridRotation.SelectedIndex = Convert.ToInt32(Preferences.LaunchpadGridRotation); LaunchpadModel.SelectedIndex = (int)Preferences.LaunchpadModel; AutoCreateKeyFilter.IsChecked = Preferences.AutoCreateKeyFilter; AutoCreateMacroFilter.IsChecked = Preferences.AutoCreateMacroFilter; AutoCreatePattern.IsChecked = Preferences.AutoCreatePattern; FadeSmoothness.Value = Preferences.FadeSmoothnessSlider; CopyPreviousFrame.IsChecked = Preferences.CopyPreviousFrame; CaptureLaunchpad.IsChecked = Preferences.CaptureLaunchpad; EnableGestures.IsChecked = Preferences.EnableGestures; Monochrome.IsChecked = Preferences.ImportPalette == Palettes.Monochrome; NovationPalette.IsChecked = Preferences.ImportPalette == Palettes.NovationPalette; CustomPalette.Content = $"Custom Retina Palette - {Preferences.PaletteName}"; CustomPalette.IsChecked = Preferences.ImportPalette == Palettes.CustomPalette; Dark.IsChecked = Preferences.Theme == ThemeType.Dark; Light.IsChecked = Preferences.Theme == ThemeType.Light; Backup.IsChecked = Preferences.Backup; Autosave.IsChecked = Preferences.Autosave; UndoLimit.IsChecked = Preferences.UndoLimit; DiscordPresence.IsChecked = Preferences.DiscordPresence; DiscordFilename.IsChecked = Preferences.DiscordFilename; CheckForUpdates.IsChecked = Preferences.CheckForUpdates; UpdateTime(null, EventArgs.Empty); Timer = new DispatcherTimer() { Interval = new TimeSpan(0, 0, 1) }; Timer.Tick += UpdateTime; Timer.Start(); UpdatePorts(); MIDI.DevicesUpdated += HandlePorts; fade.MIDIExit = FadeExit; }
public PreferencesWindow() { InitializeComponent(); #if DEBUG this.AttachDevTools(); #endif UpdateTopmost(Preferences.AlwaysOnTop); Preferences.AlwaysOnTopChanged += UpdateTopmost; Preferences.Window = this; TextBlock Version = this.Get <TextBlock>("Version"); Version.Text += Program.Version; if (Github.AvaloniaVersion() != "") { ToolTip.SetTip(Version, $"Avalonia {Github.AvaloniaVersion()}"); } ToolTip.SetTip(this.Get <TextBlock>("LaunchpadHeader"), $"RtMidi APIs:\n{string.Join("- \n", MidiDeviceManager.Default.GetAvailableMidiApis())}"); fade.MIDIExit = FadeExit; fade.Initialize(); AlwaysOnTop.IsChecked = Preferences.AlwaysOnTop; CenterTrackContents.IsChecked = Preferences.CenterTrackContents; ChainSignalIndicators.IsChecked = Preferences.ChainSignalIndicators; DeviceSignalIndicators.IsChecked = Preferences.DeviceSignalIndicators; ColorDisplayFormat.SelectedIndex = (int)Preferences.ColorDisplayFormat; LaunchpadStyle.SelectedIndex = (int)Preferences.LaunchpadStyle; LaunchpadGridRotation.SelectedIndex = Convert.ToInt32(Preferences.LaunchpadGridRotation); LaunchpadModel.SelectedIndex = (int)Preferences.LaunchpadModel; AutoCreateKeyFilter.IsChecked = Preferences.AutoCreateKeyFilter; AutoCreateMacroFilter.IsChecked = Preferences.AutoCreateMacroFilter; AutoCreatePattern.IsChecked = Preferences.AutoCreatePattern; FPSLimit.RawValue = Preferences.FPSLimit; CopyPreviousFrame.IsChecked = Preferences.CopyPreviousFrame; CaptureLaunchpad.IsChecked = Preferences.CaptureLaunchpad; EnableGestures.IsChecked = Preferences.EnableGestures; RememberPatternPosition.IsChecked = Preferences.RememberPatternPosition; Monochrome.IsChecked = Preferences.ImportPalette == Palettes.Monochrome; NovationPalette.IsChecked = Preferences.ImportPalette == Palettes.NovationPalette; CustomPalette.Content = $"Custom Retina Palette - {Preferences.PaletteName}"; CustomPalette.IsChecked = Preferences.ImportPalette == Palettes.CustomPalette; Dark.IsChecked = Preferences.Theme == ThemeType.Dark; Light.IsChecked = Preferences.Theme == ThemeType.Light; Backup.IsChecked = Preferences.Backup; Autosave.IsChecked = Preferences.Autosave; UndoLimit.IsChecked = Preferences.UndoLimit; DiscordPresence.IsChecked = Preferences.DiscordPresence; DiscordFilename.IsChecked = Preferences.DiscordFilename; CheckForUpdates.IsChecked = Preferences.CheckForUpdates; #if !PRERELEASE if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { CheckForUpdates.IsChecked = false; #endif CheckForUpdates.IsEnabled = false; #if PRERELEASE ToolTip.SetTip((Control)CheckForUpdates.Parent, "Auto-updating is not supported on prerelease"); #else ToolTip.SetTip((Control)CheckForUpdates.Parent, "Auto-updating is not supported on Linux"); } #endif UpdateTime(null, EventArgs.Empty); Timer = new DispatcherTimer() { Interval = new TimeSpan(0, 0, 1) } ; Timer.Tick += UpdateTime; Timer.Start(); UpdatePorts(); MIDI.DevicesUpdated += HandlePorts; }