support plex/xbmc theme song convention

This commit is contained in:
Luke Pulverenti 2013-05-30 14:19:30 -04:00
parent 626143c93c
commit c21c2f8518

View file

@ -798,25 +798,27 @@ namespace MediaBrowser.Controller.Entities
return new List<Audio.Audio>(); return new List<Audio.Audio>();
} }
var files = new List<FileSystemInfo>();
var folder = resolveArgs.GetFileSystemEntryByName(ThemeSongsFolderName); var folder = resolveArgs.GetFileSystemEntryByName(ThemeSongsFolderName);
// Path doesn't exist. No biggie // Path doesn't exist. No biggie
if (folder == null) if (folder != null)
{ {
return new List<Audio.Audio>();
}
IEnumerable<FileSystemInfo> files;
try try
{ {
files = new DirectoryInfo(folder.FullName).EnumerateFiles(); files.AddRange(new DirectoryInfo(folder.FullName).EnumerateFiles());
} }
catch (IOException ex) catch (IOException ex)
{ {
Logger.ErrorException("Error loading theme songs for {0}", ex, Name); Logger.ErrorException("Error loading theme songs for {0}", ex, Name);
return new List<Audio.Audio>();
} }
}
// 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))
);
return LibraryManager.ResolvePaths<Audio.Audio>(files, null).Select(audio => return LibraryManager.ResolvePaths<Audio.Audio>(files, null).Select(audio =>
{ {