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

pull/702/head
Luke Pulverenti 10 years ago
parent 8ae316a2f3
commit c273f5fd9c

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

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

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

@ -90,12 +90,19 @@ namespace MediaBrowser.Server.Implementations.Library
{
var channelResult = await _channelManager.GetChannels(new ChannelQuery
{
Limit = 0,
UserId = query.UserId
}, 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));
}

@ -846,5 +846,7 @@
"LabelXbmcMetadataSaveImagePathsHelp": "This is recommended if you have image file names that don't conform to Xbmc guidelines.",
"LabelXbmcMetadataEnablePathSubstitution": "Enable path substitution",
"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."
}
Loading…
Cancel
Save