Beispiel #1
0
 public static void ClearMusicFilesAll()
 {
     LocalTracks.Clear();
     FilteredLocalTracks.Clear();
     SpotifyTracks.Clear();
     FilteredSpotifyTracks.Clear();
 }
Beispiel #2
0
        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}");
            }
        }
Beispiel #3
0
        public static void RemoveMusicFileLocal(string path)
        {
            TrackLocal itemToRemove = LocalTracks.SingleOrDefault(t => t.MusicFileProperties.Path == path);

            if (itemToRemove != null)
            {
                LocalTracks.Remove(itemToRemove);
                FilteredLocalTracks.Remove(itemToRemove);
            }
        }