diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-05-30 14:19:30 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-05-30 14:19:30 -0400 |
| commit | c21c2f85181f47cabf5ef4dc5a63acd0346ccd04 (patch) | |
| tree | c2ae914d3aa3ec4fe6feaacb3041bae2ef33d10a | |
| parent | 626143c93c91d1bcf4ae681b58acf0a0106bccca (diff) | |
support plex/xbmc theme song convention
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 28 |
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 => { |
