Exemplo n.º 1
0
 /// <summary>
 /// Called when the state of a playlist changes.
 /// If the playlist is in the playlist container and fully loaded, it introduces the 
 /// playlist if that has not happened before.
 /// If no pending changes are present and no update is in progress, the playlist
 /// will be stored / updated.
 /// </summary>
 void playlist_StateChanged(SpotiFire.Playlist sender, PlaylistEventArgs e) {
     lock (sender) {
         //LogPlaylist(sender, "state changed");
         if (this.IsInSession(sender) && sender.IsFullyLoaded()) {
             if (!sender.IsKnown())
                 Introduce(sender);
             if (!sender.HasPendingChanges && !sender.IsUpdateInProgress())
                 CreateOrUpdate(sender);
         }
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Called when a playlist is added to the playlist container.
 /// When the playlist is fully loaded, the playlist is 'introduced', meaning events
 /// changing the meta-data of this playlist will be tracked.
 /// If no pending changes are present, the playlist will be stored.
 /// Also, every playlist that is added will have its state changes tracked.
 /// </summary>
 void AddPlaylist(SpotiFire.Playlist playlist) {
     lock (playlist) {
         //LogPlaylist(playlist, "added");
         if (playlist.IsFullyLoaded()) {
             Introduce(playlist);
             if (!playlist.HasPendingChanges)
                 CreateOrUpdate(playlist);
         }
         playlist.StateChanged += playlist_StateChanged;
     }
 }