public bool AddTrack(TrackInfo ti, PodcastInfo pi, bool raiseUpdate) { bool ret = false; if (ti == null) { throw new ArgumentNullException ("ti"); } else if (pi == null) { throw new ArgumentNullException ("pi"); } if (ti.Album == null || ti.Album == String.Empty) { ti.Album = pi.Feed.Title; } else if (ti.Artist == null || ti.Artist == String.Empty) { ti.Artist = pi.Feed.Title; } else if (ti.Title == null || ti.Title == String.Empty) { ti.Title = pi.Title; } lock (TrackSync) { if (!tracks_keyed.ContainsKey (ti)) { tracks_keyed.Add (ti, pi); ret = true; } } if (ret && raiseUpdate) { TrackEventArgs args = new TrackEventArgs (); args.Track = ti; EmitTrackAdded (args); } return ret; }
private void OnTracksAdded (Source sender, TrackEventArgs args) { FetchCoverArt (); }
private void OnTracksAdded(Source sender, TrackEventArgs args) { StartWriterJob (); }
private void OnLibraryTracksAdded(object o, TrackEventArgs args) { ScanLibrary (); }
protected override void HandleTracksChanged(Source sender, TrackEventArgs args) { if (args.When > last_updated) { last_updated = args.When; // Playlists do not need to reload if only certain columns are changed if (NeedsReloadWhenFieldsChanged (args.ChangedFields)) { // TODO Optimization: playlists only need to reload if one of their tracks was updated //if (ServiceManager.DbConnection.Query<int> (count_updated_command, last_updated) > 0) { Reload (); //} } else { InvalidateCaches (); } } }
private void OnDapChanged(Source sender, TrackEventArgs args) { if (!AutoSync && dap_loaded && !Syncing) { lock (library_syncs_mutex) { foreach (DapLibrarySync lib_sync in library_syncs) { lib_sync.CalculateSync (); } } } }
private void HandleTracksDeleted(Source sender, TrackEventArgs args) { SelectAllTracks (); }
/// <summary> /// Handles the tracks added event when the user adds new files to the music library. /// </summary> /// <param name='sender'> /// Sender. /// </param> /// <param name='args'> /// Arguments. /// </param> private void HandleTracksAdded (Source sender, TrackEventArgs args) { Hyena.Log.Debug ("NoNoise/BLA - tracks added"); try { if (analyzing_lib) { // check for missed files after the scan finished... Hyena.Log.Debug ("NoNoise/BLA - Checking for missed tracks after scan"); lock (scan_synch) { added_while_scanning = true; } return; } CheckLibScanned (); if (!CheckDataUpToDate ()) { new Thread (new ThreadStart (PcaForMusicLibrary)).Start (); new Thread (new ThreadStart (WriteTrackInfosToDB)).Start (); } } catch (Exception e) { Hyena.Log.Exception ("NoNoise/BLA - tracks added handler exception", e); } }
private void OnTracksAdded(Source sender, TrackEventArgs args) { FetchArtistImages (); }
private void OnLibraryChanged(object o, TrackEventArgs args) { if (args.ChangedFields == null) { OnCollectionChanged (); return; } foreach (Hyena.Query.QueryField field in args.ChangedFields) { if (field != Banshee.Query.BansheeQuery.LastPlayedField && field != Banshee.Query.BansheeQuery.LastSkippedField && field != Banshee.Query.BansheeQuery.PlayCountField && field != Banshee.Query.BansheeQuery.SkipCountField) { OnCollectionChanged (); return; } } }
private void OnTracksChangedOrAdded(Source sender, TrackEventArgs args) { TriggerDetectorJob (); }
private void EmitTrackRemoved(TrackEventArgs args) { TrackEventHandler handler = TrackRemoved; if (handler != null) { handler (this, args); } }
public bool RemoveTrack(TrackInfo ti, bool raiseUpdate) { if (ti == null) { throw new ArgumentNullException ("ti"); } bool ret = false; if (BadTrackHash (ti)) { return ret; } lock (TrackSync) { if (tracks_keyed.ContainsKey (ti)) { try { tracks_keyed.Remove (ti); ret = true; } catch (Exception e) { Console.WriteLine (e.Message); return ret; } } } if (raiseUpdate) { TrackEventArgs args = new TrackEventArgs (); args.Track = ti; EmitTrackRemoved (args); } return ret; }
private void OnTracksChanged (Source sender, TrackEventArgs args) { if (args.ChangedFields == null) { FetchCoverArt (); } else { foreach (Hyena.Query.QueryField field in args.ChangedFields) { if (field == Banshee.Query.BansheeQuery.AlbumField || field == Banshee.Query.BansheeQuery.ArtistField) { FetchCoverArt (); break; } } } }
private void OnTracksDeleted(Source sender, TrackEventArgs args) { ServiceManager.DbConnection.Execute (delete_query); }
private void OnLibraryChanged(Source sender, TrackEventArgs args) { if (!Enabled) { return; } foreach (DapLibrarySync lib_sync in library_syncs) { if (lib_sync.Library == sender) { if (AutoSync && lib_sync.Enabled) { Sync (); } else { lib_sync.CalculateSync (); OnUpdated (); } break; } } }
private void OnTracksAdded(Source sender, TrackEventArgs args) { Detect (); }
/// <summary> /// Handles the tracks deleted event when the user removes files from the music library. /// </summary> /// <param name='sender'> /// Sender. /// </param> /// <param name='args'> /// Arguments. /// </param> private void HandleTracksDeleted (Source sender, TrackEventArgs args) { Hyena.Log.Debug ("NoNoise/BLA - tracks deleted"); if (!CheckDataUpToDate () && !updating_db) { try { RemoveDeletedTracks (); PcaForMusicLibrary (); // GetPcaData (); // Hyena.ThreadAssist.ProxyToMain (sc.PcaCoordinatesUpdated); } catch (Exception e) { Hyena.Log.Exception ("NoNoise/BLA - tracks deleted handler exception", e); } } }
private void OnTracksImported(Source sender, TrackEventArgs args) { if (Count > 0) { // Imported tracks might have come from the FSQ, so refresh it Reload (); } }
protected override void HandleTracksDeleted(Source sender, TrackEventArgs args) { if (args.When > last_removed) { last_removed = args.When; Reload (); /*if (ServiceManager.DbConnection.Query<int> (count_removed_command, last_removed) > 0) { //ServiceManager.DbConnection.Execute ("DELETE FROM CoreCache WHERE ModelID = ? AND ItemID IN (SELECT EntryID FROM CorePlaylistEntries WHERE PlaylistID = ? AND TrackID IN (TrackID FROM CoreRemovedTracks))"); ServiceManager.DbConnection.Execute ("DELETE FROM CorePlaylistEntries WHERE TrackID IN (SELECT TrackID FROM CoreRemovedTracks)"); //track_model.UpdateAggregates (); //OnUpdated (); }*/ } }
protected virtual void HandleTracksDeleted (Source sender, TrackEventArgs args) { }
private void OnLibraryChanged(Source sender, TrackEventArgs args) { if (!Enabled) { return; } DapLibrarySync lib_to_sync = null; lock (library_syncs_mutex) { lib_to_sync = library_syncs.FirstOrDefault (lib_sync => lib_sync.Library == sender); } if (lib_to_sync != null) { if (AutoSync && lib_to_sync.Enabled) { Sync (); } else { lib_to_sync.CalculateSync (); OnUpdated (); } } }
private void OnTracksChanged (Source sender, TrackEventArgs args) { Save (); }
protected virtual void HandleTracksDeleted(Source sender, TrackEventArgs args) { }
private void OnTracksAdded(Source sender, TrackEventArgs args) { /*do not force all lyrics to be refreshed.*/ FetchAllLyrics (false); }
private void OnLibraryTracksDeleted(object o, TrackEventArgs args) { TrackAnalysis.Provider.Delete ( "TrackID NOT IN (SELECT TrackID from CoreTracks WHERE PrimarySourceID = ?)", ServiceManager.SourceManager.MusicLibrary.DbId ); }
private void OnLibraryTrackRemoved(object sender, TrackEventArgs args) { ThreadAssist.ProxyToMain ( delegate { if (args.Track != null) { OnTrackRemoved (args.Track) ; OnUpdated (); } else if (args.Tracks != null) { foreach (TrackInfo ti in args.Tracks) { OnTrackRemoved (ti); } OnUpdated (); } }); }