aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/Audio
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-01-25 01:34:50 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-01-25 01:34:50 -0500
commita1a56557ece84d8b726a6c06b2620fa43ff22461 (patch)
treea9b96eccbe5fd08c34174f5c5cff8e01ac822fea /MediaBrowser.Controller/Entities/Audio
parent67559378009062a26173888ad457d0c9116bfc9a (diff)
sync updates
Diffstat (limited to 'MediaBrowser.Controller/Entities/Audio')
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs5
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicArtist.cs25
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicGenre.cs8
3 files changed, 28 insertions, 10 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs
index 7974657d9d..00a7e8b672 100644
--- a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs
+++ b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs
@@ -68,7 +68,7 @@ namespace MediaBrowser.Controller.Entities.Audio
{
get
{
- return RecursiveChildren.OfType<Audio>();
+ return GetRecursiveChildren(i => i is Audio).Cast<Audio>();
}
}
@@ -173,7 +173,8 @@ namespace MediaBrowser.Controller.Entities.Audio
id.ArtistProviderIds = artist.ProviderIds;
}
- id.SongInfos = RecursiveChildren.OfType<Audio>()
+ id.SongInfos = GetRecursiveChildren(i => i is Audio)
+ .Cast<Audio>()
.Select(i => i.GetLookupInfo())
.ToList();
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
index 45476d6a6d..5cca91202f 100644
--- a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
+++ b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
@@ -19,7 +19,7 @@ namespace MediaBrowser.Controller.Entities.Audio
{
public bool IsAccessedByName { get; set; }
public List<string> ProductionLocations { get; set; }
-
+
public override bool IsFolder
{
get
@@ -122,7 +122,7 @@ namespace MediaBrowser.Controller.Entities.Audio
public async Task RefreshAllMetadata(MetadataRefreshOptions refreshOptions, IProgress<double> progress, CancellationToken cancellationToken)
{
- var items = RecursiveChildren.ToList();
+ var items = GetRecursiveChildren().ToList();
var songs = items.OfType<Audio>().ToList();
@@ -169,7 +169,7 @@ namespace MediaBrowser.Controller.Entities.Audio
// Refresh current item
await RefreshMetadata(refreshOptions, cancellationToken).ConfigureAwait(false);
-
+
// Refresh all non-songs
foreach (var item in others)
{
@@ -204,7 +204,8 @@ namespace MediaBrowser.Controller.Entities.Audio
{
var info = GetItemLookupInfo<ArtistInfo>();
- info.SongInfos = RecursiveChildren.OfType<Audio>()
+ info.SongInfos = GetRecursiveChildren(i => i is Audio)
+ .Cast<Audio>()
.Select(i => i.GetLookupInfo())
.ToList();
@@ -213,9 +214,19 @@ namespace MediaBrowser.Controller.Entities.Audio
public IEnumerable<BaseItem> GetTaggedItems(IEnumerable<BaseItem> inputItems)
{
- return inputItems.OfType<IHasArtist>()
- .Where(i => i.HasArtist(Name))
- .Cast<BaseItem>();
+ return inputItems.Where(ItemFilter);
+ }
+
+ public Func<BaseItem, bool> ItemFilter
+ {
+ get
+ {
+ return i =>
+ {
+ var hasArtist = i as IHasArtist;
+ return hasArtist != null && hasArtist.HasArtist(Name);
+ };
+ }
}
}
}
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs b/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs
index ad2d39c794..b2c2a1b484 100644
--- a/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs
+++ b/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs
@@ -52,7 +52,13 @@ namespace MediaBrowser.Controller.Entities.Audio
public IEnumerable<BaseItem> GetTaggedItems(IEnumerable<BaseItem> inputItems)
{
- return inputItems.Where(i => (i is IHasMusicGenres) && i.Genres.Contains(Name, StringComparer.OrdinalIgnoreCase));
+ return inputItems.Where(ItemFilter);
+ }
+
+
+ public Func<BaseItem, bool> ItemFilter
+ {
+ get { return i => (i is IHasMusicGenres) && i.Genres.Contains(Name, StringComparer.OrdinalIgnoreCase); }
}
}
}