diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-05-12 10:06:08 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-05-12 10:06:08 -0400 |
| commit | 57d7e9fccc1434d51876ab9baf23c20c80140706 (patch) | |
| tree | e1c92b44dccd574c9ce5265866b328ec2e4028bc /MediaBrowser.Server.Implementations/Library | |
| parent | 734e53e93773eb942ada3644e7f5fd3c0b16ca5c (diff) | |
fixes #268 - (Multicd) Albums with discnumbers in subfolders on filesystem = Multiple album objects
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumDiscResolver.cs | 33 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs | 10 |
2 files changed, 38 insertions, 5 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumDiscResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumDiscResolver.cs new file mode 100644 index 000000000..9a1065db5 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumDiscResolver.cs @@ -0,0 +1,33 @@ +using MediaBrowser.Controller.Entities.Audio; +using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.Resolvers; + +namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio +{ + /// <summary> + /// Class MusicAlbumDiscResolver + /// </summary> + public class MusicAlbumDiscResolver : ItemResolver<MusicAlbumDisc> + { + /// <summary> + /// Gets the priority. + /// </summary> + /// <value>The priority.</value> + public override ResolverPriority Priority + { + get { return ResolverPriority.Third; } // we need to be ahead of the generic folder resolver but behind the movie one + } + + /// <summary> + /// Resolves the specified args. + /// </summary> + /// <param name="args">The args.</param> + /// <returns>MusicAlbum.</returns> + protected override MusicAlbumDisc Resolve(ItemResolveArgs args) + { + if (!args.IsDirectory) return null; + + return args.Parent is MusicAlbum ? new MusicAlbumDisc() : null; + } + } +} diff --git a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs index 411e431aa..98e99baa2 100644 --- a/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs +++ b/MediaBrowser.Server.Implementations/Library/Resolvers/Audio/MusicAlbumResolver.cs @@ -1,10 +1,9 @@ -using System.Collections.Generic; -using System.IO; -using System.Linq; -using MediaBrowser.Controller.Entities.Audio; -using MediaBrowser.Controller.IO; +using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Resolvers; +using System.Collections.Generic; +using System.IO; +using System.Linq; namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio { @@ -34,6 +33,7 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Audio //Avoid mis-identifying top folders if (args.Parent == null) return null; if (args.Parent.IsRoot) return null; + if (args.Parent is MusicAlbum) return null; return IsMusicAlbum(args) ? new MusicAlbum() : null; } |
