Merge remote-tracking branch 'upstream/master' into search-rebased

This commit is contained in:
Shadowghost
2026-05-16 09:57:06 +02:00
189 changed files with 3738 additions and 2972 deletions

View File

@@ -1,6 +1,7 @@
#pragma warning disable CS1591
using System;
using System.Collections.Generic;
namespace MediaBrowser.Model.Channels
{
@@ -8,9 +9,9 @@ namespace MediaBrowser.Model.Channels
{
public ChannelFeatures(string name, Guid id)
{
MediaTypes = Array.Empty<ChannelMediaType>();
ContentTypes = Array.Empty<ChannelMediaContentType>();
DefaultSortFields = Array.Empty<ChannelItemSortField>();
MediaTypes = [];
ContentTypes = [];
DefaultSortFields = [];
Name = name;
Id = id;
@@ -38,13 +39,13 @@ namespace MediaBrowser.Model.Channels
/// Gets or sets the media types.
/// </summary>
/// <value>The media types.</value>
public ChannelMediaType[] MediaTypes { get; set; }
public IReadOnlyList<ChannelMediaType> MediaTypes { get; set; }
/// <summary>
/// Gets or sets the content types.
/// </summary>
/// <value>The content types.</value>
public ChannelMediaContentType[] ContentTypes { get; set; }
public IReadOnlyList<ChannelMediaContentType> ContentTypes { get; set; }
/// <summary>
/// Gets or sets the maximum number of records the channel allows retrieving at a time.
@@ -61,7 +62,7 @@ namespace MediaBrowser.Model.Channels
/// Gets or sets the default sort orders.
/// </summary>
/// <value>The default sort orders.</value>
public ChannelItemSortField[] DefaultSortFields { get; set; }
public IReadOnlyList<ChannelItemSortField> DefaultSortFields { get; set; }
/// <summary>
/// Gets or sets a value indicating whether a sort ascending/descending toggle is supported.

View File

@@ -16,6 +16,8 @@ namespace MediaBrowser.Model.Configuration
SubtitleFetcher,
LyricFetcher,
MediaSegmentProvider,
LocalSimilarityProvider,
SimilarityProvider,
SearchProvider
}
}

View File

@@ -304,11 +304,13 @@ namespace MediaBrowser.Model.Configuration
public TypeOptions()
{
MetadataFetchers = Array.Empty<string>();
MetadataFetcherOrder = Array.Empty<string>();
ImageFetchers = Array.Empty<string>();
ImageFetcherOrder = Array.Empty<string>();
ImageOptions = Array.Empty<ImageOption>();
MetadataFetchers = [];
MetadataFetcherOrder = [];
ImageFetchers = [];
ImageFetcherOrder = [];
ImageOptions = [];
SimilarItemProviders = [];
SimilarItemProviderOrder = [];
}
public string Type { get; set; }
@@ -323,6 +325,10 @@ namespace MediaBrowser.Model.Configuration
public ImageOption[] ImageOptions { get; set; }
public string[] SimilarItemProviders { get; set; }
public string[] SimilarItemProviderOrder { get; set; }
public ImageOption GetImageOptions(ImageType type)
{
foreach (var i in ImageOptions)

View File

@@ -50,6 +50,15 @@ public interface ILocalizationManager
/// <returns>System.String.</returns>
string GetLocalizedString(string phrase);
/// <summary>
/// Gets the localized string using the server's configured UICulture,
/// ignoring the current request's culture. Use this for data that is
/// persisted (e.g. activity log entries) rather than returned per-request.
/// </summary>
/// <param name="phrase">The phrase.</param>
/// <returns>System.String.</returns>
string GetServerLocalizedString(string phrase);
/// <summary>
/// Gets the localization options.
/// </summary>

View File

@@ -2,6 +2,7 @@
#pragma warning disable CS1591
using System;
using System.Collections.Generic;
using MediaBrowser.Model.Dto;
namespace MediaBrowser.Model.Querying
@@ -12,10 +13,16 @@ namespace MediaBrowser.Model.Querying
{
Tags = Array.Empty<string>();
Genres = Array.Empty<NameGuidPair>();
AudioLanguages = Array.Empty<NameValuePair>();
SubtitleLanguages = Array.Empty<NameValuePair>();
}
public NameGuidPair[] Genres { get; set; }
public IReadOnlyList<NameGuidPair> Genres { get; set; }
public string[] Tags { get; set; }
public IReadOnlyList<string> Tags { get; set; }
public IReadOnlyList<NameValuePair> AudioLanguages { get; set; }
public IReadOnlyList<NameValuePair> SubtitleLanguages { get; set; }
}
}