protected override void DeleteSelectedTracks(DatabaseTrackListModel model) { if (model == null || model.Count < 1) { return; } ThreadAssist.SpawnFromMain(delegate { CachedList <DatabaseTrackInfo> list = CachedList <DatabaseTrackInfo> .CreateFromModelSelection(model); DeleteTrackList(list); }); }
protected void LoadTrackModel(TrackListModel model) { DatabaseTrackListModel db_model = model as DatabaseTrackListModel; if (db_model != null) { db_selection = CachedList <DatabaseTrackInfo> .CreateFromModelSelection(db_model); } else { memory_selection = new List <TrackInfo> (); foreach (TrackInfo track in model.SelectedItems) { memory_selection.Add(track); } } }
public override bool AddSelectedTracks(Source source) { if (!AcceptsInputFromSource(source)) { return(false); } DatabaseTrackListModel model = (source as ITrackModelSource).TrackModel as DatabaseTrackListModel; // Store a snapshot of the current selection CachedList <DatabaseTrackInfo> cached_list = CachedList <DatabaseTrackInfo> .CreateFromModelSelection(model); if (ThreadAssist.InMainThread) { System.Threading.ThreadPool.QueueUserWorkItem(AddTrackList, cached_list); } else { AddTrackList(cached_list); } return(true); }