From cd934c5d3d8ede6bf449905cfc0510729bea0000 Mon Sep 17 00:00:00 2001 From: Eric Reed Date: Tue, 18 Mar 2014 10:54:47 -0400 Subject: [PATCH 1/3] Add missing CollapseBoxSetItems parm --- MediaBrowser.Model/Querying/ItemQuery.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/MediaBrowser.Model/Querying/ItemQuery.cs b/MediaBrowser.Model/Querying/ItemQuery.cs index aee1ca947b..3969eedaa8 100644 --- a/MediaBrowser.Model/Querying/ItemQuery.cs +++ b/MediaBrowser.Model/Querying/ItemQuery.cs @@ -264,6 +264,8 @@ namespace MediaBrowser.Model.Querying public bool? IsInBoxSet { get; set; } + public bool? CollapseBoxSetItems { get; set; } + public bool? IsPlayed { get; set; } /// From 4d1d2bbaa15e89155bf5bf289ee190db6f155bca Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 18 Mar 2014 13:05:57 -0400 Subject: [PATCH 2/3] Add more channel features --- MediaBrowser.Api/ChannelService.cs | 30 +++++++++ MediaBrowser.Api/Library/LibraryService.cs | 25 +++++++- MediaBrowser.Api/UserLibrary/ItemsService.cs | 24 +++++-- .../Channels/ChannelCategoryItem.cs | 8 +++ .../Channels/ChannelItemInfo.cs | 5 +- MediaBrowser.Controller/Channels/IChannel.cs | 36 ++++++++--- .../MediaBrowser.Controller.csproj | 1 + MediaBrowser.Dlna/DlnaManager.cs | 11 ++++ MediaBrowser.Dlna/PlayTo/StreamHelper.cs | 8 +++ MediaBrowser.Model/Dto/ItemCounts.cs | 3 +- .../Channels/ChannelImageProvider.cs | 56 +++++++++++++++++ .../Channels/ChannelItemImageProvider.cs | 5 -- .../Channels/ChannelManager.cs | 43 ++++++++++--- .../Channels/RefreshChannelsScheduledTask.cs | 63 +++++++++++++++++++ ...MediaBrowser.Server.Implementations.csproj | 2 + .../ApplicationHost.cs | 7 ++- .../Api/DashboardService.cs | 2 + .../MediaBrowser.WebDashboard.csproj | 12 ++++ Nuget/MediaBrowser.Common.Internal.nuspec | 4 +- Nuget/MediaBrowser.Common.nuspec | 2 +- Nuget/MediaBrowser.Server.Core.nuspec | 4 +- 21 files changed, 317 insertions(+), 34 deletions(-) create mode 100644 MediaBrowser.Controller/Channels/ChannelCategoryItem.cs create mode 100644 MediaBrowser.Server.Implementations/Channels/ChannelImageProvider.cs create mode 100644 MediaBrowser.Server.Implementations/Channels/RefreshChannelsScheduledTask.cs diff --git a/MediaBrowser.Api/ChannelService.cs b/MediaBrowser.Api/ChannelService.cs index aa8fc9e52a..c1724571ae 100644 --- a/MediaBrowser.Api/ChannelService.cs +++ b/MediaBrowser.Api/ChannelService.cs @@ -18,6 +18,21 @@ namespace MediaBrowser.Api public int? Limit { get; set; } } + [Route("/Channels/{Id}/Items", "GET")] + [Api(("Gets channel items"))] + public class GetChannelItems : IReturn> + { + public string Id { get; set; } + + public string CategoryId { get; set; } + + public string UserId { get; set; } + + public int? StartIndex { get; set; } + + public int? Limit { get; set; } + } + public class ChannelService : BaseApiService { private readonly IChannelManager _channelManager; @@ -39,5 +54,20 @@ namespace MediaBrowser.Api return ToOptimizedResult(result); } + + public object Get(GetChannelItems request) + { + var result = _channelManager.GetChannelItems(new ChannelItemQuery + { + Limit = request.Limit, + StartIndex = request.StartIndex, + UserId = request.UserId, + ChannelId = request.Id, + CategoryId = request.CategoryId + + }, CancellationToken.None).Result; + + return ToOptimizedResult(result); + } } } diff --git a/MediaBrowser.Api/Library/LibraryService.cs b/MediaBrowser.Api/Library/LibraryService.cs index c3fdbb9a0c..dba256418e 100644 --- a/MediaBrowser.Api/Library/LibraryService.cs +++ b/MediaBrowser.Api/Library/LibraryService.cs @@ -1,4 +1,5 @@ using MediaBrowser.Common.Extensions; +using MediaBrowser.Controller.Channels; using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; @@ -6,6 +7,7 @@ using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Persistence; +using MediaBrowser.Model.Channels; using MediaBrowser.Model.Dto; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Querying; @@ -242,18 +244,20 @@ namespace MediaBrowser.Api.Library private readonly IUserDataManager _userDataManager; private readonly IDtoService _dtoService; + private readonly IChannelManager _channelManager; /// /// Initializes a new instance of the class. /// public LibraryService(IItemRepository itemRepo, ILibraryManager libraryManager, IUserManager userManager, - IDtoService dtoService, IUserDataManager userDataManager) + IDtoService dtoService, IUserDataManager userDataManager, IChannelManager channelManager) { _itemRepo = itemRepo; _libraryManager = libraryManager; _userManager = userManager; _dtoService = dtoService; _userDataManager = userDataManager; + _channelManager = channelManager; } public object Get(GetMediaFolders request) @@ -417,6 +421,21 @@ namespace MediaBrowser.Api.Library var songs = filteredItems.OfType