aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicArtist.cs4
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicGenre.cs4
-rw-r--r--MediaBrowser.Controller/Entities/GameGenre.cs4
-rw-r--r--MediaBrowser.Controller/Entities/Genre.cs4
-rw-r--r--MediaBrowser.Controller/Entities/IItemByName.cs25
-rw-r--r--MediaBrowser.Controller/Entities/Person.cs8
-rw-r--r--MediaBrowser.Controller/Entities/Studio.cs4
-rw-r--r--MediaBrowser.Controller/Entities/Year.cs4
-rw-r--r--MediaBrowser.Controller/LiveTv/Channel.cs4
-rw-r--r--MediaBrowser.Controller/LiveTv/ILiveTvService.cs10
-rw-r--r--MediaBrowser.Controller/LiveTv/ImageResponseInfo.cs19
-rw-r--r--MediaBrowser.Controller/LiveTv/ProgramInfo.cs12
-rw-r--r--MediaBrowser.Controller/LiveTv/RecordingInfo.cs29
-rw-r--r--MediaBrowser.Controller/LiveTv/SeriesTimerInfo.cs6
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj1
-rw-r--r--MediaBrowser.Model/Dto/ItemByNameCounts.cs5
-rw-r--r--MediaBrowser.Model/LiveTv/ProgramInfoDto.cs24
-rw-r--r--MediaBrowser.Model/LiveTv/RecordingInfoDto.cs33
-rw-r--r--MediaBrowser.Server.Implementations/Dto/DtoService.cs8
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/PeoplePostScanTask.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs2
-rw-r--r--MediaBrowser.Server.Implementations/LiveTv/ChannelImageProvider.cs2
-rw-r--r--MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs25
-rw-r--r--MediaBrowser.Server.Implementations/Sorting/AlbumCountComparer.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Sorting/EpisodeCountComparer.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Sorting/MovieCountComparer.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Sorting/MusicVideoCountComparer.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Sorting/SeriesCountComparer.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Sorting/SongCountComparer.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Sorting/TrailerCountComparer.cs2
-rw-r--r--Nuget/MediaBrowser.Common.Internal.nuspec4
-rw-r--r--Nuget/MediaBrowser.Common.nuspec2
-rw-r--r--Nuget/MediaBrowser.Server.Core.nuspec4
37 files changed, 180 insertions, 91 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
index 8ebfe17e4..d5572b9a5 100644
--- a/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
+++ b/MediaBrowser.Controller/Entities/Audio/MusicArtist.cs
@@ -14,7 +14,7 @@ namespace MediaBrowser.Controller.Entities.Audio
public class MusicArtist : Folder, IItemByName, IHasMusicGenres, IHasDualAccess
{
[IgnoreDataMember]
- public Dictionary<Guid, ItemByNameCounts> UserItemCounts { get; set; }
+ public List<ItemByNameCounts> UserItemCountList { get; set; }
public bool IsAccessedByName { get; set; }
@@ -69,7 +69,7 @@ namespace MediaBrowser.Controller.Entities.Audio
public MusicArtist()
{
- UserItemCounts = new Dictionary<Guid, ItemByNameCounts>();
+ UserItemCountList = new List<ItemByNameCounts>();
}
/// <summary>
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs b/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs
index ec2995fb2..b54e14f2d 100644
--- a/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs
+++ b/MediaBrowser.Controller/Entities/Audio/MusicGenre.cs
@@ -12,7 +12,7 @@ namespace MediaBrowser.Controller.Entities.Audio
{
public MusicGenre()
{
- UserItemCounts = new Dictionary<Guid, ItemByNameCounts>();
+ UserItemCountList = new List<ItemByNameCounts>();
}
/// <summary>
@@ -25,6 +25,6 @@ namespace MediaBrowser.Controller.Entities.Audio
}
[IgnoreDataMember]
- public Dictionary<Guid, ItemByNameCounts> UserItemCounts { get; set; }
+ public List<ItemByNameCounts> UserItemCountList { get; set; }
}
}
diff --git a/MediaBrowser.Controller/Entities/GameGenre.cs b/MediaBrowser.Controller/Entities/GameGenre.cs
index 0c877782e..ffe62ba03 100644
--- a/MediaBrowser.Controller/Entities/GameGenre.cs
+++ b/MediaBrowser.Controller/Entities/GameGenre.cs
@@ -9,7 +9,7 @@ namespace MediaBrowser.Controller.Entities
{
public GameGenre()
{
- UserItemCounts = new Dictionary<Guid, ItemByNameCounts>();
+ UserItemCountList = new List<ItemByNameCounts>();
}
/// <summary>
@@ -22,6 +22,6 @@ namespace MediaBrowser.Controller.Entities
}
[IgnoreDataMember]
- public Dictionary<Guid, ItemByNameCounts> UserItemCounts { get; set; }
+ public List<ItemByNameCounts> UserItemCountList { get; set; }
}
}
diff --git a/MediaBrowser.Controller/Entities/Genre.cs b/MediaBrowser.Controller/Entities/Genre.cs
index 6c4950182..0fa49639b 100644
--- a/MediaBrowser.Controller/Entities/Genre.cs
+++ b/MediaBrowser.Controller/Entities/Genre.cs
@@ -12,7 +12,7 @@ namespace MediaBrowser.Controller.Entities
{
public Genre()
{
- UserItemCounts = new Dictionary<Guid, ItemByNameCounts>();
+ UserItemCountList = new List<ItemByNameCounts>();
}
/// <summary>
@@ -25,6 +25,6 @@ namespace MediaBrowser.Controller.Entities
}
[IgnoreDataMember]
- public Dictionary<Guid, ItemByNameCounts> UserItemCounts { get; set; }
+ public List<ItemByNameCounts> UserItemCountList { get; set; }
}
}
diff --git a/MediaBrowser.Controller/Entities/IItemByName.cs b/MediaBrowser.Controller/Entities/IItemByName.cs
index 1cb375374..1e83c7466 100644
--- a/MediaBrowser.Controller/Entities/IItemByName.cs
+++ b/MediaBrowser.Controller/Entities/IItemByName.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Model.Dto;
using System;
using System.Collections.Generic;
+using System.Linq;
namespace MediaBrowser.Controller.Entities
{
@@ -9,7 +10,7 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
public interface IItemByName
{
- Dictionary<Guid, ItemByNameCounts> UserItemCounts { get; set; }
+ List<ItemByNameCounts> UserItemCountList { get; set; }
}
public interface IHasDualAccess : IItemByName
@@ -17,23 +18,29 @@ namespace MediaBrowser.Controller.Entities
bool IsAccessedByName { get; }
}
- public static class IItemByNameExtensions
+ public static class ItemByNameExtensions
{
- public static ItemByNameCounts GetItemByNameCounts(this IItemByName item, User user)
+ public static ItemByNameCounts GetItemByNameCounts(this IItemByName item, Guid userId)
{
- if (user == null)
+ if (userId == Guid.Empty)
{
- throw new ArgumentNullException("user");
+ throw new ArgumentNullException("userId");
}
- ItemByNameCounts counts;
+ return item.UserItemCountList.FirstOrDefault(i => i.UserId == userId);
+ }
+
+ public static void SetItemByNameCounts(this IItemByName item, Guid userId, ItemByNameCounts counts)
+ {
+ var current = item.UserItemCountList.FirstOrDefault(i => i.UserId == userId);
- if (item.UserItemCounts.TryGetValue(user.Id, out counts))
+ if (current != null)
{
- return counts;
+ item.UserItemCountList.Remove(current);
}
- return null;
+ counts.UserId = userId;
+ item.UserItemCountList.Add(counts);
}
}
}
diff --git a/MediaBrowser.Controller/Entities/Person.cs b/MediaBrowser.Controller/Entities/Person.cs
index 17b9d7741..243861da7 100644
--- a/MediaBrowser.Controller/Entities/Person.cs
+++ b/MediaBrowser.Controller/Entities/Person.cs
@@ -1,7 +1,7 @@
-using System.Runtime.Serialization;
-using MediaBrowser.Model.Dto;
+using MediaBrowser.Model.Dto;
using System;
using System.Collections.Generic;
+using System.Runtime.Serialization;
namespace MediaBrowser.Controller.Entities
{
@@ -12,11 +12,11 @@ namespace MediaBrowser.Controller.Entities
{
public Person()
{
- UserItemCounts = new Dictionary<Guid, ItemByNameCounts>();
+ UserItemCountList = new List<ItemByNameCounts>();
}
[IgnoreDataMember]
- public Dictionary<Guid, ItemByNameCounts> UserItemCounts { get; set; }
+ public List<ItemByNameCounts> UserItemCountList { get; set; }
/// <summary>
/// Gets the user data key.
diff --git a/MediaBrowser.Controller/Entities/Studio.cs b/MediaBrowser.Controller/Entities/Studio.cs
index bbe96a88b..7bc17549f 100644
--- a/MediaBrowser.Controller/Entities/Studio.cs
+++ b/MediaBrowser.Controller/Entities/Studio.cs
@@ -12,7 +12,7 @@ namespace MediaBrowser.Controller.Entities
{
public Studio()
{
- UserItemCounts = new Dictionary<Guid, ItemByNameCounts>();
+ UserItemCountList = new List<ItemByNameCounts>();
}
/// <summary>
@@ -25,6 +25,6 @@ namespace MediaBrowser.Controller.Entities
}
[IgnoreDataMember]
- public Dictionary<Guid, ItemByNameCounts> UserItemCounts { get; set; }
+ public List<ItemByNameCounts> UserItemCountList { get; set; }
}
}
diff --git a/MediaBrowser.Controller/Entities/Year.cs b/MediaBrowser.Controller/Entities/Year.cs
index d0f457718..cd50a1c60 100644
--- a/MediaBrowser.Controller/Entities/Year.cs
+++ b/MediaBrowser.Controller/Entities/Year.cs
@@ -12,11 +12,11 @@ namespace MediaBrowser.Controller.Entities
{
public Year()
{
- UserItemCounts = new Dictionary<Guid, ItemByNameCounts>();
+ UserItemCountList = new List<ItemByNameCounts>();
}
[IgnoreDataMember]
- public Dictionary<Guid, ItemByNameCounts> UserItemCounts { get; set; }
+ public List<ItemByNameCounts> UserItemCountList { get; set; }
/// <summary>
/// Gets the user data key.
diff --git a/MediaBrowser.Controller/LiveTv/Channel.cs b/MediaBrowser.Controller/LiveTv/Channel.cs
index 94d76971c..8097cea1d 100644
--- a/MediaBrowser.Controller/LiveTv/Channel.cs
+++ b/MediaBrowser.Controller/LiveTv/Channel.cs
@@ -11,7 +11,7 @@ namespace MediaBrowser.Controller.LiveTv
{
public Channel()
{
- UserItemCounts = new Dictionary<Guid, ItemByNameCounts>();
+ UserItemCountList = new List<ItemByNameCounts>();
}
/// <summary>
@@ -24,7 +24,7 @@ namespace MediaBrowser.Controller.LiveTv
}
[IgnoreDataMember]
- public Dictionary<Guid, ItemByNameCounts> UserItemCounts { get; set; }
+ public List<ItemByNameCounts> UserItemCountList { get; set; }
/// <summary>
/// Gets or sets the number.
diff --git a/MediaBrowser.Controller/LiveTv/ILiveTvService.cs b/MediaBrowser.Controller/LiveTv/ILiveTvService.cs
index 1627ad400..a6c60d468 100644
--- a/MediaBrowser.Controller/LiveTv/ILiveTvService.cs
+++ b/MediaBrowser.Controller/LiveTv/ILiveTvService.cs
@@ -69,9 +69,17 @@ namespace MediaBrowser.Controller.LiveTv
/// <param name="channelId">The channel identifier.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task{Stream}.</returns>
- Task<HttpResponseInfo> GetChannelImageAsync(string channelId, CancellationToken cancellationToken);
+ Task<ImageResponseInfo> GetChannelImageAsync(string channelId, CancellationToken cancellationToken);
/// <summary>
+ /// Gets the program image asynchronous.
+ /// </summary>
+ /// <param name="programId">The program identifier.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task{ImageResponseInfo}.</returns>
+ Task<ImageResponseInfo> GetProgramImageAsync(string programId, CancellationToken cancellationToken);
+
+ /// <summary>
/// Gets the recordings asynchronous.
/// </summary>
/// <param name="cancellationToken">The cancellation token.</param>
diff --git a/MediaBrowser.Controller/LiveTv/ImageResponseInfo.cs b/MediaBrowser.Controller/LiveTv/ImageResponseInfo.cs
new file mode 100644
index 000000000..d454a1ef8
--- /dev/null
+++ b/MediaBrowser.Controller/LiveTv/ImageResponseInfo.cs
@@ -0,0 +1,19 @@
+using System.IO;
+
+namespace MediaBrowser.Controller.LiveTv
+{
+ public class ImageResponseInfo
+ {
+ /// <summary>
+ /// Gets or sets the stream.
+ /// </summary>
+ /// <value>The stream.</value>
+ public Stream Stream { get; set; }
+
+ /// <summary>
+ /// Gets or sets the type of the MIME.
+ /// </summary>
+ /// <value>The type of the MIME.</value>
+ public string MimeType { get; set; }
+ }
+}
diff --git a/MediaBrowser.Controller/LiveTv/ProgramInfo.cs b/MediaBrowser.Controller/LiveTv/ProgramInfo.cs
index 58a15be3e..cf5cdb94c 100644
--- a/MediaBrowser.Controller/LiveTv/ProgramInfo.cs
+++ b/MediaBrowser.Controller/LiveTv/ProgramInfo.cs
@@ -77,6 +77,18 @@ namespace MediaBrowser.Controller.LiveTv
/// </summary>
/// <value>The community rating.</value>
public float? CommunityRating { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance is repeat.
+ /// </summary>
+ /// <value><c>true</c> if this instance is repeat; otherwise, <c>false</c>.</value>
+ public bool IsRepeat { get; set; }
+
+ /// <summary>
+ /// Gets or sets the episode title.
+ /// </summary>
+ /// <value>The episode title.</value>
+ public string EpisodeTitle { get; set; }
public ProgramInfo()
{
diff --git a/MediaBrowser.Controller/LiveTv/RecordingInfo.cs b/MediaBrowser.Controller/LiveTv/RecordingInfo.cs
index 88d093f64..65e977d75 100644
--- a/MediaBrowser.Controller/LiveTv/RecordingInfo.cs
+++ b/MediaBrowser.Controller/LiveTv/RecordingInfo.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Model.LiveTv;
using System;
+using System.Collections.Generic;
namespace MediaBrowser.Controller.LiveTv
{
@@ -26,6 +27,12 @@ namespace MediaBrowser.Controller.LiveTv
public string Name { get; set; }
/// <summary>
+ /// Gets or sets the path.
+ /// </summary>
+ /// <value>The path.</value>
+ public string Path { get; set; }
+
+ /// <summary>
/// Description of the recording.
/// </summary>
public string Description { get; set; }
@@ -51,5 +58,27 @@ namespace MediaBrowser.Controller.LiveTv
/// </summary>
/// <value>The status.</value>
public RecordingStatus Status { get; set; }
+
+ /// <summary>
+ /// Genre of the program.
+ /// </summary>
+ public List<string> Genres { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance is repeat.
+ /// </summary>
+ /// <value><c>true</c> if this instance is repeat; otherwise, <c>false</c>.</value>
+ public bool IsRepeat { get; set; }
+
+ /// <summary>
+ /// Gets or sets the episode title.
+ /// </summary>
+ /// <value>The episode title.</value>
+ public string EpisodeTitle { get; set; }
+
+ public RecordingInfo()
+ {
+ Genres = new List<string>();
+ }
}
}
diff --git a/MediaBrowser.Controller/LiveTv/SeriesTimerInfo.cs b/MediaBrowser.Controller/LiveTv/SeriesTimerInfo.cs
index 178fcff82..44594882c 100644
--- a/MediaBrowser.Controller/LiveTv/SeriesTimerInfo.cs
+++ b/MediaBrowser.Controller/LiveTv/SeriesTimerInfo.cs
@@ -71,6 +71,12 @@ namespace MediaBrowser.Controller.LiveTv
/// <value>The days.</value>
public List<DayOfWeek> Days { get; set; }
+ /// <summary>
+ /// Gets or sets the priority.
+ /// </summary>
+ /// <value>The priority.</value>
+ public int Priority { get; set; }
+
public SeriesTimerInfo()
{
Days = new List<DayOfWeek>();
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index 64d5c5226..2beb3588e 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -110,6 +110,7 @@
<Compile Include="LiveTv\ChannelInfo.cs" />
<Compile Include="LiveTv\ILiveTvManager.cs" />
<Compile Include="LiveTv\ILiveTvService.cs" />
+ <Compile Include="LiveTv\ImageResponseInfo.cs" />
<Compile Include="LiveTv\ProgramInfo.cs" />
<Compile Include="LiveTv\RecordingInfo.cs" />
<Compile Include="LiveTv\SeriesTimerInfo.cs" />
diff --git a/MediaBrowser.Model/Dto/ItemByNameCounts.cs b/MediaBrowser.Model/Dto/ItemByNameCounts.cs
index ae801e196..31b6d2da0 100644
--- a/MediaBrowser.Model/Dto/ItemByNameCounts.cs
+++ b/MediaBrowser.Model/Dto/ItemByNameCounts.cs
@@ -1,4 +1,5 @@
-
+using System;
+
namespace MediaBrowser.Model.Dto
{
/// <summary>
@@ -6,6 +7,8 @@ namespace MediaBrowser.Model.Dto
/// </summary>
public class ItemByNameCounts
{
+ public Guid UserId { get; set; }
+
/// <summary>
/// Gets or sets the total count.
/// </summary>
diff --git a/MediaBrowser.Model/LiveTv/ProgramInfoDto.cs b/MediaBrowser.Model/LiveTv/ProgramInfoDto.cs
index 26cfd3cf0..6884d355d 100644
--- a/MediaBrowser.Model/LiveTv/ProgramInfoDto.cs
+++ b/MediaBrowser.Model/LiveTv/ProgramInfoDto.cs
@@ -90,29 +90,17 @@ namespace MediaBrowser.Model.LiveTv
public DateTime? OriginalAirDate { get; set; }
/// <summary>
- /// Gets or sets the recording identifier.
+ /// Gets or sets a value indicating whether this instance is repeat.
/// </summary>
- /// <value>The recording identifier.</value>
- public string RecordingId { get; set; }
+ /// <value><c>true</c> if this instance is repeat; otherwise, <c>false</c>.</value>
+ public bool IsRepeat { get; set; }
/// <summary>
- /// Gets or sets the recording status.
+ /// Gets or sets the episode title.
/// </summary>
- /// <value>The recording status.</value>
- public RecordingStatus? RecordingStatus { get; set; }
+ /// <value>The episode title.</value>
+ public string EpisodeTitle { get; set; }
- /// <summary>
- /// Gets or sets the timer identifier.
- /// </summary>
- /// <value>The timer identifier.</value>
- public string TimerId { get; set; }
-
- /// <summary>
- /// Gets or sets the timer status.
- /// </summary>
- /// <value>The timer status.</value>
- public RecordingStatus? TimerStatus { get; set; }
-
public ProgramInfoDto()
{
Genres = new List<string>();
diff --git a/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs b/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs
index 926198b93..9ad6233a6 100644
--- a/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs
+++ b/MediaBrowser.Model/LiveTv/RecordingInfoDto.cs
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
namespace MediaBrowser.Model.LiveTv
{
@@ -14,13 +15,13 @@ namespace MediaBrowser.Model.LiveTv
/// </summary>
/// <value>The external identifier.</value>
public string ExternalId { get; set; }
-
+
/// <summary>
/// Gets or sets the program identifier.
/// </summary>
/// <value>The program identifier.</value>
public string ProgramId { get; set; }
-
+
/// <summary>
/// ChannelId of the recording.
/// </summary>
@@ -37,6 +38,12 @@ namespace MediaBrowser.Model.LiveTv
public string Name { get; set; }
/// <summary>
+ /// Gets or sets the path.
+ /// </summary>
+ /// <value>The path.</value>
+ public string Path { get; set; }
+
+ /// <summary>
/// Description of the recording.
/// </summary>
public string Description { get; set; }
@@ -56,5 +63,27 @@ namespace MediaBrowser.Model.LiveTv
/// </summary>
/// <value>The status.</value>
public RecordingStatus Status { get; set; }
+
+ /// <summary>
+ /// Genre of the program.
+ /// </summary>
+ public List<string> Genres { get; set; }
+
+ /// <summary>
+ /// Gets or sets a value indicating whether this instance is repeat.
+ /// </summary>
+ /// <value><c>true</c> if this instance is repeat; otherwise, <c>false</c>.</value>
+ public bool IsRepeat { get; set; }
+
+ /// <summary>
+ /// Gets or sets the episode title.
+ /// </summary>
+ /// <value>The episode title.</value>
+ public string EpisodeTitle { get; set; }
+
+ public RecordingInfoDto()
+ {
+ Genres = new List<string>();
+ }
}
} \ No newline at end of file
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
index 90ca64058..f6291cf36 100644
--- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs
+++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
@@ -129,17 +129,13 @@ namespace MediaBrowser.Server.Implementations.Dto
/// <param name="user">The user.</param>
private void AttachItemByNameCounts(BaseItemDto dto, IItemByName item, User user)
{
- ItemByNameCounts counts;
-
if (user == null)
{
//counts = item.ItemCounts;
return;
}
- if (!item.UserItemCounts.TryGetValue(user.Id, out counts))
- {
- counts = new ItemByNameCounts();
- }
+
+ ItemByNameCounts counts = item.GetItemByNameCounts(user.Id) ?? new ItemByNameCounts();
dto.ChildCount = counts.TotalCount;
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs
index 1984a2420..40ef5304c 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs
@@ -137,7 +137,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
if (userId.HasValue)
{
- artist.UserItemCounts[userId.Value] = counts;
+ artist.SetItemByNameCounts(userId.Value, counts);
}
}
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs
index d21a123c0..c7af7a238 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs
@@ -106,7 +106,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
{
var itemCounts = CountHelpers.GetCounts(counts[libraryId]);
- itemByName.UserItemCounts[libraryId] = itemCounts;
+ itemByName.SetItemByNameCounts(libraryId, itemCounts);
}
await itemByName.RefreshMetadata(cancellationToken).ConfigureAwait(false);
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs
index 0670e1a85..cb1253df0 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs
@@ -107,7 +107,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
{
var itemCounts = CountHelpers.GetCounts(counts[libraryId]);
- itemByName.UserItemCounts[libraryId] = itemCounts;
+ itemByName.SetItemByNameCounts(libraryId, itemCounts);
}
await itemByName.RefreshMetadata(cancellationToken).ConfigureAwait(false);
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs
index 166f557cf..57a6a612b 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs
@@ -107,7 +107,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
{
var itemCounts = CountHelpers.GetCounts(counts[libraryId]);
- itemByName.UserItemCounts[libraryId] = itemCounts;
+ itemByName.SetItemByNameCounts(libraryId, itemCounts);
}
await itemByName.RefreshMetadata(cancellationToken).ConfigureAwait(false);
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/PeoplePostScanTask.cs b/MediaBrowser.Server.Implementations/Library/Validators/PeoplePostScanTask.cs
index cfc7f4310..0104b2b7e 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/PeoplePostScanTask.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/PeoplePostScanTask.cs
@@ -94,7 +94,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
{
var itemCounts = CountHelpers.GetCounts(counts[libraryId]);
- itemByName.UserItemCounts[libraryId] = itemCounts;
+ itemByName.SetItemByNameCounts(libraryId, itemCounts);
}
}
catch (Exception ex)
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs
index 02c7a94b4..0f4ff562e 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs
@@ -106,7 +106,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
{
var itemCounts = CountHelpers.GetCounts(counts[libraryId]);
- itemByName.UserItemCounts[libraryId] = itemCounts;
+ itemByName.SetItemByNameCounts(libraryId, itemCounts);
}
await itemByName.RefreshMetadata(cancellationToken).ConfigureAwait(false);
diff --git a/MediaBrowser.Server.Implementations/LiveTv/ChannelImageProvider.cs b/MediaBrowser.Server.Implementations/LiveTv/ChannelImageProvider.cs
index e1a918fd2..322948bad 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/ChannelImageProvider.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/ChannelImageProvider.cs
@@ -75,7 +75,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
// Dummy up the original url
var url = channel.ServiceName + channel.ChannelId;
- await _providerManager.SaveImage(channel, response.Content, response.ContentType, ImageType.Primary, null, url, cancellationToken).ConfigureAwait(false);
+ await _providerManager.SaveImage(channel, response.Stream, response.MimeType, ImageType.Primary, null, url, cancellationToken).ConfigureAwait(false);
}
}
diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs
index 261c915cb..704d1ea59 100644
--- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs
+++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs
@@ -209,7 +209,9 @@ namespace MediaBrowser.Server.Implementations.LiveTv
OriginalAirDate = program.OriginalAirDate,
Audio = program.Audio,
CommunityRating = program.CommunityRating,
- AspectRatio = program.AspectRatio
+ AspectRatio = program.AspectRatio,
+ IsRepeat = program.IsRepeat,
+ EpisodeTitle = program.EpisodeTitle
};
}
@@ -297,21 +299,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv
var returnArray = programs.ToArray();
- var recordings = await GetRecordings(new RecordingQuery
- {
-
-
- }, cancellationToken).ConfigureAwait(false);
-
- foreach (var program in returnArray)
- {
- var recording = recordings.Items
- .FirstOrDefault(i => string.Equals(i.ProgramId, program.Id));
-
- program.RecordingId = recording == null ? null : recording.Id;
- program.RecordingStatus = recording == null ? (RecordingStatus?)null : recording.Status;
- }
-
return new QueryResult<ProgramInfoDto>
{
Items = returnArray,
@@ -400,7 +387,11 @@ namespace MediaBrowser.Server.Implementations.LiveTv
Id = id,
ExternalId = info.Id,
ChannelId = GetInternalChannelId(service.Name, info.ChannelId, info.ChannelName).ToString("N"),
- Status = info.Status
+ Status = info.Status,
+ Path = info.Path,
+ Genres = info.Genres,
+ IsRepeat = info.IsRepeat,
+ EpisodeTitle = info.EpisodeTitle
};
if (!string.IsNullOrEmpty(info.ProgramId))
diff --git a/MediaBrowser.Server.Implementations/Sorting/AlbumCountComparer.cs b/MediaBrowser.Server.Implementations/Sorting/AlbumCountComparer.cs
index 8e24bc52d..e35ba00f2 100644
--- a/MediaBrowser.Server.Implementations/Sorting/AlbumCountComparer.cs
+++ b/MediaBrowser.Server.Implementations/Sorting/AlbumCountComparer.cs
@@ -48,7 +48,7 @@ namespace MediaBrowser.Server.Implementations.Sorting
if (itemByName != null)
{
- var counts = itemByName.GetItemByNameCounts(User);
+ var counts = itemByName.GetItemByNameCounts(User.Id);
if (counts != null)
{
diff --git a/MediaBrowser.Server.Implementations/Sorting/EpisodeCountComparer.cs b/MediaBrowser.Server.Implementations/Sorting/EpisodeCountComparer.cs
index 7731e59d2..b3fd8a023 100644
--- a/MediaBrowser.Server.Implementations/Sorting/EpisodeCountComparer.cs
+++ b/MediaBrowser.Server.Implementations/Sorting/EpisodeCountComparer.cs
@@ -48,7 +48,7 @@ namespace MediaBrowser.Server.Implementations.Sorting
if (itemByName != null)
{
- var counts = itemByName.GetItemByNameCounts(User);
+ var counts = itemByName.GetItemByNameCounts(User.Id);
if (counts != null)
{
diff --git a/MediaBrowser.Server.Implementations/Sorting/MovieCountComparer.cs b/MediaBrowser.Server.Implementations/Sorting/MovieCountComparer.cs
index 51f39a02f..605f4d1af 100644
--- a/MediaBrowser.Server.Implementations/Sorting/MovieCountComparer.cs
+++ b/MediaBrowser.Server.Implementations/Sorting/MovieCountComparer.cs
@@ -48,7 +48,7 @@ namespace MediaBrowser.Server.Implementations.Sorting
if (itemByName != null)
{
- var counts = itemByName.GetItemByNameCounts(User);
+ var counts = itemByName.GetItemByNameCounts(User.Id);
if (counts != null)
{
diff --git a/MediaBrowser.Server.Implementations/Sorting/MusicVideoCountComparer.cs b/MediaBrowser.Server.Implementations/Sorting/MusicVideoCountComparer.cs
index 889658459..6c9c5534d 100644
--- a/MediaBrowser.Server.Implementations/Sorting/MusicVideoCountComparer.cs
+++ b/MediaBrowser.Server.Implementations/Sorting/MusicVideoCountComparer.cs
@@ -48,7 +48,7 @@ namespace MediaBrowser.Server.Implementations.Sorting
if (itemByName != null)
{
- var counts = itemByName.GetItemByNameCounts(User);
+ var counts = itemByName.GetItemByNameCounts(User.Id);
if (counts != null)
{
diff --git a/MediaBrowser.Server.Implementations/Sorting/SeriesCountComparer.cs b/MediaBrowser.Server.Implementations/Sorting/SeriesCountComparer.cs
index 13d2932cb..8567e400c 100644
--- a/MediaBrowser.Server.Implementations/Sorting/SeriesCountComparer.cs
+++ b/MediaBrowser.Server.Implementations/Sorting/SeriesCountComparer.cs
@@ -48,7 +48,7 @@ namespace MediaBrowser.Server.Implementations.Sorting
if (itemByName != null)
{
- var counts = itemByName.GetItemByNameCounts(User);
+ var counts = itemByName.GetItemByNameCounts(User.Id);
if (counts != null)
{
diff --git a/MediaBrowser.Server.Implementations/Sorting/SongCountComparer.cs b/MediaBrowser.Server.Implementations/Sorting/SongCountComparer.cs
index b12e1322a..85b849a21 100644
--- a/MediaBrowser.Server.Implementations/Sorting/SongCountComparer.cs
+++ b/MediaBrowser.Server.Implementations/Sorting/SongCountComparer.cs
@@ -48,7 +48,7 @@ namespace MediaBrowser.Server.Implementations.Sorting
if (itemByName != null)
{
- var counts = itemByName.GetItemByNameCounts(User);
+ var counts = itemByName.GetItemByNameCounts(User.Id);
if (counts != null)
{
diff --git a/MediaBrowser.Server.Implementations/Sorting/TrailerCountComparer.cs b/MediaBrowser.Server.Implementations/Sorting/TrailerCountComparer.cs
index b6f67410a..a13875674 100644
--- a/MediaBrowser.Server.Implementations/Sorting/TrailerCountComparer.cs
+++ b/MediaBrowser.Server.Implementations/Sorting/TrailerCountComparer.cs
@@ -48,7 +48,7 @@ namespace MediaBrowser.Server.Implementations.Sorting
if (itemByName != null)
{
- var counts = itemByName.GetItemByNameCounts(User);
+ var counts = itemByName.GetItemByNameCounts(User.Id);
if (counts != null)
{
diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec
index 946ec617b..c3998aed7 100644
--- a/Nuget/MediaBrowser.Common.Internal.nuspec
+++ b/Nuget/MediaBrowser.Common.Internal.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>MediaBrowser.Common.Internal</id>
- <version>3.0.256</version>
+ <version>3.0.257</version>
<title>MediaBrowser.Common.Internal</title>
<authors>Luke</authors>
<owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
<description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
<copyright>Copyright © Media Browser 2013</copyright>
<dependencies>
- <dependency id="MediaBrowser.Common" version="3.0.256" />
+ <dependency id="MediaBrowser.Common" version="3.0.257" />
<dependency id="NLog" version="2.1.0" />
<dependency id="ServiceStack.Text" version="3.9.58" />
<dependency id="SimpleInjector" version="2.3.6" />
diff --git a/Nuget/MediaBrowser.Common.nuspec b/Nuget/MediaBrowser.Common.nuspec
index 04ac3559c..aea3230fd 100644
--- a/Nuget/MediaBrowser.Common.nuspec
+++ b/Nuget/MediaBrowser.Common.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>MediaBrowser.Common</id>
- <version>3.0.256</version>
+ <version>3.0.257</version>
<title>MediaBrowser.Common</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
diff --git a/Nuget/MediaBrowser.Server.Core.nuspec b/Nuget/MediaBrowser.Server.Core.nuspec
index d813a00ac..2a80896c0 100644
--- a/Nuget/MediaBrowser.Server.Core.nuspec
+++ b/Nuget/MediaBrowser.Server.Core.nuspec
@@ -2,7 +2,7 @@
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>MediaBrowser.Server.Core</id>
- <version>3.0.256</version>
+ <version>3.0.257</version>
<title>Media Browser.Server.Core</title>
<authors>Media Browser Team</authors>
<owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
<description>Contains core components required to build plugins for Media Browser Server.</description>
<copyright>Copyright © Media Browser 2013</copyright>
<dependencies>
- <dependency id="MediaBrowser.Common" version="3.0.256" />
+ <dependency id="MediaBrowser.Common" version="3.0.257" />
</dependencies>
</metadata>
<files>