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); }
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())); }
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); }