don't allow theme songs to get mixed in with children

pull/702/head
Luke Pulverenti 11 years ago
parent 9bf346daca
commit dbf214883c

@ -52,6 +52,7 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
public const string TrailerFolderName = "trailers";
public const string ThemeSongsFolderName = "theme-music";
public const string ThemeSongFilename = "theme";
public const string ThemeVideosFolderName = "backdrops";
public const string XbmcTrailerFileSuffix = "-trailer";
@ -822,7 +823,7 @@ namespace MediaBrowser.Controller.Entities
// Support plex/xbmc convention
files.AddRange(resolveArgs.FileSystemChildren
.Where(i => string.Equals(System.IO.Path.GetFileNameWithoutExtension(i.FullName), "theme", StringComparison.OrdinalIgnoreCase) && EntityResolutionHelper.IsAudioFile(i.FullName))
.Where(i => string.Equals(System.IO.Path.GetFileNameWithoutExtension(i.FullName), ThemeSongFilename, StringComparison.OrdinalIgnoreCase) && EntityResolutionHelper.IsAudioFile(i.FullName))
);
return LibraryManager.ResolvePaths<Audio.Audio>(files, null).Select(audio =>

@ -77,7 +77,8 @@ namespace MediaBrowser.Server.Implementations.Library
}
// Ignore trailer folders but allow it at the collection level
if (string.Equals(filename, BaseItem.TrailerFolderName, StringComparison.OrdinalIgnoreCase) && !(args.Parent is AggregateFolder) && !(args.Parent is UserRootFolder))
if (string.Equals(filename, BaseItem.TrailerFolderName, StringComparison.OrdinalIgnoreCase) &&
!(args.Parent is AggregateFolder) && !(args.Parent is UserRootFolder))
{
return true;
}
@ -92,6 +93,18 @@ namespace MediaBrowser.Server.Implementations.Library
return true;
}
}
else
{
if (args.Parent != null)
{
var filename = args.FileInfo.Name;
if (string.Equals(Path.GetFileNameWithoutExtension(filename), BaseItem.ThemeSongFilename) && EntityResolutionHelper.IsAudioFile(filename))
{
return true;
}
}
}
return false;
}

Loading…
Cancel
Save