public void ProcessFile(MediaLibrary library, string filename)
        {
            File song_metadata;
              try
              {
            song_metadata = File.Create(filename);
              }
              catch (UnsupportedFormatException e)
              {
            return;
              }
              catch (CorruptFileException e)
              {
            return;
              }
              if (song_metadata == null || song_metadata.Tag == null)
              {
            Debug.WriteLine("Missing metadata/tag: " + filename);
            return;
              }
              var tag = song_metadata.Tag;
              if (!tag.AlbumArtists.Any())
              {
            Debug.WriteLine("Missing artist: " + filename);
            return;
              }
              if (string.IsNullOrWhiteSpace(tag.Title))
              {
            Debug.WriteLine("Missing title: " + filename);
            return;
              }

              library.AddSong(new Song
              {
            Title = tag.Title,
            TrackNumber = tag.Track,
            Path = filename
              }, tag.AlbumArtists.First(), tag.Album);
        }