aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/Audio/Audio.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Entities/Audio/Audio.cs')
-rw-r--r--MediaBrowser.Controller/Entities/Audio/Audio.cs65
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"),