public void Execute(object parameter) { //// saves parameter to be used, if redo is invoked //RedoContext = parameter; String url = _mwvm.Navigation.CurrentLocation + (String)parameter; PlaylistItemModel playlistItem = new PlaylistItemModel(url); playlistItem.RemoveCommand = _mwvm.CommandLib.RemoveFromPlaylistCommand; bool isNotSupported = false; foreach (var type in SupportedFileTypes.ToStringArray()) { if (!parameter.ToString().EndsWith(type)) { isNotSupported = true; } else { _mwvm.Playlist.AddToPlaylist(playlistItem); isNotSupported = false; break; } } if (isNotSupported) throw new PlaylistException("Not able to add this file!\nFileformat not supported."); _playlistItem = playlistItem; }
public void Execute(object parameter) { PlaylistItemModel item = (PlaylistItemModel)parameter; _mwvm.Playlist.RemoveFromPLaylist(item); _playlistItem = item; }
public PlaylistItemModel GetNextSong() { PlaylistItemModel next = null; var index = CurrentUIPlaylist.IndexOf(Playing); if (index < CurrentUIPlaylist.Count - 1) next = CurrentUIPlaylist[index + 1]; else if (index == CurrentUIPlaylist.Count - 1) { // TODO repeat! next = CurrentUIPlaylist[0]; } if (next != null) SelectedPlaylistItem = next; return next; }
internal void RemoveFromPLaylist(PlaylistItemModel song) { CurrentUIPlaylist.Remove(song); }
// adds song to playlist (not loaded yet) internal void AddToPlaylist(PlaylistItemModel song) { IWMPMedia media = _player.MediaPlayer.newMedia(song.Url); if (media.durationString != null || media.durationString != "0") song.DurationAsString = media.durationString; else song.DurationAsString = "--"; // TEST //ShowFileInfo(media); CurrentUIPlaylist.Add(song); }
public void OpenTestPlaylist() { // hvis playlisten findes if (_player.MediaPlayer.playlistCollection.getByName(default_playlist).count > 0) { IWMPPlaylist firstlist = _player.MediaPlayer.playlistCollection.getByName(default_playlist).Item(0); // wmp.dll <-- current playlist _player.MediaPlayer.currentPlaylist = firstlist; // update UI playlist for (int i = 0; i < firstlist.count; i++) { var song = new PlaylistItemModel(firstlist.get_Item(i).sourceURL); song.DurationAsString = firstlist.get_Item(i).durationString; CurrentUIPlaylist.Add(song); } } else // hvis ikke { MessageBox.Show(string.Format("WMP.dll indeholder ikke playlisten: {0}", default_playlist)); } }
public PlaylistItemModel GetPreviousSong() { PlaylistItemModel prev = null; var index = CurrentUIPlaylist.IndexOf(Playing); if (index > 0) { prev = CurrentUIPlaylist[index - 1]; } if (prev != null) SelectedPlaylistItem = prev; return prev; }
public void BeginStreaming(PlaylistItemModel song) { var remoteUrl = song.Url; if (Streamer == null) { var result = MessageBox.Show("Not connected to a server!\n", "MusicStreamer", MessageBoxButton.OK, MessageBoxImage.Information); return; } //remote-to-local url parsing var filename = Streamer.StreamMedia(remoteUrl); PrepareAndPlaySong(filename); // set 'playing' in playlist (used for next/prev) MainWindowViewModel.Instance.Playlist.Playing = song; }