aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-05-11 18:38:10 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-05-11 18:38:10 -0400
commit0d605b8672ece5129e833a2e9cde11a8aaf1b62a (patch)
tree6567f39ec75c3b7a89681940ab0cd74cab8f77de
parent8bc41832e620b416159b8303bca9960b416a1b10 (diff)
update subtitle interface
-rw-r--r--MediaBrowser.Controller/Chapters/ChapterResponse.cs19
-rw-r--r--MediaBrowser.Controller/Chapters/ChapterSearchRequest.cs29
-rw-r--r--MediaBrowser.Controller/Chapters/IChapterProvider.cs39
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj6
-rw-r--r--MediaBrowser.Controller/Providers/VideoContentType.cs19
-rw-r--r--MediaBrowser.Controller/Subtitles/ISubtitleProvider.cs42
-rw-r--r--MediaBrowser.Controller/Subtitles/SubtitleResponse.cs11
-rw-r--r--MediaBrowser.Controller/Subtitles/SubtitleSearchRequest.cs29
-rw-r--r--MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj6
-rw-r--r--MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj6
-rw-r--r--MediaBrowser.Model/Chapters/RemoteChapterInfo.cs18
-rw-r--r--MediaBrowser.Model/Chapters/RemoteChapterResult.cs36
-rw-r--r--MediaBrowser.Model/Dto/BaseItemPerson.cs9
-rw-r--r--MediaBrowser.Model/MediaBrowser.Model.csproj2
-rw-r--r--MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs9
-rw-r--r--MediaBrowser.Providers/Subtitles/OpenSubtitleDownloader.cs19
-rw-r--r--MediaBrowser.Providers/Subtitles/SubtitleManager.cs12
-rw-r--r--MediaBrowser.Server.Implementations/Dto/DtoService.cs1
-rw-r--r--MediaBrowser.WebDashboard/Api/DashboardService.cs1
-rw-r--r--MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj3
20 files changed, 253 insertions, 63 deletions
diff --git a/MediaBrowser.Controller/Chapters/ChapterResponse.cs b/MediaBrowser.Controller/Chapters/ChapterResponse.cs
new file mode 100644
index 000000000..3c1b8ed07
--- /dev/null
+++ b/MediaBrowser.Controller/Chapters/ChapterResponse.cs
@@ -0,0 +1,19 @@
+using MediaBrowser.Model.Chapters;
+using System.Collections.Generic;
+
+namespace MediaBrowser.Controller.Chapters
+{
+ public class ChapterResponse
+ {
+ /// <summary>
+ /// Gets or sets the chapters.
+ /// </summary>
+ /// <value>The chapters.</value>
+ public List<RemoteChapterInfo> Chapters { get; set; }
+
+ public ChapterResponse()
+ {
+ Chapters = new List<RemoteChapterInfo>();
+ }
+ }
+} \ No newline at end of file
diff --git a/MediaBrowser.Controller/Chapters/ChapterSearchRequest.cs b/MediaBrowser.Controller/Chapters/ChapterSearchRequest.cs
new file mode 100644
index 000000000..9a53d68ea
--- /dev/null
+++ b/MediaBrowser.Controller/Chapters/ChapterSearchRequest.cs
@@ -0,0 +1,29 @@
+using MediaBrowser.Controller.Providers;
+using MediaBrowser.Model.Entities;
+using System;
+using System.Collections.Generic;
+
+namespace MediaBrowser.Controller.Chapters
+{
+ public class ChapterSearchRequest : IHasProviderIds
+ {
+ public string Language { get; set; }
+
+ public VideoContentType ContentType { get; set; }
+
+ public string MediaPath { get; set; }
+ public string SeriesName { get; set; }
+ public string Name { get; set; }
+ public int? IndexNumber { get; set; }
+ public int? IndexNumberEnd { get; set; }
+ public int? ParentIndexNumber { get; set; }
+ public int? ProductionYear { get; set; }
+ public long? RuntimeTicks { get; set; }
+ public Dictionary<string, string> ProviderIds { get; set; }
+
+ public ChapterSearchRequest()
+ {
+ ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
+ }
+ }
+} \ No newline at end of file
diff --git a/MediaBrowser.Controller/Chapters/IChapterProvider.cs b/MediaBrowser.Controller/Chapters/IChapterProvider.cs
new file mode 100644
index 000000000..a7505347b
--- /dev/null
+++ b/MediaBrowser.Controller/Chapters/IChapterProvider.cs
@@ -0,0 +1,39 @@
+using MediaBrowser.Controller.Providers;
+using MediaBrowser.Model.Chapters;
+using System.Collections.Generic;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace MediaBrowser.Controller.Chapters
+{
+ public interface IChapterProvider
+ {
+ /// <summary>
+ /// Gets the name.
+ /// </summary>
+ /// <value>The name.</value>
+ string Name { get; }
+
+ /// <summary>
+ /// Gets the supported media types.
+ /// </summary>
+ /// <value>The supported media types.</value>
+ IEnumerable<VideoContentType> SupportedMediaTypes { get; }
+
+ /// <summary>
+ /// Searches the specified request.
+ /// </summary>
+ /// <param name="request">The request.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task{IEnumerable{RemoteChapterResult}}.</returns>
+ Task<IEnumerable<RemoteChapterResult>> Search(ChapterSearchRequest request, CancellationToken cancellationToken);
+
+ /// <summary>
+ /// Gets the chapters.
+ /// </summary>
+ /// <param name="id">The identifier.</param>
+ /// <param name="cancellationToken">The cancellation token.</param>
+ /// <returns>Task{ChapterResponse}.</returns>
+ Task<ChapterResponse> GetChapters(string id, CancellationToken cancellationToken);
+ }
+}
diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
index 6a7557e3a..c7c4c5b5f 100644
--- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj
+++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj
@@ -77,6 +77,9 @@
<Compile Include="Channels\ChannelAudioItem.cs" />
<Compile Include="Channels\ChannelVideoItem.cs" />
<Compile Include="Channels\Channel.cs" />
+ <Compile Include="Chapters\ChapterSearchRequest.cs" />
+ <Compile Include="Chapters\IChapterProvider.cs" />
+ <Compile Include="Chapters\ChapterResponse.cs" />
<Compile Include="Collections\CollectionCreationOptions.cs" />
<Compile Include="Collections\ICollectionManager.cs" />
<Compile Include="Dlna\ControlRequest.cs" />
@@ -191,6 +194,7 @@
<Compile Include="Providers\IMetadataProvider.cs" />
<Compile Include="Providers\IMetadataService.cs" />
<Compile Include="Providers\IRemoteMetadataProvider.cs" />
+ <Compile Include="Providers\VideoContentType.cs" />
<Compile Include="Security\IEncryptionManager.cs" />
<Compile Include="Subtitles\ISubtitleManager.cs" />
<Compile Include="Subtitles\ISubtitleProvider.cs" />
@@ -269,6 +273,8 @@
<Compile Include="Sorting\IUserBaseItemComparer.cs" />
<Compile Include="Providers\BaseItemXmlParser.cs" />
<Compile Include="Sorting\SortExtensions.cs" />
+ <Compile Include="Subtitles\SubtitleResponse.cs" />
+ <Compile Include="Subtitles\SubtitleSearchRequest.cs" />
<Compile Include="Themes\IAppThemeManager.cs" />
<Compile Include="Themes\InternalThemeImage.cs" />
</ItemGroup>
diff --git a/MediaBrowser.Controller/Providers/VideoContentType.cs b/MediaBrowser.Controller/Providers/VideoContentType.cs
new file mode 100644
index 000000000..903c77612
--- /dev/null
+++ b/MediaBrowser.Controller/Providers/VideoContentType.cs
@@ -0,0 +1,19 @@
+
+namespace MediaBrowser.Controller.Providers
+{
+ /// <summary>
+ /// Enum VideoContentType
+ /// </summary>
+ public enum VideoContentType
+ {
+ /// <summary>
+ /// The episode
+ /// </summary>
+ Episode = 0,
+
+ /// <summary>
+ /// The movie
+ /// </summary>
+ Movie = 1
+ }
+}
diff --git a/MediaBrowser.Controller/Subtitles/ISubtitleProvider.cs b/MediaBrowser.Controller/Subtitles/ISubtitleProvider.cs
index 1409b7d50..dceea0cc6 100644
--- a/MediaBrowser.Controller/Subtitles/ISubtitleProvider.cs
+++ b/MediaBrowser.Controller/Subtitles/ISubtitleProvider.cs
@@ -1,8 +1,6 @@
-using MediaBrowser.Model.Entities;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Providers;
-using System;
using System.Collections.Generic;
-using System.IO;
using System.Threading;
using System.Threading.Tasks;
@@ -20,7 +18,7 @@ namespace MediaBrowser.Controller.Subtitles
/// Gets the supported media types.
/// </summary>
/// <value>The supported media types.</value>
- IEnumerable<SubtitleMediaType> SupportedMediaTypes { get; }
+ IEnumerable<VideoContentType> SupportedMediaTypes { get; }
/// <summary>
/// Searches the subtitles.
@@ -28,7 +26,7 @@ namespace MediaBrowser.Controller.Subtitles
/// <param name="request">The request.</param>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task{IEnumerable{RemoteSubtitleInfo}}.</returns>
- Task<IEnumerable<RemoteSubtitleInfo>> SearchSubtitles(SubtitleSearchRequest request, CancellationToken cancellationToken);
+ Task<IEnumerable<RemoteSubtitleInfo>> Search(SubtitleSearchRequest request, CancellationToken cancellationToken);
/// <summary>
/// Gets the subtitles.
@@ -38,38 +36,4 @@ namespace MediaBrowser.Controller.Subtitles
/// <returns>Task{SubtitleResponse}.</returns>
Task<SubtitleResponse> GetSubtitles(string id, CancellationToken cancellationToken);
}
-
- public enum SubtitleMediaType
- {
- Episode = 0,
- Movie = 1
- }
-
- public class SubtitleResponse
- {
- public string Language { get; set; }
- public string Format { get; set; }
- public Stream Stream { get; set; }
- }
-
- public class SubtitleSearchRequest : IHasProviderIds
- {
- public string Language { get; set; }
-
- public SubtitleMediaType ContentType { get; set; }
-
- public string MediaPath { get; set; }
- public string SeriesName { get; set; }
- public string Name { get; set; }
- public int? IndexNumber { get; set; }
- public int? IndexNumberEnd { get; set; }
- public int? ParentIndexNumber { get; set; }
- public int? ProductionYear { get; set; }
- public Dictionary<string, string> ProviderIds { get; set; }
-
- public SubtitleSearchRequest()
- {
- ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
- }
- }
}
diff --git a/MediaBrowser.Controller/Subtitles/SubtitleResponse.cs b/MediaBrowser.Controller/Subtitles/SubtitleResponse.cs
new file mode 100644
index 000000000..69e92c1f5
--- /dev/null
+++ b/MediaBrowser.Controller/Subtitles/SubtitleResponse.cs
@@ -0,0 +1,11 @@
+using System.IO;
+
+namespace MediaBrowser.Controller.Subtitles
+{
+ public class SubtitleResponse
+ {
+ public string Language { get; set; }
+ public string Format { get; set; }
+ public Stream Stream { get; set; }
+ }
+} \ No newline at end of file
diff --git a/MediaBrowser.Controller/Subtitles/SubtitleSearchRequest.cs b/MediaBrowser.Controller/Subtitles/SubtitleSearchRequest.cs
new file mode 100644
index 000000000..e83387129
--- /dev/null
+++ b/MediaBrowser.Controller/Subtitles/SubtitleSearchRequest.cs
@@ -0,0 +1,29 @@
+using MediaBrowser.Controller.Providers;
+using MediaBrowser.Model.Entities;
+using System;
+using System.Collections.Generic;
+
+namespace MediaBrowser.Controller.Subtitles
+{
+ public class SubtitleSearchRequest : IHasProviderIds
+ {
+ public string Language { get; set; }
+
+ public VideoContentType ContentType { get; set; }
+
+ public string MediaPath { get; set; }
+ public string SeriesName { get; set; }
+ public string Name { get; set; }
+ public int? IndexNumber { get; set; }
+ public int? IndexNumberEnd { get; set; }
+ public int? ParentIndexNumber { get; set; }
+ public int? ProductionYear { get; set; }
+ public long? RuntimeTicks { get; set; }
+ public Dictionary<string, string> ProviderIds { get; set; }
+
+ public SubtitleSearchRequest()
+ {
+ ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
+ }
+ }
+} \ No newline at end of file
diff --git a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
index 57d265796..ef59f8878 100644
--- a/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
+++ b/MediaBrowser.Model.Portable/MediaBrowser.Model.Portable.csproj
@@ -83,6 +83,12 @@
<Compile Include="..\MediaBrowser.Model\Channels\ChannelQuery.cs">
<Link>Channels\ChannelQuery.cs</Link>
</Compile>
+ <Compile Include="..\MediaBrowser.Model\Chapters\RemoteChapterInfo.cs">
+ <Link>Chapters\RemoteChapterInfo.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Chapters\RemoteChapterResult.cs">
+ <Link>Chapters\RemoteChapterResult.cs</Link>
+ </Compile>
<Compile Include="..\MediaBrowser.Model\Configuration\BaseApplicationConfiguration.cs">
<Link>Configuration\BaseApplicationConfiguration.cs</Link>
</Compile>
diff --git a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
index 318a26b7c..38ca64019 100644
--- a/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
+++ b/MediaBrowser.Model.net35/MediaBrowser.Model.net35.csproj
@@ -70,6 +70,12 @@
<Compile Include="..\MediaBrowser.Model\Channels\ChannelQuery.cs">
<Link>Channels\ChannelQuery.cs</Link>
</Compile>
+ <Compile Include="..\MediaBrowser.Model\Chapters\RemoteChapterInfo.cs">
+ <Link>Chapters\RemoteChapterInfo.cs</Link>
+ </Compile>
+ <Compile Include="..\MediaBrowser.Model\Chapters\RemoteChapterResult.cs">
+ <Link>Chapters\RemoteChapterResult.cs</Link>
+ </Compile>
<Compile Include="..\MediaBrowser.Model\Configuration\BaseApplicationConfiguration.cs">
<Link>Configuration\BaseApplicationConfiguration.cs</Link>
</Compile>
diff --git a/MediaBrowser.Model/Chapters/RemoteChapterInfo.cs b/MediaBrowser.Model/Chapters/RemoteChapterInfo.cs
new file mode 100644
index 000000000..f2674c842
--- /dev/null
+++ b/MediaBrowser.Model/Chapters/RemoteChapterInfo.cs
@@ -0,0 +1,18 @@
+
+namespace MediaBrowser.Model.Chapters
+{
+ public class RemoteChapterInfo
+ {
+ /// <summary>
+ /// Gets or sets the start position ticks.
+ /// </summary>
+ /// <value>The start position ticks.</value>
+ public long StartPositionTicks { get; set; }
+
+ /// <summary>
+ /// Gets or sets the name.
+ /// </summary>
+ /// <value>The name.</value>
+ public string Name { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Chapters/RemoteChapterResult.cs b/MediaBrowser.Model/Chapters/RemoteChapterResult.cs
new file mode 100644
index 000000000..5c58e5e7b
--- /dev/null
+++ b/MediaBrowser.Model/Chapters/RemoteChapterResult.cs
@@ -0,0 +1,36 @@
+
+namespace MediaBrowser.Model.Chapters
+{
+ public class RemoteChapterResult
+ {
+ /// <summary>
+ /// Gets or sets the identifier.
+ /// </summary>
+ /// <value>The identifier.</value>
+ public string Id { get; set; }
+
+ /// <summary>
+ /// Gets or sets the run time ticks.
+ /// </summary>
+ /// <value>The run time ticks.</value>
+ public long? RunTimeTicks { get; set; }
+
+ /// <summary>
+ /// Gets or sets the name.
+ /// </summary>
+ /// <value>The name.</value>
+ public string Name { get; set; }
+
+ /// <summary>
+ /// Gets or sets the community rating.
+ /// </summary>
+ /// <value>The community rating.</value>
+ public float? CommunityRating { get; set; }
+
+ /// <summary>
+ /// Gets or sets the chapter count.
+ /// </summary>
+ /// <value>The chapter count.</value>
+ public int? ChapterCount { get; set; }
+ }
+}
diff --git a/MediaBrowser.Model/Dto/BaseItemPerson.cs b/MediaBrowser.Model/Dto/BaseItemPerson.cs
index 376ba239d..b8393f444 100644
--- a/MediaBrowser.Model/Dto/BaseItemPerson.cs
+++ b/MediaBrowser.Model/Dto/BaseItemPerson.cs
@@ -1,5 +1,4 @@
-using System;
-using System.ComponentModel;
+using System.ComponentModel;
using System.Diagnostics;
using System.Runtime.Serialization;
@@ -18,6 +17,12 @@ namespace MediaBrowser.Model.Dto
public string Name { get; set; }
/// <summary>
+ /// Gets or sets the identifier.
+ /// </summary>
+ /// <value>The identifier.</value>
+ public string Id { get; set; }
+
+ /// <summary>
/// Gets or sets the role.
/// </summary>
/// <value>The role.</value>
diff --git a/MediaBrowser.Model/MediaBrowser.Model.csproj b/MediaBrowser.Model/MediaBrowser.Model.csproj
index 748e5f0a8..2c714f831 100644
--- a/MediaBrowser.Model/MediaBrowser.Model.csproj
+++ b/MediaBrowser.Model/MediaBrowser.Model.csproj
@@ -61,6 +61,8 @@
<Compile Include="ApiClient\SessionUpdatesEventArgs.cs" />
<Compile Include="Channels\ChannelItemQuery.cs" />
<Compile Include="Channels\ChannelQuery.cs" />
+ <Compile Include="Chapters\RemoteChapterInfo.cs" />
+ <Compile Include="Chapters\RemoteChapterResult.cs" />
<Compile Include="Configuration\TvFileOrganizationOptions.cs" />
<Compile Include="Configuration\BaseApplicationConfiguration.cs" />
<Compile Include="Configuration\DlnaOptions.cs" />
diff --git a/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs b/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs
index af0f91d0b..cf14cfadc 100644
--- a/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs
+++ b/MediaBrowser.Providers/MediaInfo/SubtitleDownloader.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Entities.TV;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Controller.Subtitles;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
@@ -37,15 +38,15 @@ namespace MediaBrowser.Providers.MediaInfo
return new List<string>();
}
- SubtitleMediaType mediaType;
+ VideoContentType mediaType;
if (video is Episode)
{
- mediaType = SubtitleMediaType.Episode;
+ mediaType = VideoContentType.Episode;
}
else if (video is Movie)
{
- mediaType = SubtitleMediaType.Movie;
+ mediaType = VideoContentType.Movie;
}
else
{
@@ -82,7 +83,7 @@ namespace MediaBrowser.Providers.MediaInfo
bool skipIfGraphicalSubtitlesPresent,
bool skipIfAudioTrackMatches,
string language,
- SubtitleMediaType mediaType,
+ VideoContentType mediaType,
CancellationToken cancellationToken)
{
// There's already subtitles for this language
diff --git a/MediaBrowser.Providers/Subtitles/OpenSubtitleDownloader.cs b/MediaBrowser.Providers/Subtitles/OpenSubtitleDownloader.cs
index 79a301dd3..5b951e0c2 100644
--- a/MediaBrowser.Providers/Subtitles/OpenSubtitleDownloader.cs
+++ b/MediaBrowser.Providers/Subtitles/OpenSubtitleDownloader.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Configuration;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Controller.Security;
using MediaBrowser.Controller.Subtitles;
using MediaBrowser.Model.Configuration;
@@ -72,17 +73,17 @@ namespace MediaBrowser.Providers.Subtitles
get { return "Open Subtitles"; }
}
- public IEnumerable<SubtitleMediaType> SupportedMediaTypes
+ public IEnumerable<VideoContentType> SupportedMediaTypes
{
get
{
if (string.IsNullOrWhiteSpace(_config.Configuration.SubtitleOptions.OpenSubtitlesUsername) ||
string.IsNullOrWhiteSpace(_config.Configuration.SubtitleOptions.OpenSubtitlesPasswordHash))
{
- return new SubtitleMediaType[] { };
+ return new VideoContentType[] { };
}
- return new[] { SubtitleMediaType.Episode, SubtitleMediaType.Movie };
+ return new[] { VideoContentType.Episode, VideoContentType.Movie };
}
}
@@ -163,21 +164,21 @@ namespace MediaBrowser.Providers.Subtitles
_lastLogin = DateTime.UtcNow;
}
- public async Task<IEnumerable<RemoteSubtitleInfo>> SearchSubtitles(SubtitleSearchRequest request, CancellationToken cancellationToken)
+ public async Task<IEnumerable<RemoteSubtitleInfo>> Search(SubtitleSearchRequest request, CancellationToken cancellationToken)
{
var imdbIdText = request.GetProviderId(MetadataProviders.Imdb);
long imdbId = 0;
switch (request.ContentType)
{
- case SubtitleMediaType.Episode:
+ case VideoContentType.Episode:
if (!request.IndexNumber.HasValue || !request.ParentIndexNumber.HasValue || string.IsNullOrEmpty(request.SeriesName))
{
_logger.Debug("Episode information missing");
return new List<RemoteSubtitleInfo>();
}
break;
- case SubtitleMediaType.Movie:
+ case VideoContentType.Movie:
if (string.IsNullOrEmpty(request.Name))
{
_logger.Debug("Movie name missing");
@@ -206,8 +207,8 @@ namespace MediaBrowser.Providers.Subtitles
var hash = Utilities.ComputeHash(request.MediaPath);
var fileInfo = new FileInfo(request.MediaPath);
var movieByteSize = fileInfo.Length;
- var searchImdbId = request.ContentType == SubtitleMediaType.Movie ? imdbId.ToString(_usCulture) : "";
- var subtitleSearchParameters = request.ContentType == SubtitleMediaType.Episode
+ var searchImdbId = request.ContentType == VideoContentType.Movie ? imdbId.ToString(_usCulture) : "";
+ var subtitleSearchParameters = request.ContentType == VideoContentType.Episode
? new List<SubtitleSearchParameters> {
new SubtitleSearchParameters(subLanguageId,
query: request.SeriesName,
@@ -234,7 +235,7 @@ namespace MediaBrowser.Providers.Subtitles
Predicate<SubtitleSearchResult> mediaFilter =
x =>
- request.ContentType == SubtitleMediaType.Episode
+ request.ContentType == VideoContentType.Episode
? !string.IsNullOrEmpty(x.SeriesSeason) && !string.IsNullOrEmpty(x.SeriesEpisode) &&
int.Parse(x.SeriesSeason, _usCulture) == request.ParentIndexNumber &&
int.Parse(x.SeriesEpisode, _usCulture) == request.IndexNumber
diff --git a/MediaBrowser.Providers/Subtitles/SubtitleManager.cs b/MediaBrowser.Providers/Subtitles/SubtitleManager.cs
index 6951e8bd0..2d5445653 100644
--- a/MediaBrowser.Providers/Subtitles/SubtitleManager.cs
+++ b/MediaBrowser.Providers/Subtitles/SubtitleManager.cs
@@ -3,6 +3,7 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Controller.Subtitles;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
@@ -45,7 +46,7 @@ namespace MediaBrowser.Providers.Subtitles
{
try
{
- return await i.SearchSubtitles(request, cancellationToken).ConfigureAwait(false);
+ return await i.Search(request, cancellationToken).ConfigureAwait(false);
}
catch (Exception ex)
{
@@ -99,15 +100,15 @@ namespace MediaBrowser.Providers.Subtitles
return Task.FromResult<IEnumerable<RemoteSubtitleInfo>>(new List<RemoteSubtitleInfo>());
}
- SubtitleMediaType mediaType;
+ VideoContentType mediaType;
if (video is Episode)
{
- mediaType = SubtitleMediaType.Episode;
+ mediaType = VideoContentType.Episode;
}
else if (video is Movie)
{
- mediaType = SubtitleMediaType.Movie;
+ mediaType = VideoContentType.Movie;
}
else
{
@@ -124,7 +125,8 @@ namespace MediaBrowser.Providers.Subtitles
Name = video.Name,
ParentIndexNumber = video.ParentIndexNumber,
ProductionYear = video.ProductionYear,
- ProviderIds = video.ProviderIds
+ ProviderIds = video.ProviderIds,
+ RuntimeTicks = video.RunTimeTicks
};
var episode = video as Episode;
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
index 97a0ee703..4bcbfaf95 100644
--- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs
+++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
@@ -429,6 +429,7 @@ namespace MediaBrowser.Server.Implementations.Dto
if (dictionary.TryGetValue(person.Name, out entity))
{
baseItemPerson.PrimaryImageTag = GetImageCacheTag(entity, ImageType.Primary);
+ baseItemPerson.Id = entity.Id.ToString("N");
}
dto.People[i] = baseItemPerson;
diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs
index e551a6e6b..047758f0d 100644
--- a/MediaBrowser.WebDashboard/Api/DashboardService.cs
+++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs
@@ -517,7 +517,6 @@ namespace MediaBrowser.WebDashboard.Api
"librarymenu.js",
"mediacontroller.js",
"chromecast.js",
- "contextmenu.js",
"backdrops.js",
"mediaplayer.js",
diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
index 64ff1cf15..a6a9183e1 100644
--- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
+++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj
@@ -592,9 +592,6 @@
<Content Include="dashboard-ui\scripts\chromecast.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
- <Content Include="dashboard-ui\scripts\contextmenu.js">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </Content>
<Content Include="dashboard-ui\scripts\dashboardgeneral.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>