private void Window_Closing(object sender, CancelEventArgs e) { if (InstanceManager.Instance.PlaylistEditorInstance != null) { if (!InstanceManager.Instance.PlaylistEditorInstance.ClosePlaylistQuery()) { e.Cancel = true; return; } InstanceManager.Instance.PlaylistEditorInstance.CloseFinal(); InstanceManager.Instance.SettingsWindowInstance.CloseFinal(); } if (_volWidget != null) { _volWidget.Close(); } if (_qlWidget != null) { _qlWidget.Close(); } if (PlWidget != null) { PlWidget.Close(); } PlaybackManagerInstance.Dispose(); SettingsInstance["LastWindowLocation"].Value = new Point((int)Left, (int)Top); _controlNotifyIcon.Visible = false; if (InstanceManager.Instance.LoadedExtensions == null) { return; } foreach (var p in InstanceManager.Instance.LoadedExtensions) { p.Instance.Unload(); } }
private async void PlaylistView_OnDrop(object sender, DragEventArgs e) { SpinningGear.Visibility = Visibility.Visible; foreach (var s in (string[])e.Data.GetData(DataFormats.FileDrop, false)) { if (DirectoryEx.Exists(s)) { await FileUtils.AddFolder(FileSystemInfoEx.FromString(s) as DirectoryInfoEx, true, FileSystemUtils.DefaultLoadErrorCallback); } else if (PlaylistDataManager.Instance.HasReader(s.GetExt())) { Playlist.AddRange(s, FileSystemUtils.DefaultLoadErrorCallback); } else if (PlaybackManagerInstance.HasSupportingPlayer(s.GetExt())) { Playlist.Add(MusicInfo.Create(FileSystemInfoEx.FromString(s) as FileInfoEx, FileSystemUtils.DefaultLoadErrorCallback)); } } SpinningGear.Visibility = Visibility.Hidden; }
private void PlaylistView_OnMouseDoubleClick(object sender, MouseButtonEventArgs e) { var dep = (e.OriginalSource as DependencyObject).VisualUpwardSearch <System.Windows.Controls.ListViewItem>(); if (dep == null) { return; } var item = (IMusicInfo)PlaylistView.ItemContainerGenerator.ItemFromContainer(dep); var index = Playlist.ShuffledIndexOf(item); if (index < 0 || index >= Playlist.Count) { return; } PlaybackManagerInstance.NowPlayingId = index; if (PlaybackManagerInstance.CurrentState != PlaybackState.Playing) { PlaybackManagerInstance.PlayPauseResume(); } }
private async void AddFromTreeBrowser_OnClick(object sender, RoutedEventArgs e) { SpinningGear.Visibility = Visibility.Visible; var s = from r in TreeBrowser.RootList from n in r.GetChecked() select n; foreach (var infoEx in s) { if (infoEx.IsFolder) { await FileUtils.AddFolder(infoEx as DirectoryInfoEx, true, FileSystemUtils.DefaultLoadErrorCallback); } else if (PlaylistDataManager.Instance.HasReader(infoEx.Name.GetExt())) { Playlist.AddRange(infoEx.FullName, FileSystemUtils.DefaultLoadErrorCallback); } else if (PlaybackManagerInstance.HasSupportingPlayer(infoEx.Name.GetExt())) { Playlist.Add(MusicInfo.Create(infoEx as FileInfoEx, FileSystemUtils.DefaultLoadErrorCallback)); } } SpinningGear.Visibility = Visibility.Hidden; }
private void Next_Click(object sender, RoutedEventArgs e) { PlaybackManagerInstance.Next(); }
private void Previous_Click(object sender, RoutedEventArgs e) { PlaybackManagerInstance.Previous(); }
private void Stop_Click(object sender, RoutedEventArgs e) { PlaybackManagerInstance.Stop(); }
private void PlayPauseResume_Click(object sender, RoutedEventArgs e) { PlaybackManagerInstance.PlayPauseResume(); }
private void StopButton_Click(object sender, EventArgs e) { DoFocusChange(); PlaybackManagerInstance.Stop(); }
private void PreviousButton_Click(object sender, EventArgs e) { DoFocusChange(); PlaybackManagerInstance.Previous(); }
private void PlayButton_Click(object sender, EventArgs e) { DoFocusChange(); PlaybackManagerInstance.PlayPauseResume(); }