aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-06-25 11:12:39 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-06-25 11:12:39 -0400
commit22fc0b442ac093e55058723782adf845f4465925 (patch)
treeffb83ee65ed107a227df1b67692c8faa028dad39 /MediaBrowser.Server.Implementations/Library
parenta55d156fd65e297b044d8ad898b1e04f659e4e60 (diff)
add short overview
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library')
-rw-r--r--MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs49
1 files changed, 20 insertions, 29 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs
index 28d476971..034894670 100644
--- a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs
+++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs
@@ -67,32 +67,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio
/// <returns><c>true</c> if [is music album] [the specified data]; otherwise, <c>false</c>.</returns>
public static bool IsMusicAlbum(string path, IDirectoryService directoryService)
{
- // If list contains at least 2 audio files or at least one and no video files consider it to contain music
- var foundAudio = 0;
-
- foreach (var file in directoryService.GetFiles(path))
- {
- var fullName = file.FullName;
-
- if (EntityResolutionHelper.IsAudioFile(fullName))
- {
- // Don't resolve these into audio files
- if (string.Equals(Path.GetFileNameWithoutExtension(fullName), BaseItem.ThemeSongFilename) && EntityResolutionHelper.IsAudioFile(fullName))
- {
- continue;
- }
-
- foundAudio++;
- }
- if (foundAudio >= 2)
- {
- return true;
- }
- if (EntityResolutionHelper.IsVideoFile(fullName)) return false;
- }
-
- // or a single audio file and no video files
- return foundAudio > 0;
+ return ContainsMusic(directoryService.GetFileSystemEntries(path));
}
/// <summary>
@@ -122,15 +97,31 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio
// If list contains at least 2 audio files or at least one and no video files consider it to contain music
var foundAudio = 0;
- foreach (var file in list)
+ foreach (var fileSystemInfo in list)
{
- var fullName = file.FullName;
+ // TODO: Support disc 1, disc 2, etc
+ if ((fileSystemInfo.Attributes & FileAttributes.Directory) == FileAttributes.Directory)
+ {
+ continue;
+ }
+
+ var fullName = fileSystemInfo.FullName;
- if (EntityResolutionHelper.IsAudioFile(fullName)) foundAudio++;
+ if (EntityResolutionHelper.IsAudioFile(fullName))
+ {
+ // Don't resolve these into audio files
+ if (string.Equals(Path.GetFileNameWithoutExtension(fullName), BaseItem.ThemeSongFilename) && EntityResolutionHelper.IsAudioFile(fullName))
+ {
+ continue;
+ }
+
+ foundAudio++;
+ }
if (foundAudio >= 2)
{
return true;
}
+
if (EntityResolutionHelper.IsVideoFile(fullName)) return false;
if (EntityResolutionHelper.IsVideoPlaceHolder(fullName)) return false;
}