Пример #1
0
        public static bool DoesTitleContainArtistString(TidalTrack track)
        {
            var featuringArtists = (from a in track.Artists
                                    where a.Type == ArtistRole.Featured
                                    select a.Name).ToArray();
            var artistString = JoinFeaturingArtists(featuringArtists);

            return(track.Title.IndexOf(artistString, StringComparison.OrdinalIgnoreCase) > -1);
        }
Пример #2
0
        public static string CreateArtistString(TidalTrack track)
        {
            var mainArtists      = new List <string>();
            var featuringArtists = new List <string>();

            foreach (var artist in track.Artists)
            {
                if (artist.Type == ArtistRole.Main)
                {
                    mainArtists.Add(artist.Name);
                }
                else
                {
                    featuringArtists.Add(artist.Name);
                }
            }

            if (DoesTitleContainArtistString(track))
            {
                return(JoinArtistNames(mainArtists.ToArray()));
            }
            return(JoinArtistNames(mainArtists.ToArray()) + " " + JoinFeaturingArtists(featuringArtists.ToArray()));
        }
Пример #3
0
 internal static string CreateTrackTitle(TidalServiceSettings settings, TidalTrack tidalTrack)
 {
     if (String.IsNullOrEmpty(tidalTrack.Version))
     {
         return(tidalTrack.Title);
     }
     if (!settings.AppendVersionToTrackTitle)
     {
         return(tidalTrack.Title);
     }
     if (settings.DontAppendAlbumVersion)
     {
         // Compare case insensitively
         if (tidalTrack.Version.IndexOf(AlbumVersion, StringComparison.OrdinalIgnoreCase) == -1)
         {
             return(tidalTrack.Title + " (" + tidalTrack.Version + ")");
         }
     }
     else
     {
         return(tidalTrack.Title + " (" + tidalTrack.Version + ")");
     }
     return(tidalTrack.Title);
 }