private async Task TogglePlayback() { ReloadSprites(); if (player.IsPlaying()) { menuItemPlayPause.Text = "Play"; if (Settings.Get <bool>("ThumbnailButton") && !Settings.Get <bool>("HideFromAltTab")) { button.Icon = Properties.Resources.play_ico; button.Tooltip = "Play"; } centerPanel.StopVisualiser(player); await player.Stop(); } else { menuItemPlayPause.Text = "Pause"; if (Settings.Get <bool>("ThumbnailButton") && !Settings.Get <bool>("HideFromAltTab")) { button.Icon = Properties.Resources.pause_ico; button.Tooltip = "Pause"; } centerPanel.StartVisualiser(player); player.Play(); } }
private async Task TogglePlayback() { if (player.IsPlaying()) { Task stopTask = player.Stop(false); ReloadSprites(); menuItemPlayPause.Text = Localisation.Current.tPlay; if (Settings.Get <bool>(Setting.ThumbnailButton) && !Settings.Get <bool>(Setting.HideFromAltTab)) { button.Icon = Properties.Resources.play_ico; button.Tooltip = Localisation.Current.tPlay; } centerPanel.StopVisualiser(player); await stopTask; } else { player.Play(); ReloadSprites(); menuItemPlayPause.Text = Localisation.Current.tPause; if (Settings.Get <bool>(Setting.ThumbnailButton) && !Settings.Get <bool>(Setting.HideFromAltTab)) { button.Icon = Properties.Resources.pause_ico; button.Tooltip = Localisation.Current.tPause; } centerPanel.StartVisualiser(player); } }
private async Task TogglePlayback() { if (player.IsPlaying()) { Task stopTask = player.Stop(); ReloadSprites(); menuItemPlayPause.Text = "Play"; if (Settings.Get <bool>(Setting.ThumbnailButton) && !Settings.Get <bool>(Setting.HideFromAltTab)) { button.Icon = Properties.Resources.play_ico; button.Tooltip = "Play"; } if (Settings.Get <bool>(Setting.EnableVisualiser)) { centerPanel.StopVisualiser(player); } await stopTask; } else { player.Play(); ReloadSprites(); menuItemPlayPause.Text = "Pause"; if (Settings.Get <bool>(Setting.ThumbnailButton) && !Settings.Get <bool>(Setting.HideFromAltTab)) { button.Icon = Properties.Resources.pause_ico; button.Tooltip = "Pause"; } if (Settings.Get <bool>(Setting.EnableVisualiser)) { centerPanel.StartVisualiser(player); } } }
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 async Task ReloadStream() { centerPanel.StopVisualiser(player); // Reload audio stream await player.Stop(); string stream = Settings.Get <StreamType>(Setting.StreamType) == StreamType.Jpop ? JPOP_STREAM : KPOP_STREAM; player.SetStreamUrl(stream); player.Play(); // Reload web socket songInfoStream.Reconnect(); centerPanel.ReloadVisualiser(); if (Settings.Get <bool>(Setting.EnableVisualiser)) { centerPanel.StartVisualiser(player); } }
private async Task TogglePlayback() { if (player.IsPlaying()) { picPlayPause.Image = Properties.Resources.play; menuItemPlayPause.Text = "Play"; visualiser.Stop(); await player.Stop(); } else { picPlayPause.Image = Properties.Resources.pause; menuItemPlayPause.Text = "Pause"; visualiser.Start(); player.Play(); } }
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(); }