fixes #860 - Add options to display channels directly within user views

This commit is contained in:
Luke Pulverenti 2014-06-30 15:24:35 -04:00
parent 8ae316a2f3
commit c273f5fd9c
5 changed files with 19 additions and 6 deletions

View File

@ -335,8 +335,9 @@ namespace MediaBrowser.Api.Playback.Hls
var newBitrate = totalBitrate - variation; var newBitrate = totalBitrate - variation;
AppendPlaylist(builder, playlistUrl.Replace(requestedVideoBitrate.ToString(UsCulture), (requestedVideoBitrate - variation).ToString(UsCulture)), newBitrate); AppendPlaylist(builder, playlistUrl.Replace(requestedVideoBitrate.ToString(UsCulture), (requestedVideoBitrate - variation).ToString(UsCulture)), newBitrate);
newBitrate = totalBitrate - (2 * variation); variation *= 2;
AppendPlaylist(builder, playlistUrl.Replace(requestedVideoBitrate.ToString(UsCulture), (requestedVideoBitrate - (2 * variation)).ToString(UsCulture)), newBitrate); newBitrate = totalBitrate - variation;
AppendPlaylist(builder, playlistUrl.Replace(requestedVideoBitrate.ToString(UsCulture), (requestedVideoBitrate - variation).ToString(UsCulture)), newBitrate);
} }
return builder.ToString(); return builder.ToString();

View File

@ -4,7 +4,7 @@ using System.Linq;
namespace MediaBrowser.Controller.Channels namespace MediaBrowser.Controller.Channels
{ {
public class Channel : BaseItem public class Channel : Folder
{ {
public string OriginalChannelName { get; set; } public string OriginalChannelName { get; set; }

View File

@ -65,6 +65,8 @@ namespace MediaBrowser.Model.Configuration
public string[] BlockedMediaFolders { get; set; } public string[] BlockedMediaFolders { get; set; }
public string[] BlockedChannels { get; set; } public string[] BlockedChannels { get; set; }
public string[] DisplayChannelsWithinViews { get; set; }
public string[] ExcludeFoldersFromGrouping { get; set; } public string[] ExcludeFoldersFromGrouping { get; set; }
public UnratedItem[] BlockUnratedItems { get; set; } public UnratedItem[] BlockUnratedItems { get; set; }
@ -85,6 +87,7 @@ namespace MediaBrowser.Model.Configuration
EnableLiveTvAccess = true; EnableLiveTvAccess = true;
BlockedMediaFolders = new string[] { }; BlockedMediaFolders = new string[] { };
DisplayChannelsWithinViews = new string[] { };
BlockedChannels = new string[] { }; BlockedChannels = new string[] { };
BlockUnratedItems = new UnratedItem[] { }; BlockUnratedItems = new UnratedItem[] { };

View File

@ -90,12 +90,19 @@ namespace MediaBrowser.Server.Implementations.Library
{ {
var channelResult = await _channelManager.GetChannels(new ChannelQuery var channelResult = await _channelManager.GetChannels(new ChannelQuery
{ {
Limit = 0,
UserId = query.UserId UserId = query.UserId
}, cancellationToken).ConfigureAwait(false); }, cancellationToken).ConfigureAwait(false);
if (channelResult.TotalRecordCount > 0) var channels = channelResult.Items;
var embeddedChannels = channels
.Where(i => user.Configuration.DisplayChannelsWithinViews.Contains(i.Id))
.ToList();
list.AddRange(embeddedChannels.Select(i => _channelManager.GetChannel(i.Id)));
if (channels.Length > embeddedChannels.Count)
{ {
list.Add(await _channelManager.GetInternalChannelFolder(query.UserId, cancellationToken).ConfigureAwait(false)); list.Add(await _channelManager.GetInternalChannelFolder(query.UserId, cancellationToken).ConfigureAwait(false));
} }

View File

@ -846,5 +846,7 @@
"LabelXbmcMetadataSaveImagePathsHelp": "This is recommended if you have image file names that don't conform to Xbmc guidelines.", "LabelXbmcMetadataSaveImagePathsHelp": "This is recommended if you have image file names that don't conform to Xbmc guidelines.",
"LabelXbmcMetadataEnablePathSubstitution": "Enable path substitution", "LabelXbmcMetadataEnablePathSubstitution": "Enable path substitution",
"LabelXbmcMetadataEnablePathSubstitutionHelp": "Enables path substitution of image paths using the server's path substitution settings.", "LabelXbmcMetadataEnablePathSubstitutionHelp": "Enables path substitution of image paths using the server's path substitution settings.",
"LabelXbmcMetadataEnablePathSubstitutionHelp2": "See path substitution." "LabelXbmcMetadataEnablePathSubstitutionHelp2": "See path substitution.",
"LabelGroupChannelsIntoViews": "Display the following channels within my views:",
"LabelGroupChannelsIntoViewsHelp": "If enabled, these channels will be displayed directly alongside other views. If disabled, they'll be displayed within a separate Channels view."
} }