public static void Update(Action callbackUpdate) { if (loading) { return; } if (deletePending.Contains(selectedSongId)) { selectedSongId = -1; } if (deletePending.Count > 0) { foreach (int id in deletePending) { songList.Delete(id); } changes = true; deletePending.Clear(); SaveSongList(); } if (newPending.Count > 0) { string[] newPendingS = newPending.ToArray(); newPending.Clear(); Task task = new Task(() => ImportSongs_Thread(newPendingS, callbackUpdate)); task.Start(); } callbackUpdate(); }