public static void ClearMusicFilesAll() { LocalTracks.Clear(); FilteredLocalTracks.Clear(); SpotifyTracks.Clear(); FilteredSpotifyTracks.Clear(); }
public static void AddMusicFileLocal(SupportedFileExtension ext, string path) { if (path == null) { throw new ArgumentNullException(nameof(path), $"Cannot add new music file, since path is null."); } if (path.Length < 8) // "C:\x.abc" is 8 characters long { throw new ArgumentException("Cannot add new music file, path is too short.", nameof(path)); } try { ITaggingService taggingService = DependencyInjector.GetService <ITaggingService>(); Dictionary <string, object> tagData = taggingService.Read(path, new List <string>() { ext.ToString() }); MetaData trackData = UtilityHelper.FormatMetaData(tagData); TrackLocal track = new TrackLocal(new MusicFileProperties(path), trackData); LocalTracks.Add(track); FilteredLocalTracks.Add(track); } catch (Exception) // TODO: more polished exception handling { UtilityHelper.ShowExceptionDialog( "File reading error", "File reading error happened while trying to parse a music file from local directory. This file will be omitted from Tracklist!", $"File location: {path}"); } }
public static void RemoveMusicFileLocal(string path) { TrackLocal itemToRemove = LocalTracks.SingleOrDefault(t => t.MusicFileProperties.Path == path); if (itemToRemove != null) { LocalTracks.Remove(itemToRemove); FilteredLocalTracks.Remove(itemToRemove); } }