diff options
Diffstat (limited to 'MediaBrowser.Controller/Entities/Audio/Audio.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/Audio/Audio.cs | 65 |
1 files changed, 31 insertions, 34 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/Audio.cs b/MediaBrowser.Controller/Entities/Audio/Audio.cs index 0900cc1ef..25d41565a 100644 --- a/MediaBrowser.Controller/Entities/Audio/Audio.cs +++ b/MediaBrowser.Controller/Entities/Audio/Audio.cs @@ -14,13 +14,14 @@ namespace MediaBrowser.Controller.Entities.Audio /// <summary> /// Class Audio /// </summary> - public class Audio : BaseItem, - IHasAlbumArtist, - IHasArtist, - IHasMusicGenres, - IHasLookupInfo<SongInfo>, + public class Audio : BaseItem, + IHasAlbumArtist, + IHasArtist, + IHasMusicGenres, + IHasLookupInfo<SongInfo>, IHasTags, - IHasMediaSources + IHasMediaSources, + IThemeMedia { public string FormatName { get; set; } public long? Size { get; set; } @@ -28,12 +29,21 @@ namespace MediaBrowser.Controller.Entities.Audio public int? TotalBitrate { get; set; } public List<string> Tags { get; set; } + public bool IsThemeMedia { get; set; } + public Audio() { Artists = new List<string>(); + AlbumArtists = new List<string>(); Tags = new List<string>(); } + [IgnoreDataMember] + public override bool SupportsAddingToPlaylist + { + get { return LocationType == LocationType.FileSystem && RunTimeTicks.HasValue; } + } + /// <summary> /// Gets or sets a value indicating whether this instance has embedded image. /// </summary> @@ -64,7 +74,16 @@ namespace MediaBrowser.Controller.Entities.Audio { get { - return Parents.OfType<MusicAlbum>().FirstOrDefault() ?? new MusicAlbum { Name = "<Unknown>" }; + return LatestItemsIndexContainer ?? new MusicAlbum { Name = "Unknown Album" }; + } + } + + [IgnoreDataMember] + public override Folder LatestItemsIndexContainer + { + get + { + return Parents.OfType<MusicAlbum>().FirstOrDefault(); } } @@ -74,12 +93,14 @@ namespace MediaBrowser.Controller.Entities.Audio /// <value>The artist.</value> public List<string> Artists { get; set; } + public List<string> AlbumArtists { get; set; } + [IgnoreDataMember] public List<string> AllArtists { get { - var list = AlbumArtists; + var list = AlbumArtists.ToList(); list.AddRange(Artists); @@ -88,41 +109,17 @@ namespace MediaBrowser.Controller.Entities.Audio } } - [IgnoreDataMember] - public List<string> AlbumArtists - { - get - { - var list = new List<string>(); - - if (!string.IsNullOrEmpty(AlbumArtist)) - { - list.Add(AlbumArtist); - } - - return list; - } - set - { - AlbumArtist = value.FirstOrDefault(); - } - } - /// <summary> /// Gets or sets the album. /// </summary> /// <value>The album.</value> public string Album { get; set; } - /// <summary> - /// Gets or sets the album artist. - /// </summary> - /// <value>The album artist.</value> - public string AlbumArtist { get; set; } /// <summary> /// Gets the type of the media. /// </summary> /// <value>The type of the media.</value> + [IgnoreDataMember] public override string MediaType { get @@ -204,7 +201,7 @@ namespace MediaBrowser.Controller.Entities.Audio private static MediaSourceInfo GetVersionInfo(Audio i, bool enablePathSubstituion) { var locationType = i.LocationType; - + var info = new MediaSourceInfo { Id = i.Id.ToString("N"), |
