public FormSettings(MainForm mainForm, WebStreamPlayer player) { InitializeComponent(); this.Icon = Properties.Resources.icon; this.mainForm = mainForm; this.player = player; LoadAndBindCheckboxSetting(cbCloseToTray, "CloseToTray"); LoadAndBindCheckboxSetting(cbEnableVisualiser, "EnableVisualiser"); LoadAndBindCheckboxSetting(cbHideFromAltTab, "HideFromAltTab"); LoadAndBindCheckboxSetting(cbUpdateAutocheck, "UpdateAutocheck"); LoadAndBindCheckboxSetting(cbThumbnailButton, "ThumbnailButton"); LoadAndBindCheckboxSetting(cbTopmost, "TopMost"); LoadAndBindCheckboxSetting(cbVisualiserBars, "VisualiserBars"); LoadAndBindCheckboxSetting(cbVisualiserFadeEdges, "VisualiserFadeEdges"); LoadAndBindColorSetting(panelVisualiserColor, "VisualiserColor"); LoadAndBindColorSetting(panelBaseColor, "BaseColor"); LoadAndBindColorSetting(panelAccentColor, "AccentColor"); numericUpdateInterval.Value = Settings.Get <int>("UpdateInterval") / 60; numericUpdateInterval.ValueChanged += NumericUpdateInterval_ValueChanged; float scale = Settings.Get <float>("Scale"); tbResolutionScale.Value = (int)(scale * 10); lblResolutionScale.Text = scale.ToString("N1"); tbVisualiserOpacity.Value = (int)(Settings.Get <float>("VisualiserTransparency") * 255); float opacity = Settings.Get <float>("FormOpacity"); tbOpacity.Value = (int)(opacity * 255); lblOpacity.Text = opacity.ToString("N1"); panelNotLoggedIn.Visible = !User.LoggedIn; panelLoggedIn.Visible = User.LoggedIn; lblLoginStatus.Text = "Logged in as " + Settings.Get <string>("Username"); lblLoginStatus.Location = new Point((this.Width / 2) - (lblLoginStatus.Width / 2), lblLoginStatus.Location.Y); User.OnLoginComplete += () => { lblLoginStatus.Text = "Logged in as " + Settings.Get <string>("Username"); lblLoginStatus.Location = new Point((this.Width / 2) - (lblLoginStatus.Width / 2), lblLoginStatus.Location.Y); txtUsername.Clear(); txtPassword.Clear(); panelNotLoggedIn.Visible = false; panelLoggedIn.Visible = true; panelLoggedIn.BringToFront(); }; User.OnLogout += () => { panelLoggedIn.Visible = false; panelNotLoggedIn.Visible = true; panelNotLoggedIn.BringToFront(); }; #region AudioTab reloadAudioDevices(); #endregion }
public void StopVisualiser(WebStreamPlayer player) { if (Visualiser != null) { player.SetVisualiser(null); Visualiser.Stop(); } }
public MainForm() { InitializeComponent(); contextMenu1.MenuItems.Add(new MenuItem("LISTEN.moe Desktop Client v" + Globals.VERSION.ToString()) { Enabled = false }); Settings.LoadSettings(); //Write immediately after loading to flush any new default settings Settings.WriteSettings(); SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw, true); RawInput.RegisterDevice(HIDUsagePage.Generic, HIDUsage.Keyboard, RawInputDeviceFlags.InputSink, this.Handle); cts = new CancellationTokenSource(); ct = cts.Token; #pragma warning disable CS4014 CheckForUpdates(new TaskFactory(TaskScheduler.FromCurrentSynchronizationContext())); #pragma warning restore CS4014 StartUpdateAutochecker(); this.MouseWheel += Form1_MouseWheel; this.Icon = Properties.Resources.icon; lblAlbum.Bounds = new Rectangle(58, 26, 321, 22); lblTitle.Bounds = new Rectangle(56, 5, 321, 43); lblTitle.Text = "Connecting..."; notifyIcon1.ContextMenu = contextMenu2; notifyIcon1.Icon = Properties.Resources.icon; favSprite = SpriteLoader.LoadFavSprite(); fadedFavSprite = SpriteLoader.LoadFadedFavSprite(); picFavourite.Image = favSprite.Frames[0]; RawInput.RegisterCallback(VirtualKeys.MediaPlayPause, async() => { await TogglePlayback(); }); Connect(); player = new WebStreamPlayer("https://listen.moe/stream"); player.SetVisualiser(visualiser); player.Play(); renderLoop = Task.Run(() => { while (!ct.IsCancellationRequested) { this.Invalidate(); Thread.Sleep(33); } }); ReloadScale(); ReloadSettings(); }
public void StartVisualiser(WebStreamPlayer player) { if (Visualiser == null) { Visualiser = new AudioVisualiser(); Visualiser.SetBounds(new Rectangle(0, 0, this.Width, this.Height)); Visualiser.Start(); player.SetVisualiser(Visualiser); } }
public MainForm() { InitializeComponent(); this.MinimumSize = new Size(Settings.DEFAULT_WIDTH, Settings.DEFAULT_HEIGHT); SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw, true); centerPanel.MouseDown += Form1_MouseDown; centerPanel.MouseMove += Form1_MouseMove; centerPanel.MouseUp += Form1_MouseUp; panelRight.MouseDown += Form1_MouseDown; panelRight.MouseMove += Form1_MouseMove; panelRight.MouseUp += Form1_MouseUp; contextMenu1.MenuItems.Add(new MenuItem("LISTEN.moe Desktop Client v" + Globals.VERSION.ToString()) { Enabled = false }); Settings.LoadSettings(); //Write immediately after loading to flush any new default settings Settings.WriteSettings(); cts = new CancellationTokenSource(); ct = cts.Token; #pragma warning disable CS4014 CheckForUpdates(new TaskFactory(TaskScheduler.FromCurrentSynchronizationContext())); #pragma warning restore CS4014 StartUpdateAutochecker(); MouseWheel += Form1_MouseWheel; this.Icon = Properties.Resources.icon; notifyIcon1.ContextMenu = contextMenu2; notifyIcon1.Icon = Properties.Resources.icon; Task.Run(async() => await LoadFavSprite(heartFav)).Wait(); if (Settings.Get <bool>(Setting.ThumbnailButton)) { button = new ThumbnailToolBarButton(Properties.Resources.pause_ico, "Pause"); button.Click += async(_, __) => await TogglePlayback(); TaskbarManager.Instance.ThumbnailToolBars.AddButtons(this.Handle, button); } if (Settings.Get <bool>(Setting.DiscordPresence)) { InitDiscordPresence(); } Connect(); string stream = Settings.Get <StreamType>(Setting.StreamType) == StreamType.Jpop ? JPOP_STREAM : KPOP_STREAM; player = new WebStreamPlayer(stream); player.Play(); renderLoop = Task.Run(() => { while (!ct.IsCancellationRequested) { centerPanel.Invalidate(); Thread.Sleep(33); } }); ReloadScale(); ReloadSettings(); SizeChanged += MainForm_SizeChanged; UpdatePanelExcludedRegions(); }
public MainForm() { InitializeComponent(); SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw, true); centerPanel.MouseDown += Form1_MouseDown; centerPanel.MouseMove += Form1_MouseMove; centerPanel.MouseUp += Form1_MouseUp; panelRight.MouseDown += Form1_MouseDown; panelRight.MouseMove += Form1_MouseMove; panelRight.MouseUp += Form1_MouseUp; contextMenu1.MenuItems.Add(new MenuItem("LISTEN.moe Desktop Client v" + Globals.VERSION.ToString()) { Enabled = false }); Settings.LoadSettings(); //Write immediately after loading to flush any new default settings Settings.WriteSettings(); cts = new CancellationTokenSource(); ct = cts.Token; #pragma warning disable CS4014 CheckForUpdates(new TaskFactory(TaskScheduler.FromCurrentSynchronizationContext())); #pragma warning restore CS4014 StartUpdateAutochecker(); this.MouseWheel += Form1_MouseWheel; this.Icon = Properties.Resources.icon; notifyIcon1.ContextMenu = contextMenu2; notifyIcon1.Icon = Properties.Resources.icon; lightFavSprite = SpriteLoader.LoadFavSprite(); fadedFavSprite = SpriteLoader.LoadFadedFavSprite(); darkFavSprite = SpriteLoader.LoadDarkFavSprite(); favSprite = lightFavSprite; picFavourite.Image = favSprite.Frames[0]; if (Settings.Get <bool>("ThumbnailButton")) { button = new ThumbnailToolBarButton(Properties.Resources.pause_ico, "Pause"); button.Click += async(_, __) => await TogglePlayback(); TaskbarManager.Instance.ThumbnailToolBars.AddButtons(this.Handle, button); } Connect(); player = new WebStreamPlayer("https://listen.moe/stream"); player.SetVisualiser(centerPanel.Visualiser); player.Play(); renderLoop = Task.Run(() => { while (!ct.IsCancellationRequested) { centerPanel.Invalidate(); Thread.Sleep(33); } }); ReloadScale(); ReloadSettings(); this.SizeChanged += MainForm_SizeChanged; UpdatePanelExcludedRegions(); }
public void StartVisualiser(WebStreamPlayer player) { Visualiser.Start(); player.SetVisualiser(Visualiser); }