repo creation with initial code after cloning public repo

This commit is contained in:
2026-02-19 07:36:25 -05:00
commit 460884fea3
2860 changed files with 650825 additions and 0 deletions
@@ -0,0 +1,130 @@
#nullable disable
#pragma warning disable CS1591
using System;
using MediaBrowser.Model.Dto;
namespace MediaBrowser.Model.LiveTv
{
public class BaseTimerInfoDto : IHasServerId
{
/// <summary>
/// Gets or sets the Id of the recording.
/// </summary>
public string Id { get; set; }
public string Type { get; set; }
/// <summary>
/// Gets or sets the server identifier.
/// </summary>
/// <value>The server identifier.</value>
public string ServerId { get; set; }
/// <summary>
/// Gets or sets the external identifier.
/// </summary>
/// <value>The external identifier.</value>
public string ExternalId { get; set; }
/// <summary>
/// Gets or sets the channel id of the recording.
/// </summary>
public Guid ChannelId { get; set; }
/// <summary>
/// Gets or sets the external channel identifier.
/// </summary>
/// <value>The external channel identifier.</value>
public string ExternalChannelId { get; set; }
/// <summary>
/// Gets or sets the channel name of the recording.
/// </summary>
public string ChannelName { get; set; }
public string ChannelPrimaryImageTag { get; set; }
/// <summary>
/// Gets or sets the program identifier.
/// </summary>
/// <value>The program identifier.</value>
public string ProgramId { get; set; }
/// <summary>
/// Gets or sets the external program identifier.
/// </summary>
/// <value>The external program identifier.</value>
public string ExternalProgramId { get; set; }
/// <summary>
/// Gets or sets the name of the recording.
/// </summary>
public string Name { get; set; }
/// <summary>
/// Gets or sets the description of the recording.
/// </summary>
public string Overview { get; set; }
/// <summary>
/// Gets or sets the start date of the recording, in UTC.
/// </summary>
public DateTime StartDate { get; set; }
/// <summary>
/// Gets or sets the end date of the recording, in UTC.
/// </summary>
public DateTime EndDate { get; set; }
/// <summary>
/// Gets or sets the name of the service.
/// </summary>
/// <value>The name of the service.</value>
public string ServiceName { get; set; }
/// <summary>
/// Gets or sets the priority.
/// </summary>
/// <value>The priority.</value>
public int Priority { get; set; }
/// <summary>
/// Gets or sets the pre padding seconds.
/// </summary>
/// <value>The pre padding seconds.</value>
public int PrePaddingSeconds { get; set; }
/// <summary>
/// Gets or sets the post padding seconds.
/// </summary>
/// <value>The post padding seconds.</value>
public int PostPaddingSeconds { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance is pre padding required.
/// </summary>
/// <value><c>true</c> if this instance is pre padding required; otherwise, <c>false</c>.</value>
public bool IsPrePaddingRequired { get; set; }
/// <summary>
/// Gets or sets the Id of the Parent that has a backdrop if the item does not have one.
/// </summary>
/// <value>The parent backdrop item id.</value>
public string ParentBackdropItemId { get; set; }
/// <summary>
/// Gets or sets the parent backdrop image tags.
/// </summary>
/// <value>The parent backdrop image tags.</value>
public string[] ParentBackdropImageTags { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance is post padding required.
/// </summary>
/// <value><c>true</c> if this instance is post padding required; otherwise, <c>false</c>.</value>
public bool IsPostPaddingRequired { get; set; }
public KeepUntil KeepUntil { get; set; }
}
}
@@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using MediaBrowser.Model.Dto;
namespace MediaBrowser.Model.LiveTv;
/// <summary>
/// Channel mapping options dto.
/// </summary>
public class ChannelMappingOptionsDto
{
/// <summary>
/// Gets or sets list of tuner channels.
/// </summary>
public required IReadOnlyList<TunerChannelMapping> TunerChannels { get; set; }
/// <summary>
/// Gets or sets list of provider channels.
/// </summary>
public required IReadOnlyList<NameIdPair> ProviderChannels { get; set; }
/// <summary>
/// Gets or sets list of mappings.
/// </summary>
public IReadOnlyList<NameValuePair> Mappings { get; set; } = Array.Empty<NameValuePair>();
/// <summary>
/// Gets or sets provider name.
/// </summary>
public string? ProviderName { get; set; }
}
+18
View File
@@ -0,0 +1,18 @@
namespace MediaBrowser.Model.LiveTv
{
/// <summary>
/// Enum ChannelType.
/// </summary>
public enum ChannelType
{
/// <summary>
/// The TV.
/// </summary>
TV,
/// <summary>
/// The radio.
/// </summary>
Radio
}
}
+11
View File
@@ -0,0 +1,11 @@
#pragma warning disable CS1591
namespace MediaBrowser.Model.LiveTv
{
public enum DayPattern
{
Daily,
Weekdays,
Weekends
}
}
+22
View File
@@ -0,0 +1,22 @@
#nullable disable
#pragma warning disable CS1591
using System;
namespace MediaBrowser.Model.LiveTv
{
public class GuideInfo
{
/// <summary>
/// Gets or sets the start date.
/// </summary>
/// <value>The start date.</value>
public DateTime StartDate { get; set; }
/// <summary>
/// Gets or sets the end date.
/// </summary>
/// <value>The end date.</value>
public DateTime EndDate { get; set; }
}
}
@@ -0,0 +1,58 @@
#nullable disable
#pragma warning disable CS1591
using System;
using MediaBrowser.Model.Dto;
namespace MediaBrowser.Model.LiveTv
{
public class ListingsProviderInfo
{
public ListingsProviderInfo()
{
NewsCategories = new[] { "news", "journalism", "documentary", "current affairs" };
SportsCategories = new[] { "sports", "basketball", "baseball", "football" };
KidsCategories = new[] { "kids", "family", "children", "childrens", "disney" };
MovieCategories = new[] { "movie" };
EnabledTuners = Array.Empty<string>();
EnableAllTuners = true;
ChannelMappings = Array.Empty<NameValuePair>();
}
public string Id { get; set; }
public string Type { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public string ListingsId { get; set; }
public string ZipCode { get; set; }
public string Country { get; set; }
public string Path { get; set; }
public string[] EnabledTuners { get; set; }
public bool EnableAllTuners { get; set; }
public string[] NewsCategories { get; set; }
public string[] SportsCategories { get; set; }
public string[] KidsCategories { get; set; }
public string[] MovieCategories { get; set; }
public NameValuePair[] ChannelMappings { get; set; }
public string MoviePrefix { get; set; }
public string PreferredLanguage { get; set; }
public string UserAgent { get; set; }
}
}
@@ -0,0 +1,111 @@
#nullable disable
#pragma warning disable CS1591
using System;
using Jellyfin.Data.Enums;
using Jellyfin.Database.Implementations.Enums;
namespace MediaBrowser.Model.LiveTv
{
/// <summary>
/// Class ChannelQuery.
/// </summary>
public class LiveTvChannelQuery
{
public LiveTvChannelQuery()
{
EnableUserData = true;
SortBy = Array.Empty<ItemSortBy>();
}
/// <summary>
/// Gets or sets the type of the channel.
/// </summary>
/// <value>The type of the channel.</value>
public ChannelType? ChannelType { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance is favorite.
/// </summary>
/// <value><c>null</c> if [is favorite] contains no value, <c>true</c> if [is favorite]; otherwise, <c>false</c>.</value>
public bool? IsFavorite { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance is liked.
/// </summary>
/// <value><c>null</c> if [is liked] contains no value, <c>true</c> if [is liked]; otherwise, <c>false</c>.</value>
public bool? IsLiked { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance is disliked.
/// </summary>
/// <value><c>null</c> if [is disliked] contains no value, <c>true</c> if [is disliked]; otherwise, <c>false</c>.</value>
public bool? IsDisliked { get; set; }
/// <summary>
/// Gets or sets a value indicating whether [enable favorite sorting].
/// </summary>
/// <value><c>true</c> if [enable favorite sorting]; otherwise, <c>false</c>.</value>
public bool EnableFavoriteSorting { get; set; }
/// <summary>
/// Gets or sets the user identifier.
/// </summary>
/// <value>The user identifier.</value>
public Guid UserId { get; set; }
/// <summary>
/// Gets or sets the start index. Used for paging.
/// </summary>
/// <value>The start index.</value>
public int? StartIndex { get; set; }
/// <summary>
/// Gets or sets the maximum number of items to return.
/// </summary>
/// <value>The limit.</value>
public int? Limit { get; set; }
/// <summary>
/// Gets or sets a value indicating whether [add current program].
/// </summary>
/// <value><c>true</c> if [add current program]; otherwise, <c>false</c>.</value>
public bool AddCurrentProgram { get; set; }
public bool EnableUserData { get; set; }
/// <summary>
/// Gets or sets a value whether to return news or not.
/// </summary>
/// <remarks>If set to <c>null</c>, all programs will be returned.</remarks>
public bool? IsNews { get; set; }
/// <summary>
/// Gets or sets a value whether to return movies or not.
/// </summary>
/// <remarks>If set to <c>null</c>, all programs will be returned.</remarks>
public bool? IsMovie { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance is kids.
/// </summary>
/// <value><c>null</c> if [is kids] contains no value, <c>true</c> if [is kids]; otherwise, <c>false</c>.</value>
public bool? IsKids { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance is sports.
/// </summary>
/// <value><c>null</c> if [is sports] contains no value, <c>true</c> if [is sports]; otherwise, <c>false</c>.</value>
public bool? IsSports { get; set; }
public bool? IsSeries { get; set; }
public ItemSortBy[] SortBy { get; set; }
/// <summary>
/// Gets or sets the sort order to return results with.
/// </summary>
/// <value>The sort order.</value>
public SortOrder? SortOrder { get; set; }
}
}
+33
View File
@@ -0,0 +1,33 @@
#pragma warning disable CS1591
using System;
namespace MediaBrowser.Model.LiveTv
{
public class LiveTvInfo
{
public LiveTvInfo()
{
Services = Array.Empty<LiveTvServiceInfo>();
EnabledUsers = Array.Empty<string>();
}
/// <summary>
/// Gets or sets the services.
/// </summary>
/// <value>The services.</value>
public LiveTvServiceInfo[] Services { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance is enabled.
/// </summary>
/// <value><c>true</c> if this instance is enabled; otherwise, <c>false</c>.</value>
public bool IsEnabled { get; set; }
/// <summary>
/// Gets or sets the enabled users.
/// </summary>
/// <value>The enabled users.</value>
public string[] EnabledUsers { get; set; }
}
}
@@ -0,0 +1,48 @@
#nullable disable
#pragma warning disable CS1591
using System;
namespace MediaBrowser.Model.LiveTv
{
public class LiveTvOptions
{
public LiveTvOptions()
{
TunerHosts = Array.Empty<TunerHostInfo>();
ListingProviders = Array.Empty<ListingsProviderInfo>();
MediaLocationsCreated = Array.Empty<string>();
RecordingPostProcessorArguments = "\"{path}\"";
}
public int? GuideDays { get; set; }
public string RecordingPath { get; set; }
public string MovieRecordingPath { get; set; }
public string SeriesRecordingPath { get; set; }
public bool EnableRecordingSubfolders { get; set; }
public bool EnableOriginalAudioWithEncodedRecordings { get; set; }
public TunerHostInfo[] TunerHosts { get; set; }
public ListingsProviderInfo[] ListingProviders { get; set; }
public int PrePaddingSeconds { get; set; }
public int PostPaddingSeconds { get; set; }
public string[] MediaLocationsCreated { get; set; }
public string RecordingPostProcessor { get; set; }
public string RecordingPostProcessorArguments { get; set; }
public bool SaveRecordingNFO { get; set; } = true;
public bool SaveRecordingImages { get; set; } = true;
}
}
@@ -0,0 +1,62 @@
#nullable disable
#pragma warning disable CS1591
using System;
namespace MediaBrowser.Model.LiveTv
{
/// <summary>
/// Class ServiceInfo.
/// </summary>
public class LiveTvServiceInfo
{
public LiveTvServiceInfo()
{
Tuners = Array.Empty<string>();
}
/// <summary>
/// Gets or sets the name.
/// </summary>
/// <value>The name.</value>
public string Name { get; set; }
/// <summary>
/// Gets or sets the home page URL.
/// </summary>
/// <value>The home page URL.</value>
public string HomePageUrl { get; set; }
/// <summary>
/// Gets or sets the status.
/// </summary>
/// <value>The status.</value>
public LiveTvServiceStatus Status { get; set; }
/// <summary>
/// Gets or sets the status message.
/// </summary>
/// <value>The status message.</value>
public string StatusMessage { get; set; }
/// <summary>
/// Gets or sets the version.
/// </summary>
/// <value>The version.</value>
public string Version { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance has update available.
/// </summary>
/// <value><c>true</c> if this instance has update available; otherwise, <c>false</c>.</value>
public bool HasUpdateAvailable { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance is visible.
/// </summary>
/// <value><c>true</c> if this instance is visible; otherwise, <c>false</c>.</value>
public bool IsVisible { get; set; }
public string[] Tuners { get; set; }
}
}
@@ -0,0 +1,10 @@
#pragma warning disable CS1591
namespace MediaBrowser.Model.LiveTv
{
public enum LiveTvServiceStatus
{
Ok = 0,
Unavailable = 1
}
}
+14
View File
@@ -0,0 +1,14 @@
#pragma warning disable CS1591
namespace MediaBrowser.Model.LiveTv
{
public enum ProgramAudio
{
Mono,
Stereo,
Dolby,
DolbyDigital,
Thx,
Atmos
}
}
@@ -0,0 +1,94 @@
#nullable disable
#pragma warning disable CS1591
using System;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Querying;
namespace MediaBrowser.Model.LiveTv
{
/// <summary>
/// Class RecordingQuery.
/// </summary>
public class RecordingQuery
{
public RecordingQuery()
{
EnableTotalRecordCount = true;
}
/// <summary>
/// Gets or sets the channel identifier.
/// </summary>
/// <value>The channel identifier.</value>
public string ChannelId { get; set; }
/// <summary>
/// Gets or sets the user identifier.
/// </summary>
/// <value>The user identifier.</value>
public Guid UserId { get; set; }
/// <summary>
/// Gets or sets the identifier.
/// </summary>
/// <value>The identifier.</value>
public string Id { get; set; }
/// <summary>
/// Gets or sets the start index. Use for paging.
/// </summary>
/// <value>The start index.</value>
public int? StartIndex { get; set; }
/// <summary>
/// Gets or sets the maximum number of items to return.
/// </summary>
/// <value>The limit.</value>
public int? Limit { get; set; }
/// <summary>
/// Gets or sets the status.
/// </summary>
/// <value>The status.</value>
public RecordingStatus? Status { get; set; }
/// <summary>
/// Gets or sets a value indicating whether this instance is in progress.
/// </summary>
/// <value><c>null</c> if [is in progress] contains no value, <c>true</c> if [is in progress]; otherwise, <c>false</c>.</value>
public bool? IsInProgress { get; set; }
/// <summary>
/// Gets or sets the series timer identifier.
/// </summary>
/// <value>The series timer identifier.</value>
public string SeriesTimerId { get; set; }
/// <summary>
/// Gets or sets the fields to return within the items, in addition to basic information.
/// </summary>
/// <value>The fields.</value>
public ItemFields[] Fields { get; set; }
public bool? EnableImages { get; set; }
public bool? IsLibraryItem { get; set; }
public bool? IsNews { get; set; }
public bool? IsMovie { get; set; }
public bool? IsSeries { get; set; }
public bool? IsKids { get; set; }
public bool? IsSports { get; set; }
public int? ImageTypeLimit { get; set; }
public ImageType[] EnableImageTypes { get; set; }
public bool EnableTotalRecordCount { get; set; }
}
}
@@ -0,0 +1,15 @@
#pragma warning disable CS1591
namespace MediaBrowser.Model.LiveTv
{
public enum RecordingStatus
{
New,
InProgress,
Completed,
Cancelled,
ConflictedOk,
ConflictedNotOk,
Error
}
}
@@ -0,0 +1,94 @@
#nullable disable
#pragma warning disable CS1591
using System;
using System.Collections.Generic;
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Model.LiveTv
{
public enum KeepUntil
{
UntilDeleted,
UntilSpaceNeeded,
UntilWatched,
UntilDate
}
/// <summary>
/// Class SeriesTimerInfoDto.
/// </summary>
public class SeriesTimerInfoDto : BaseTimerInfoDto
{
public SeriesTimerInfoDto()
{
ImageTags = new Dictionary<ImageType, string>();
Days = Array.Empty<DayOfWeek>();
Type = "SeriesTimer";
}
/// <summary>
/// Gets or sets a value indicating whether [record any time].
/// </summary>
/// <value><c>true</c> if [record any time]; otherwise, <c>false</c>.</value>
public bool RecordAnyTime { get; set; }
public bool SkipEpisodesInLibrary { get; set; }
/// <summary>
/// Gets or sets a value indicating whether [record any channel].
/// </summary>
/// <value><c>true</c> if [record any channel]; otherwise, <c>false</c>.</value>
public bool RecordAnyChannel { get; set; }
public int KeepUpTo { get; set; }
/// <summary>
/// Gets or sets a value indicating whether [record new only].
/// </summary>
/// <value><c>true</c> if [record new only]; otherwise, <c>false</c>.</value>
public bool RecordNewOnly { get; set; }
/// <summary>
/// Gets or sets the days.
/// </summary>
/// <value>The days.</value>
public DayOfWeek[] Days { get; set; }
/// <summary>
/// Gets or sets the day pattern.
/// </summary>
/// <value>The day pattern.</value>
public DayPattern? DayPattern { get; set; }
/// <summary>
/// Gets or sets the image tags.
/// </summary>
/// <value>The image tags.</value>
public Dictionary<ImageType, string> ImageTags { get; set; }
/// <summary>
/// Gets or sets the parent thumb item id.
/// </summary>
/// <value>The parent thumb item id.</value>
public string ParentThumbItemId { get; set; }
/// <summary>
/// Gets or sets the parent thumb image tag.
/// </summary>
/// <value>The parent thumb image tag.</value>
public string ParentThumbImageTag { get; set; }
/// <summary>
/// Gets or sets the parent primary image item identifier.
/// </summary>
/// <value>The parent primary image item identifier.</value>
public Guid? ParentPrimaryImageItemId { get; set; }
/// <summary>
/// Gets or sets the parent primary image tag.
/// </summary>
/// <value>The parent primary image tag.</value>
public string ParentPrimaryImageTag { get; set; }
}
}
@@ -0,0 +1,21 @@
#pragma warning disable CS1591
using Jellyfin.Database.Implementations.Enums;
namespace MediaBrowser.Model.LiveTv
{
public class SeriesTimerQuery
{
/// <summary>
/// Gets or sets the sort by - SortName, Priority.
/// </summary>
/// <value>The sort by.</value>
public string? SortBy { get; set; }
/// <summary>
/// Gets or sets the sort order.
/// </summary>
/// <value>The sort order.</value>
public SortOrder SortOrder { get; set; }
}
}
+45
View File
@@ -0,0 +1,45 @@
#nullable disable
#pragma warning disable CS1591
using MediaBrowser.Model.Dto;
namespace MediaBrowser.Model.LiveTv
{
public class TimerInfoDto : BaseTimerInfoDto
{
public TimerInfoDto()
{
Type = "Timer";
}
/// <summary>
/// Gets or sets the status.
/// </summary>
/// <value>The status.</value>
public RecordingStatus Status { get; set; }
/// <summary>
/// Gets or sets the series timer identifier.
/// </summary>
/// <value>The series timer identifier.</value>
public string SeriesTimerId { get; set; }
/// <summary>
/// Gets or sets the external series timer identifier.
/// </summary>
/// <value>The external series timer identifier.</value>
public string ExternalSeriesTimerId { 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 program information.
/// </summary>
/// <value>The program information.</value>
public BaseItemDto ProgramInfo { get; set; }
}
}
+26
View File
@@ -0,0 +1,26 @@
#nullable disable
#pragma warning disable CS1591
namespace MediaBrowser.Model.LiveTv
{
public class TimerQuery
{
/// <summary>
/// Gets or sets the channel identifier.
/// </summary>
/// <value>The channel identifier.</value>
public string ChannelId { get; set; }
public string Id { get; set; }
/// <summary>
/// Gets or sets the series timer identifier.
/// </summary>
/// <value>The series timer identifier.</value>
public string SeriesTimerId { get; set; }
public bool? IsActive { get; set; }
public bool? IsScheduled { get; set; }
}
}
@@ -0,0 +1,16 @@
#nullable disable
#pragma warning disable CS1591
namespace MediaBrowser.Model.LiveTv;
public class TunerChannelMapping
{
public string Name { get; set; }
public string ProviderChannelName { get; set; }
public string ProviderChannelId { get; set; }
public string Id { get; set; }
}
@@ -0,0 +1,50 @@
#nullable disable
#pragma warning disable CS1591
namespace MediaBrowser.Model.LiveTv
{
public class TunerHostInfo
{
public TunerHostInfo()
{
AllowHWTranscoding = true;
IgnoreDts = true;
ReadAtNativeFramerate = false;
AllowStreamSharing = true;
AllowFmp4TranscodingContainer = false;
FallbackMaxStreamingBitrate = 30000000;
}
public string Id { get; set; }
public string Url { get; set; }
public string Type { get; set; }
public string DeviceId { get; set; }
public string FriendlyName { get; set; }
public bool ImportFavoritesOnly { get; set; }
public bool AllowHWTranscoding { get; set; }
public bool AllowFmp4TranscodingContainer { get; set; }
public bool AllowStreamSharing { get; set; }
public int FallbackMaxStreamingBitrate { get; set; }
public bool EnableStreamLooping { get; set; }
public string Source { get; set; }
public int TunerCount { get; set; }
public string UserAgent { get; set; }
public bool IgnoreDts { get; set; }
public bool ReadAtNativeFramerate { get; set; }
}
}