From 8c52c065fbb8d59c8830e3737f177f456d646b3e Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 14 Jul 2015 15:04:16 -0400 Subject: update people sorting --- .../Probing/ProbeResultNormalizer.cs | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs') diff --git a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs index 33b703611..481ba0dda 100644 --- a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs +++ b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs @@ -439,7 +439,7 @@ namespace MediaBrowser.MediaEncoding.Probing if (!string.IsNullOrWhiteSpace(artists)) { - audio.Artists = artists.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries) + audio.Artists = SplitArtists(artists, new[] { '/' }, false) .Distinct(StringComparer.OrdinalIgnoreCase) .ToList(); } @@ -452,7 +452,7 @@ namespace MediaBrowser.MediaEncoding.Probing } else { - audio.Artists = SplitArtists(artist) + audio.Artists = SplitArtists(artist, _nameDelimiters, true) .Distinct(StringComparer.OrdinalIgnoreCase) .ToList(); } @@ -474,7 +474,7 @@ namespace MediaBrowser.MediaEncoding.Probing } else { - audio.AlbumArtists = SplitArtists(albumArtist) + audio.AlbumArtists = SplitArtists(albumArtist, _nameDelimiters, true) .Distinct(StringComparer.OrdinalIgnoreCase) .ToList(); @@ -552,10 +552,13 @@ namespace MediaBrowser.MediaEncoding.Probing private const string ArtistReplaceValue = " | "; - private IEnumerable SplitArtists(string val) + private IEnumerable SplitArtists(string val, char[] delimiters, bool splitFeaturing) { - val = val.Replace(" featuring ", ArtistReplaceValue, StringComparison.OrdinalIgnoreCase) - .Replace(" feat. ", ArtistReplaceValue, StringComparison.OrdinalIgnoreCase); + if (splitFeaturing) + { + val = val.Replace(" featuring ", ArtistReplaceValue, StringComparison.OrdinalIgnoreCase) + .Replace(" feat. ", ArtistReplaceValue, StringComparison.OrdinalIgnoreCase); + } var artistsFound = new List(); @@ -570,11 +573,7 @@ namespace MediaBrowser.MediaEncoding.Probing } } - // Only use the comma as a delimeter if there are no slashes or pipes. - // We want to be careful not to split names that have commas in them - var delimeter = _nameDelimiters; - - var artists = val.Split(delimeter, StringSplitOptions.RemoveEmptyEntries) + var artists = val.Split(delimiters, StringSplitOptions.RemoveEmptyEntries) .Where(i => !string.IsNullOrWhiteSpace(i)) .Select(i => i.Trim()); -- cgit v1.2.3