public void RemoveSong(QueuedTrack t) { if (t == null) { return; } int i = Playlist.IndexOf(t); Playlist.Remove(t); playingListLoaded = false; if (playerState != PlayerStates.Stopped && CurrentTrackNumber == i) { StopPlayer(); if (i >= Playlist.Count) { CurrentTrackNumber = 0; } if (isLooping && playerState != PlayerStates.Stopped) { PlayCurrentSongAsync(); } } }
static public QueuedTrack FindQueuedTrack(View v) { Grid g = (Grid)v.Parent; QueuedTrack t = (QueuedTrack)g.BindingContext; return(t); }
public SongNotes(TransportViewModel tvm, QueuedTrack qt) { InitializeComponent(); this.qt = qt; this.tvm = tvm; snd = (SongNotesData)this.BindingContext; SetSongInfo(); }
static public string LoadNotes(QueuedTrack qt) { if (Application.Current.Properties.ContainsKey(qt.FullPath)) { return((string)Application.Current.Properties[qt.FullPath]); } else { return(null); } }
public void MoveSongUp(QueuedTrack t) { int i = Playlist.IndexOf(t); if (i > 0) { Playlist.Move(i, i - 1); } else { Playlist.Move(i, Playlist.Count - 1); } }
private void RightSongPressed(object sender, EventArgs e) { PersistentData.SaveNotes(qt, snd.Notes); int i = tvm.Playlist.IndexOf(qt) + 1; if (i >= tvm.Playlist.Count) { i = 0; } qt = tvm.Playlist[i]; SetSongInfo(); }
#pragma warning restore AvoidAsyncVoid private void Notes_Clicked(object sender, EventArgs e) { PersistentData.Save(); Navigation.PushAsync(new SongNotes(TransportVMInstance, QueuedTrack.FindQueuedTrack((View)sender))); }
private void DownPosition_Clicked(object sender, EventArgs e) { QueuedTrack t = QueuedTrack.FindQueuedTrack((View)sender); TransportVMInstance.MoveSongUp(t); }
private void DeleteSong_Clicked(object sender, EventArgs e) { TransportVMInstance.RemoveSong(QueuedTrack.FindQueuedTrack((View)sender)); }
static public void SaveNotes(QueuedTrack qt, string notes) { Application.Current.Properties[qt.FullPath] = notes; }
private void SongDownPosition_Clicked(object sender, EventArgs e) { QueuedTrack t = QueuedTrack.FindQueuedTrack((View)sender); tvm.MoveSongUp(t); }
private void DeleteSong_Clicked(object sender, EventArgs e) { QueuedTrack t = QueuedTrack.FindQueuedTrack((View)sender); tvm.RemoveSong(t); }