MusicArtistResolver.cs 993 B

1234567891011121314151617181920212223242526272829
  1. using MediaBrowser.Controller.Entities.Audio;
  2. using MediaBrowser.Controller.Library;
  3. using System.ComponentModel.Composition;
  4. using System.Linq;
  5. namespace MediaBrowser.Controller.Resolvers.Audio
  6. {
  7. [Export(typeof(IBaseItemResolver))]
  8. public class MusicArtistResolver : BaseItemResolver<MusicArtist>
  9. {
  10. public override ResolverPriority Priority
  11. {
  12. get { return ResolverPriority.Third; } // we need to be ahead of the generic folder resolver but behind the movie one
  13. }
  14. protected override MusicArtist Resolve(ItemResolveArgs args)
  15. {
  16. if (!args.IsDirectory) return null;
  17. //Avoid mis-identifying top folders
  18. if (args.Parent == null) return null;
  19. if (args.Parent.IsRoot) return null;
  20. // If we contain an album assume we are an artist folder
  21. return args.FileSystemChildren.Any(EntityResolutionHelper.IsMusicAlbum) ? new MusicArtist() : null;
  22. }
  23. }
  24. }