mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-12 10:40:24 +01:00
Merge remote-tracking branch 'upstream/master' into ribbons
This commit is contained in:
@@ -244,7 +244,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="query">The query.</param>
|
||||
/// <returns>Task{ItemsResult}.</returns>
|
||||
Task<ItemsResult> GetSeasonsAsync(SeasonQuery query);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Queries for items
|
||||
/// </summary>
|
||||
@@ -346,7 +346,14 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// </summary>
|
||||
/// <param name="query">The query.</param>
|
||||
/// <returns>Task{ItemsResult}.</returns>
|
||||
Task<ItemsResult> GetNextUpAsync(NextUpQuery query);
|
||||
Task<ItemsResult> GetNextUpEpisodesAsync(NextUpQuery query);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the upcoming episodes asynchronous.
|
||||
/// </summary>
|
||||
/// <param name="query">The query.</param>
|
||||
/// <returns>Task{ItemsResult}.</returns>
|
||||
Task<ItemsResult> GetUpcomingEpisodesAsync(NextUpQuery query);
|
||||
|
||||
/// <summary>
|
||||
/// Gets a genre
|
||||
@@ -772,7 +779,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="options">The options.</param>
|
||||
/// <returns>System.String.</returns>
|
||||
string GetImageUrl(ProgramInfoDto item, ImageOptions options);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets an image url that can be used to download an image from the api
|
||||
/// </summary>
|
||||
@@ -902,7 +909,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="options">The options.</param>
|
||||
/// <returns>System.String.</returns>
|
||||
string GetThumbImageUrl(BaseItemDto item, ImageOptions options);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets the url needed to stream an audio file
|
||||
/// </summary>
|
||||
@@ -958,7 +965,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task{ChannelInfoDto}.</returns>
|
||||
Task<ChannelInfoDto> GetLiveTvChannelAsync(string id, string userId, CancellationToken cancellationToken);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets the live tv recordings asynchronous.
|
||||
/// </summary>
|
||||
@@ -975,7 +982,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task{RecordingInfoDto}.</returns>
|
||||
Task<RecordingInfoDto> GetLiveTvRecordingAsync(string id, string userId, CancellationToken cancellationToken);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets the live tv recording groups asynchronous.
|
||||
/// </summary>
|
||||
@@ -992,7 +999,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task{RecordingGroupDto}.</returns>
|
||||
Task<RecordingGroupDto> GetLiveTvRecordingGroupAsync(string id, string userId, CancellationToken cancellationToken);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets the live tv timers asynchronous.
|
||||
/// </summary>
|
||||
@@ -1009,6 +1016,15 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <returns>Task{QueryResult{ProgramInfoDto}}.</returns>
|
||||
Task<QueryResult<ProgramInfoDto>> GetLiveTvProgramsAsync(ProgramQuery query, CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the live tv program asynchronous.
|
||||
/// </summary>
|
||||
/// <param name="id">The identifier.</param>
|
||||
/// <param name="userId">The user identifier.</param>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task{ProgramInfoDto}.</returns>
|
||||
Task<ProgramInfoDto> GetLiveTvProgramAsync(string id, string userId, CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the recommended live tv programs asynchronous.
|
||||
/// </summary>
|
||||
@@ -1016,7 +1032,39 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task{QueryResult{ProgramInfoDto}}.</returns>
|
||||
Task<QueryResult<ProgramInfoDto>> GetRecommendedLiveTvProgramsAsync(RecommendedProgramQuery query, CancellationToken cancellationToken);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Creates the live tv timer asynchronous.
|
||||
/// </summary>
|
||||
/// <param name="timer">The timer.</param>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task.</returns>
|
||||
Task CreateLiveTvTimerAsync(TimerInfoDto timer, CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Updates the live tv timer asynchronous.
|
||||
/// </summary>
|
||||
/// <param name="timer">The timer.</param>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task.</returns>
|
||||
Task UpdateLiveTvTimerAsync(TimerInfoDto timer, CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Creates the live tv series timer asynchronous.
|
||||
/// </summary>
|
||||
/// <param name="timer">The timer.</param>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task.</returns>
|
||||
Task CreateLiveTvSeriesTimerAsync(SeriesTimerInfoDto timer, CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Updates the live tv series timer asynchronous.
|
||||
/// </summary>
|
||||
/// <param name="timer">The timer.</param>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task.</returns>
|
||||
Task UpdateLiveTvSeriesTimerAsync(SeriesTimerInfoDto timer, CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the live tv timer asynchronous.
|
||||
/// </summary>
|
||||
@@ -1024,7 +1072,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task{TimerInfoDto}.</returns>
|
||||
Task<TimerInfoDto> GetLiveTvTimerAsync(string id, CancellationToken cancellationToken);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets the live tv series timers asynchronous.
|
||||
/// </summary>
|
||||
@@ -1056,7 +1104,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task.</returns>
|
||||
Task CancelLiveTvSeriesTimerAsync(string id, CancellationToken cancellationToken);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Deletes the live tv recording asynchronous.
|
||||
/// </summary>
|
||||
@@ -1064,5 +1112,27 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task.</returns>
|
||||
Task DeleteLiveTvRecordingAsync(string id, CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the default timer information.
|
||||
/// </summary>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task{SeriesTimerInfoDto}.</returns>
|
||||
Task<SeriesTimerInfoDto> GetDefaultLiveTvTimerInfo(CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the live tv guide information.
|
||||
/// </summary>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task{GuideInfo}.</returns>
|
||||
Task<GuideInfo> GetLiveTvGuideInfo(CancellationToken cancellationToken);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the default timer information.
|
||||
/// </summary>
|
||||
/// <param name="programId">The program identifier.</param>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task{SeriesTimerInfoDto}.</returns>
|
||||
Task<SeriesTimerInfoDto> GetDefaultLiveTvTimerInfo(string programId, CancellationToken cancellationToken);
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,8 @@ namespace MediaBrowser.Model.Configuration
|
||||
|
||||
public bool DeleteEmptyFolders { get; set; }
|
||||
|
||||
public bool CopyOriginalFile { get; set; }
|
||||
|
||||
public TvFileOrganizationOptions()
|
||||
{
|
||||
MinFileSizeMb = 50;
|
||||
@@ -31,6 +33,8 @@ namespace MediaBrowser.Model.Configuration
|
||||
MultiEpisodeNamePattern = "%sn - %sx%0e-x%0ed - %en.%ext";
|
||||
SeasonFolderPattern = "Season %s";
|
||||
SeasonZeroFolderName = "Season 0";
|
||||
|
||||
CopyOriginalFile = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
8
MediaBrowser.Model/Configuration/DlnaOptions.cs
Normal file
8
MediaBrowser.Model/Configuration/DlnaOptions.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
namespace MediaBrowser.Model.Configuration
|
||||
{
|
||||
public class DlnaOptions
|
||||
{
|
||||
public bool EnablePlayTo { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -212,6 +212,8 @@ namespace MediaBrowser.Model.Configuration
|
||||
public string ServerName { get; set; }
|
||||
public string WanDdns { get; set; }
|
||||
|
||||
public DlnaOptions DlnaOptions { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ServerConfiguration" /> class.
|
||||
/// </summary>
|
||||
@@ -271,6 +273,8 @@ namespace MediaBrowser.Model.Configuration
|
||||
};
|
||||
|
||||
MetadataOptions = options.ToArray();
|
||||
|
||||
DlnaOptions = new DlnaOptions();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
29
MediaBrowser.Model/Dto/RecommendationDto.cs
Normal file
29
MediaBrowser.Model/Dto/RecommendationDto.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
|
||||
namespace MediaBrowser.Model.Dto
|
||||
{
|
||||
public class RecommendationDto
|
||||
{
|
||||
public BaseItemDto[] Items { get; set; }
|
||||
|
||||
public RecommendationType RecommendationType { get; set; }
|
||||
|
||||
public string BaselineItemName { get; set; }
|
||||
|
||||
public string CategoryId { get; set; }
|
||||
}
|
||||
|
||||
public enum RecommendationType
|
||||
{
|
||||
SimilarToRecentlyPlayed = 0,
|
||||
|
||||
SimilarToLikedItem = 1,
|
||||
|
||||
HasDirectorFromRecentlyPlayed = 2,
|
||||
|
||||
HasActorFromRecentlyPlayed = 3,
|
||||
|
||||
HasLikedDirector = 4,
|
||||
|
||||
HasLikedActor = 5
|
||||
}
|
||||
}
|
||||
@@ -46,6 +46,30 @@ namespace MediaBrowser.Model.Entities
|
||||
/// <value>The primary image tag.</value>
|
||||
public Guid? PrimaryImageTag { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the thumb image tag.
|
||||
/// </summary>
|
||||
/// <value>The thumb image tag.</value>
|
||||
public Guid? ThumbImageTag { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the thumb item identifier.
|
||||
/// </summary>
|
||||
/// <value>The thumb item identifier.</value>
|
||||
public string ThumbItemId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the thumb image tag.
|
||||
/// </summary>
|
||||
/// <value>The thumb image tag.</value>
|
||||
public Guid? BackdropImageTag { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the thumb item identifier.
|
||||
/// </summary>
|
||||
/// <value>The thumb item identifier.</value>
|
||||
public string BackdropItemId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets a value indicating whether this instance has primary image.
|
||||
/// </summary>
|
||||
|
||||
@@ -60,6 +60,7 @@
|
||||
<Compile Include="ApiClient\ServerEventArgs.cs" />
|
||||
<Compile Include="Configuration\AutoOrganize.cs" />
|
||||
<Compile Include="Configuration\BaseApplicationConfiguration.cs" />
|
||||
<Compile Include="Configuration\DlnaOptions.cs" />
|
||||
<Compile Include="Configuration\ManualLoginCategory.cs" />
|
||||
<Compile Include="Configuration\MetadataPlugin.cs" />
|
||||
<Compile Include="Configuration\MetadataOptions.cs" />
|
||||
@@ -73,6 +74,7 @@
|
||||
<Compile Include="Dto\ItemByNameCounts.cs" />
|
||||
<Compile Include="Dto\ItemCounts.cs" />
|
||||
<Compile Include="Dto\ItemIndex.cs" />
|
||||
<Compile Include="Dto\RecommendationDto.cs" />
|
||||
<Compile Include="Entities\PackageReviewInfo.cs" />
|
||||
<Compile Include="FileOrganization\FileOrganizationResult.cs" />
|
||||
<Compile Include="FileOrganization\FileOrganizationQuery.cs" />
|
||||
|
||||
@@ -218,6 +218,18 @@ namespace MediaBrowser.Model.Querying
|
||||
/// <value>The name starts with or greater.</value>
|
||||
public string NameStartsWithOrGreater { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the name starts with.
|
||||
/// </summary>
|
||||
/// <value>The name starts with or greater.</value>
|
||||
public string NameStartsWith { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the name starts with.
|
||||
/// </summary>
|
||||
/// <value>The name lessthan.</value>
|
||||
public string NameLessThan { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the album artist starts with or greater.
|
||||
/// </summary>
|
||||
|
||||
@@ -75,16 +75,12 @@ namespace MediaBrowser.Model.Querying
|
||||
public const string IsFolder = "IsFolder";
|
||||
public const string IsUnplayed = "IsUnplayed";
|
||||
public const string IsPlayed = "IsPlayed";
|
||||
public const string TrailerCount = "TrailerCount";
|
||||
public const string MovieCount = "MovieCount";
|
||||
public const string SeriesCount = "SeriesCount";
|
||||
public const string EpisodeCount = "EpisodeCount";
|
||||
public const string SongCount = "SongCount";
|
||||
public const string AlbumCount = "AlbumCount";
|
||||
public const string MusicVideoCount = "MusicVideoCount";
|
||||
public const string SeriesSortName = "SeriesSortName";
|
||||
public const string VideoBitRate = "VideoBitRate";
|
||||
public const string AirTime = "AirTime";
|
||||
public const string Metascore = "Metascore";
|
||||
public const string Studio = "Studio";
|
||||
public const string Players = "Players";
|
||||
public const string GameSystem = "GameSystem";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,6 +86,10 @@ namespace MediaBrowser.Model.Querying
|
||||
public string NameStartsWithOrGreater { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the name starts with
|
||||
/// </summary>
|
||||
/// <value>The name starts with or greater.</value>
|
||||
public string NameStartsWith { get; set; }
|
||||
/// Gets or sets the name less than.
|
||||
/// </summary>
|
||||
/// <value>The name less than.</value>
|
||||
|
||||
@@ -33,4 +33,32 @@ namespace MediaBrowser.Model.Querying
|
||||
/// <value>The fields.</value>
|
||||
public ItemFields[] Fields { get; set; }
|
||||
}
|
||||
|
||||
public class UpcomingEpisodesQuery
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the user id.
|
||||
/// </summary>
|
||||
/// <value>The user id.</value>
|
||||
public string UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Skips over a given number of items within the results. Use for paging.
|
||||
/// </summary>
|
||||
/// <value>The start index.</value>
|
||||
public int? StartIndex { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The maximum number of items to return
|
||||
/// </summary>
|
||||
/// <value>The limit.</value>
|
||||
public int? Limit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Fields to return within the items, in addition to basic information
|
||||
/// </summary>
|
||||
/// <value>The fields.</value>
|
||||
public ItemFields[] Fields { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -33,6 +33,8 @@ namespace MediaBrowser.Model.Search
|
||||
public bool IncludeStudios { get; set; }
|
||||
public bool IncludeArtists { get; set; }
|
||||
|
||||
public string[] IncludeItemTypes { get; set; }
|
||||
|
||||
public SearchQuery()
|
||||
{
|
||||
IncludeArtists = true;
|
||||
@@ -40,6 +42,8 @@ namespace MediaBrowser.Model.Search
|
||||
IncludeMedia = true;
|
||||
IncludePeople = true;
|
||||
IncludeStudios = true;
|
||||
|
||||
IncludeItemTypes = new string[] { };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace MediaBrowser.Model.Session
|
||||
/// </summary>
|
||||
/// <value>The name of the item.</value>
|
||||
public string ItemName { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the context (Movies, Music, Tv, etc)
|
||||
/// Applicable to genres, studios and persons only because the context of items and artists can be inferred.
|
||||
@@ -40,4 +40,4 @@ namespace MediaBrowser.Model.Session
|
||||
public const string TvShows = "TvShows";
|
||||
public const string Games = "Games";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,9 +4,9 @@ namespace MediaBrowser.Model.Session
|
||||
public class MessageCommand
|
||||
{
|
||||
public string Header { get; set; }
|
||||
|
||||
|
||||
public string Text { get; set; }
|
||||
|
||||
public long? TimeoutMs { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -43,4 +43,4 @@ namespace MediaBrowser.Model.Session
|
||||
/// </summary>
|
||||
PlayLast
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -38,4 +38,4 @@ namespace MediaBrowser.Model.Session
|
||||
|
||||
public long? SeekPositionTicks { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user