From da23355fccb08cacd5088fdcda2f992b74a958d9 Mon Sep 17 00:00:00 2001 From: LukePulverenti Luke Pulverenti luke pulverenti Date: Mon, 20 Aug 2012 08:09:42 -0400 Subject: [PATCH] Added AudioInfo to DTOBaseItem --- MediaBrowser.Api/ApiService.cs | 23 ++++++++++++++++---- MediaBrowser.Model/DTO/AudioInfo.cs | 14 ++++++++++++ MediaBrowser.Model/DTO/DTOBaseItem.cs | 2 ++ MediaBrowser.Model/MediaBrowser.Model.csproj | 1 + 4 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 MediaBrowser.Model/DTO/AudioInfo.cs diff --git a/MediaBrowser.Api/ApiService.cs b/MediaBrowser.Api/ApiService.cs index f6db269286..99b25f94e6 100644 --- a/MediaBrowser.Api/ApiService.cs +++ b/MediaBrowser.Api/ApiService.cs @@ -20,8 +20,8 @@ namespace MediaBrowser.Api return Kernel.Instance.GetItemById(guid); } - public async static Task GetDTOBaseItem(BaseItem item, User user, - bool includeChildren = true, + public async static Task GetDTOBaseItem(BaseItem item, User user, + bool includeChildren = true, bool includePeople = true) { DTOBaseItem dto = new DTOBaseItem(); @@ -102,7 +102,22 @@ namespace MediaBrowser.Api dto.IsRoot = folder.IsRoot; dto.IsVirtualFolder = folder is VirtualFolder; } - + + Audio audio = item as Audio; + + if (audio != null) + { + dto.AudioInfo = new AudioInfo() + { + Album = audio.Album, + AlbumArtist = audio.AlbumArtist, + Artist = audio.Artist, + BitRate = audio.BitRate, + Channels = audio.Channels, + Composer = audio.Composer + }; + } + return dto; } @@ -112,7 +127,7 @@ namespace MediaBrowser.Api if (item.Studios != null) { IEnumerable entities = await Task.WhenAll(item.Studios.Select(c => Kernel.Instance.ItemController.GetStudio(c))); - + dto.Studios = item.Studios.Select(s => { BaseItemStudio baseItemStudio = new BaseItemStudio(); diff --git a/MediaBrowser.Model/DTO/AudioInfo.cs b/MediaBrowser.Model/DTO/AudioInfo.cs new file mode 100644 index 0000000000..3aa1cc1bf5 --- /dev/null +++ b/MediaBrowser.Model/DTO/AudioInfo.cs @@ -0,0 +1,14 @@ + +namespace MediaBrowser.Model.DTO +{ + public class AudioInfo + { + public int BitRate { get; set; } + public int Channels { get; set; } + + public string Artist { get; set; } + public string Album { get; set; } + public string AlbumArtist { get; set; } + public string Composer { get; set; } + } +} diff --git a/MediaBrowser.Model/DTO/DTOBaseItem.cs b/MediaBrowser.Model/DTO/DTOBaseItem.cs index 9bc86a6b14..fb77c25957 100644 --- a/MediaBrowser.Model/DTO/DTOBaseItem.cs +++ b/MediaBrowser.Model/DTO/DTOBaseItem.cs @@ -90,6 +90,8 @@ namespace MediaBrowser.Model.DTO public ItemSpecialCounts SpecialCounts { get; set; } + public AudioInfo AudioInfo { get; set; } + public bool IsType(Type type) { return IsType(type.Name); diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj index 60defff43b..70e4c729e7 100644 --- a/MediaBrowser.Model/MediaBrowser.Model.csproj +++ b/MediaBrowser.Model/MediaBrowser.Model.csproj @@ -32,6 +32,7 @@ 4 +