aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-30 14:19:30 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-30 14:19:30 -0400
commitc21c2f85181f47cabf5ef4dc5a63acd0346ccd04 (patch)
treec2ae914d3aa3ec4fe6feaacb3041bae2ef33d10a
parent626143c93c91d1bcf4ae681b58acf0a0106bccca (diff)
support plex/xbmc theme song convention
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs28
1 files changed, 15 insertions, 13 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 4bd1b1aba..de272ca64 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -798,25 +798,27 @@ namespace MediaBrowser.Controller.Entities
return new List<Audio.Audio>();
}
+ var files = new List<FileSystemInfo>();
+
var folder = resolveArgs.GetFileSystemEntryByName(ThemeSongsFolderName);
// Path doesn't exist. No biggie
- if (folder == null)
+ if (folder != null)
{
- return new List<Audio.Audio>();
+ try
+ {
+ files.AddRange(new DirectoryInfo(folder.FullName).EnumerateFiles());
+ }
+ catch (IOException ex)
+ {
+ Logger.ErrorException("Error loading theme songs for {0}", ex, Name);
+ }
}
- IEnumerable<FileSystemInfo> files;
-
- try
- {
- files = new DirectoryInfo(folder.FullName).EnumerateFiles();
- }
- catch (IOException ex)
- {
- 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 =>
{