public AddCustomStreamView(NormalPlaylist playlist, MusicManager manager, Action <AddCustomStreamView> closeAction) { InitializeComponent(); _closeAction = closeAction; _playlist = playlist; _manager = manager; }
public TrackImportWindow(ObservableCollection <NormalPlaylist> playlists, NormalPlaylist selectedplaylist, string trackname) { Playlists = playlists; SelectedPlaylist = selectedplaylist; Trackname = trackname; InitializeComponent(); }
private Player() { mediaPlayer = new MediaPlayer(); Songs = new ObservableCollection <Song>(); State = new State(); PlayList = new NormalPlaylist(); PlayList.Songs = Songs.ToList(); this.TypeOfPlay = TypeOfPlay.Normal; State.TypeOfPlay = (int)TypeOfPlay.Normal; }
async Task ImportFiles(IEnumerable <string> paths, NormalPlaylist playlist, EventHandler finished = null) { var controller = await _baseWindow.WindowDialogService.CreateProgressDialog(string.Empty, false); var tracks = Playlists.ImportFiles(paths, (s, e) => { controller.SetProgress(e.Percentage); controller.SetMessage(e.CurrentFile); controller.SetTitle(string.Format(Application.Current.Resources["FilesGetImported"].ToString(), e.FilesImported, e.TotalFiles)); }); await playlist.AddFiles(tracks); MusicManager.SaveToSettings(); MySettings.Save(); await controller.Close(); if (finished != null) { Application.Current.Dispatcher.Invoke(() => finished(this, EventArgs.Empty)); } }
public async void OpenFile(FileInfo file, bool play) { foreach (var playlist in MusicManager.Playlists) { foreach (var track in playlist.Tracks.Where(track => track.GetType() == typeof(LocalTrack) && ((LocalTrack)track).Path == file.FullName)) { if (play) { MusicManager.PlayTrack(track, playlist); } return; } } NormalPlaylist selectedplaylist = null; var config = AnyListenSettings.Instance.Config; if (config.RememberTrackImportPlaylist) { var items = MusicManager.Playlists.Where(x => x.Name == config.PlaylistToImportTrack).ToList(); if (items.Any()) { selectedplaylist = items.First(); } else { config.RememberTrackImportPlaylist = false; config.PlaylistToImportTrack = null; } } if (selectedplaylist == null) { if (_remember && MusicManager.Playlists.Contains(_rememberedPlaylist)) { selectedplaylist = _rememberedPlaylist; } else { var selectedPlaylist = _musicmanager.SelectedPlaylist.CanEdit ? (NormalPlaylist)_musicmanager.SelectedPlaylist : _musicmanager.Playlists[0]; var window = new TrackImportWindow(_musicmanager.Playlists, selectedPlaylist, file.Name) { Owner = _baseWindow }; if (window.ShowDialog() == false) { return; } selectedplaylist = window.SelectedPlaylist; if (window.RememberChoice) { _remember = true; _rememberedPlaylist = window.SelectedPlaylist; if (window.RememberAlsoAfterRestart) { config.RememberTrackImportPlaylist = true; config.PlaylistToImportTrack = selectedplaylist.Name; } } } } await ImportFiles(new[] { file.FullName }, selectedplaylist, (s, e) => OpenFile(file, play)); }
public void RegisterPlaylist(NormalPlaylist playlist) { playlist.LoadList(); }