This commit is contained in:
Ethan Pippin 2022-08-17 15:08:41 -06:00
parent b59458eead
commit fd3286bcd2
524 changed files with 5528 additions and 1231 deletions

View File

@ -10,7 +10,7 @@ let package = Package(
.macCatalyst(.v13),
.macOS(.v10_15),
.watchOS(.v6),
.tvOS(.v13)
.tvOS(.v13),
],
products: [
.library(name: "JellyfinAPI", targets: ["JellyfinAPI"]),
@ -29,7 +29,7 @@ let package = Package(
path: "Sources",
exclude: [
"jellyfin-openapi-stable.json",
"create-api-config.yaml"
"create-api-config.yaml",
]
),
.binaryTarget(
@ -45,12 +45,12 @@ let package = Package(
description: "Generates the OpenAPI entities and paths using CreateAPI"
),
permissions: [
.writeToPackageDirectory(reason: "To output the generated source code")
.writeToPackageDirectory(reason: "To output the generated source code"),
]
),
dependencies: [
.target(name: "create-api")
.target(name: "create-api"),
]
)
),
]
)

View File

@ -22,7 +22,7 @@ struct Plugin: CommandPlugin {
"generate",
"jellyfin-openapi-stable.json",
"--config", "create-api-config.yaml",
"--output", "."
"--output", ".",
]
try process.run()

View File

@ -21,7 +21,13 @@ public struct AccessSchedule: Codable, Identifiable {
/// Gets the id of the associated user.
public var userID: String?
public init(dayOfWeek: DynamicDayOfWeek? = nil, endHour: Double? = nil, id: Int32? = nil, startHour: Double? = nil, userID: String? = nil) {
public init(
dayOfWeek: DynamicDayOfWeek? = nil,
endHour: Double? = nil,
id: Int32? = nil,
startHour: Double? = nil,
userID: String? = nil
) {
self.dayOfWeek = dayOfWeek
self.endHour = endHour
self.id = id

View File

@ -33,7 +33,18 @@ public struct ActivityLogEntry: Codable, Identifiable {
/// - warning: Deprecated.
public var userPrimaryImageTag: String?
public init(date: Date? = nil, id: Int64? = nil, itemID: String? = nil, name: String? = nil, overview: String? = nil, severity: LogLevel? = nil, shortOverview: String? = nil, type: String? = nil, userID: String? = nil, userPrimaryImageTag: String? = nil) {
public init(
date: Date? = nil,
id: Int64? = nil,
itemID: String? = nil,
name: String? = nil,
overview: String? = nil,
severity: LogLevel? = nil,
shortOverview: String? = nil,
type: String? = nil,
userID: String? = nil,
userPrimaryImageTag: String? = nil
) {
self.date = date
self.id = id
self.itemID = itemID

View File

@ -33,7 +33,22 @@ public struct AlbumInfo: Codable {
/// Gets or sets the year.
public var year: Int32?
public init(albumArtists: [String]? = nil, artistProviderIDs: [String: String]? = nil, indexNumber: Int32? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, parentIndexNumber: Int32? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, songInfos: [SongInfo]? = nil, year: Int32? = nil) {
public init(
albumArtists: [String]? = nil,
artistProviderIDs: [String: String]? = nil,
indexNumber: Int32? = nil,
isAutomated: Bool? = nil,
metadataCountryCode: String? = nil,
metadataLanguage: String? = nil,
name: String? = nil,
originalTitle: String? = nil,
parentIndexNumber: Int32? = nil,
path: String? = nil,
premiereDate: Date? = nil,
providerIDs: [String: String]? = nil,
songInfos: [SongInfo]? = nil,
year: Int32? = nil
) {
self.albumArtists = albumArtists
self.artistProviderIDs = artistProviderIDs
self.indexNumber = indexNumber

View File

@ -16,7 +16,12 @@ public struct AlbumInfoRemoteSearchQuery: Codable {
/// Gets or sets the provider name to search within if set.
public var searchProviderName: String?
public init(isIncludeDisabledProviders: Bool? = nil, itemID: String? = nil, searchInfo: AlbumInfo? = nil, searchProviderName: String? = nil) {
public init(
isIncludeDisabledProviders: Bool? = nil,
itemID: String? = nil,
searchInfo: AlbumInfo? = nil,
searchProviderName: String? = nil
) {
self.isIncludeDisabledProviders = isIncludeDisabledProviders
self.itemID = itemID
self.searchInfo = searchInfo

View File

@ -16,7 +16,11 @@ public struct AllThemeMediaResult: Codable {
/// Class ThemeMediaResult.
public var themeVideosResult: ThemeMediaResult?
public init(soundtrackSongsResult: ThemeMediaResult? = nil, themeSongsResult: ThemeMediaResult? = nil, themeVideosResult: ThemeMediaResult? = nil) {
public init(
soundtrackSongsResult: ThemeMediaResult? = nil,
themeSongsResult: ThemeMediaResult? = nil,
themeVideosResult: ThemeMediaResult? = nil
) {
self.soundtrackSongsResult = soundtrackSongsResult
self.themeSongsResult = themeSongsResult
self.themeVideosResult = themeVideosResult

View File

@ -29,7 +29,20 @@ public struct ArtistInfo: Codable {
/// Gets or sets the year.
public var year: Int32?
public init(indexNumber: Int32? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, parentIndexNumber: Int32? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, songInfos: [SongInfo]? = nil, year: Int32? = nil) {
public init(
indexNumber: Int32? = nil,
isAutomated: Bool? = nil,
metadataCountryCode: String? = nil,
metadataLanguage: String? = nil,
name: String? = nil,
originalTitle: String? = nil,
parentIndexNumber: Int32? = nil,
path: String? = nil,
premiereDate: Date? = nil,
providerIDs: [String: String]? = nil,
songInfos: [SongInfo]? = nil,
year: Int32? = nil
) {
self.indexNumber = indexNumber
self.isAutomated = isAutomated
self.metadataCountryCode = metadataCountryCode

View File

@ -16,7 +16,12 @@ public struct ArtistInfoRemoteSearchQuery: Codable {
/// Gets or sets the provider name to search within if set.
public var searchProviderName: String?
public init(isIncludeDisabledProviders: Bool? = nil, itemID: String? = nil, searchInfo: ArtistInfo? = nil, searchProviderName: String? = nil) {
public init(
isIncludeDisabledProviders: Bool? = nil,
itemID: String? = nil,
searchInfo: ArtistInfo? = nil,
searchProviderName: String? = nil
) {
self.isIncludeDisabledProviders = isIncludeDisabledProviders
self.itemID = itemID
self.searchInfo = searchInfo

View File

@ -32,7 +32,20 @@ public struct AuthenticationInfo: Codable, Identifiable {
public var userID: String?
public var userName: String?
public init(accessToken: String? = nil, appName: String? = nil, appVersion: String? = nil, dateCreated: Date? = nil, dateLastActivity: Date? = nil, dateRevoked: Date? = nil, deviceID: String? = nil, deviceName: String? = nil, id: Int64? = nil, isActive: Bool? = nil, userID: String? = nil, userName: String? = nil) {
public init(
accessToken: String? = nil,
appName: String? = nil,
appVersion: String? = nil,
dateCreated: Date? = nil,
dateLastActivity: Date? = nil,
dateRevoked: Date? = nil,
deviceID: String? = nil,
deviceName: String? = nil,
id: Int64? = nil,
isActive: Bool? = nil,
userID: String? = nil,
userName: String? = nil
) {
self.accessToken = accessToken
self.appName = appName
self.appVersion = appVersion

View File

@ -23,7 +23,19 @@ public struct BaseItem: Codable {
public var isSupportsExternalTransfer: Bool?
public var width: Int32?
public init(container: String? = nil, dateLastSaved: Date? = nil, extraIDs: [String]? = nil, height: Int32? = nil, isHD: Bool? = nil, isShortcut: Bool? = nil, remoteTrailers: [MediaURL]? = nil, shortcutPath: String? = nil, size: Int64? = nil, isSupportsExternalTransfer: Bool? = nil, width: Int32? = nil) {
public init(
container: String? = nil,
dateLastSaved: Date? = nil,
extraIDs: [String]? = nil,
height: Int32? = nil,
isHD: Bool? = nil,
isShortcut: Bool? = nil,
remoteTrailers: [MediaURL]? = nil,
shortcutPath: String? = nil,
size: Int64? = nil,
isSupportsExternalTransfer: Bool? = nil,
width: Int32? = nil
) {
self.container = container
self.dateLastSaved = dateLastSaved
self.extraIDs = extraIDs

View File

@ -9,7 +9,7 @@
import Foundation
/// This is strictly used as a data transfer object from the api layer.
///
///
/// This holds information about a BaseItem in a format that is convenient for the client.
public struct BaseItemDto: Codable, Identifiable {
/// Gets or sets the air days.
@ -103,7 +103,7 @@ public struct BaseItemDto: Codable, Identifiable {
/// Gets or sets the id.
public var id: String?
/// Gets or sets the blurhashes for the image tags.
///
///
/// Maps image type to dictionary mapping image tag to blurhash value.
public var imageBlurHashes: ImageBlurHashes?
public var imageOrientation: ImageOrientation?
@ -281,7 +281,7 @@ public struct BaseItemDto: Codable, Identifiable {
public var width: Int32?
/// Gets or sets the blurhashes for the image tags.
///
///
/// Maps image type to dictionary mapping image tag to blurhash value.
public struct ImageBlurHashes: Codable {
public var art: [String: String]?
@ -298,7 +298,21 @@ public struct BaseItemDto: Codable, Identifiable {
public var screenshot: [String: String]?
public var thumb: [String: String]?
public init(art: [String: String]? = nil, backdrop: [String: String]? = nil, banner: [String: String]? = nil, box: [String: String]? = nil, boxRear: [String: String]? = nil, chapter: [String: String]? = nil, disc: [String: String]? = nil, logo: [String: String]? = nil, menu: [String: String]? = nil, primary: [String: String]? = nil, profile: [String: String]? = nil, screenshot: [String: String]? = nil, thumb: [String: String]? = nil) {
public init(
art: [String: String]? = nil,
backdrop: [String: String]? = nil,
banner: [String: String]? = nil,
box: [String: String]? = nil,
boxRear: [String: String]? = nil,
chapter: [String: String]? = nil,
disc: [String: String]? = nil,
logo: [String: String]? = nil,
menu: [String: String]? = nil,
primary: [String: String]? = nil,
profile: [String: String]? = nil,
screenshot: [String: String]? = nil,
thumb: [String: String]? = nil
) {
self.art = art
self.backdrop = backdrop
self.banner = banner
@ -349,7 +363,158 @@ public struct BaseItemDto: Codable, Identifiable {
}
}
public init(airDays: [DayOfWeek]? = nil, airTime: String? = nil, airsAfterSeasonNumber: Int32? = nil, airsBeforeEpisodeNumber: Int32? = nil, airsBeforeSeasonNumber: Int32? = nil, album: String? = nil, albumArtist: String? = nil, albumArtists: [NameGuidPair]? = nil, albumCount: Int32? = nil, albumID: String? = nil, albumPrimaryImageTag: String? = nil, altitude: Double? = nil, aperture: Double? = nil, artistCount: Int32? = nil, artistItems: [NameGuidPair]? = nil, artists: [String]? = nil, aspectRatio: String? = nil, audio: ProgramAudio? = nil, backdropImageTags: [String]? = nil, cameraMake: String? = nil, cameraModel: String? = nil, canDelete: Bool? = nil, canDownload: Bool? = nil, channelID: String? = nil, channelName: String? = nil, channelNumber: String? = nil, channelPrimaryImageTag: String? = nil, channelType: ChannelType? = nil, chapters: [ChapterInfo]? = nil, childCount: Int32? = nil, collectionType: String? = nil, communityRating: Float? = nil, completionPercentage: Double? = nil, container: String? = nil, criticRating: Float? = nil, cumulativeRunTimeTicks: Int64? = nil, customRating: String? = nil, dateCreated: Date? = nil, dateLastMediaAdded: Date? = nil, displayOrder: String? = nil, displayPreferencesID: String? = nil, enableMediaSourceDisplay: Bool? = nil, endDate: Date? = nil, episodeCount: Int32? = nil, episodeTitle: String? = nil, etag: String? = nil, exposureTime: Double? = nil, externalURLs: [ExternalURL]? = nil, extraType: String? = nil, focalLength: Double? = nil, forcedSortName: String? = nil, genreItems: [NameGuidPair]? = nil, genres: [String]? = nil, hasSubtitles: Bool? = nil, height: Int32? = nil, id: String? = nil, imageBlurHashes: ImageBlurHashes? = nil, imageOrientation: ImageOrientation? = nil, imageTags: [String: String]? = nil, indexNumber: Int32? = nil, indexNumberEnd: Int32? = nil, isFolder: Bool? = nil, isHD: Bool? = nil, isKids: Bool? = nil, isLive: Bool? = nil, isMovie: Bool? = nil, isNews: Bool? = nil, isPlaceHolder: Bool? = nil, isPremiere: Bool? = nil, isRepeat: Bool? = nil, isSeries: Bool? = nil, isSports: Bool? = nil, isoSpeedRating: Int32? = nil, isoType: IsoType? = nil, latitude: Double? = nil, localTrailerCount: Int32? = nil, locationType: LocationType? = nil, lockData: Bool? = nil, lockedFields: [MetadataField]? = nil, longitude: Double? = nil, mediaSourceCount: Int32? = nil, mediaSources: [MediaSourceInfo]? = nil, mediaStreams: [MediaStream]? = nil, mediaType: String? = nil, movieCount: Int32? = nil, musicVideoCount: Int32? = nil, name: String? = nil, number: String? = nil, officialRating: String? = nil, originalTitle: String? = nil, overview: String? = nil, parentArtImageTag: String? = nil, parentArtItemID: String? = nil, parentBackdropImageTags: [String]? = nil, parentBackdropItemID: String? = nil, parentID: String? = nil, parentIndexNumber: Int32? = nil, parentLogoImageTag: String? = nil, parentLogoItemID: String? = nil, parentPrimaryImageItemID: String? = nil, parentPrimaryImageTag: String? = nil, parentThumbImageTag: String? = nil, parentThumbItemID: String? = nil, partCount: Int32? = nil, path: String? = nil, people: [BaseItemPerson]? = nil, playAccess: PlayAccess? = nil, playlistItemID: String? = nil, preferredMetadataCountryCode: String? = nil, preferredMetadataLanguage: String? = nil, premiereDate: Date? = nil, primaryImageAspectRatio: Double? = nil, productionLocations: [String]? = nil, productionYear: Int32? = nil, programCount: Int32? = nil, programID: String? = nil, providerIDs: [String: String]? = nil, recursiveItemCount: Int32? = nil, remoteTrailers: [MediaURL]? = nil, runTimeTicks: Int64? = nil, screenshotImageTags: [String]? = nil, seasonID: String? = nil, seasonName: String? = nil, seriesCount: Int32? = nil, seriesID: String? = nil, seriesName: String? = nil, seriesPrimaryImageTag: String? = nil, seriesStudio: String? = nil, seriesThumbImageTag: String? = nil, seriesTimerID: String? = nil, serverID: String? = nil, shutterSpeed: Double? = nil, software: String? = nil, songCount: Int32? = nil, sortName: String? = nil, sourceType: String? = nil, specialFeatureCount: Int32? = nil, startDate: Date? = nil, status: String? = nil, studios: [NameGuidPair]? = nil, isSupportsSync: Bool? = nil, taglines: [String]? = nil, tags: [String]? = nil, timerID: String? = nil, trailerCount: Int32? = nil, type: BaseItemKind? = nil, userData: UserItemDataDto? = nil, video3DFormat: Video3DFormat? = nil, videoType: VideoType? = nil, width: Int32? = nil) {
public init(
airDays: [DayOfWeek]? = nil,
airTime: String? = nil,
airsAfterSeasonNumber: Int32? = nil,
airsBeforeEpisodeNumber: Int32? = nil,
airsBeforeSeasonNumber: Int32? = nil,
album: String? = nil,
albumArtist: String? = nil,
albumArtists: [NameGuidPair]? = nil,
albumCount: Int32? = nil,
albumID: String? = nil,
albumPrimaryImageTag: String? = nil,
altitude: Double? = nil,
aperture: Double? = nil,
artistCount: Int32? = nil,
artistItems: [NameGuidPair]? = nil,
artists: [String]? = nil,
aspectRatio: String? = nil,
audio: ProgramAudio? = nil,
backdropImageTags: [String]? = nil,
cameraMake: String? = nil,
cameraModel: String? = nil,
canDelete: Bool? = nil,
canDownload: Bool? = nil,
channelID: String? = nil,
channelName: String? = nil,
channelNumber: String? = nil,
channelPrimaryImageTag: String? = nil,
channelType: ChannelType? = nil,
chapters: [ChapterInfo]? = nil,
childCount: Int32? = nil,
collectionType: String? = nil,
communityRating: Float? = nil,
completionPercentage: Double? = nil,
container: String? = nil,
criticRating: Float? = nil,
cumulativeRunTimeTicks: Int64? = nil,
customRating: String? = nil,
dateCreated: Date? = nil,
dateLastMediaAdded: Date? = nil,
displayOrder: String? = nil,
displayPreferencesID: String? = nil,
enableMediaSourceDisplay: Bool? = nil,
endDate: Date? = nil,
episodeCount: Int32? = nil,
episodeTitle: String? = nil,
etag: String? = nil,
exposureTime: Double? = nil,
externalURLs: [ExternalURL]? = nil,
extraType: String? = nil,
focalLength: Double? = nil,
forcedSortName: String? = nil,
genreItems: [NameGuidPair]? = nil,
genres: [String]? = nil,
hasSubtitles: Bool? = nil,
height: Int32? = nil,
id: String? = nil,
imageBlurHashes: ImageBlurHashes? = nil,
imageOrientation: ImageOrientation? = nil,
imageTags: [String: String]? = nil,
indexNumber: Int32? = nil,
indexNumberEnd: Int32? = nil,
isFolder: Bool? = nil,
isHD: Bool? = nil,
isKids: Bool? = nil,
isLive: Bool? = nil,
isMovie: Bool? = nil,
isNews: Bool? = nil,
isPlaceHolder: Bool? = nil,
isPremiere: Bool? = nil,
isRepeat: Bool? = nil,
isSeries: Bool? = nil,
isSports: Bool? = nil,
isoSpeedRating: Int32? = nil,
isoType: IsoType? = nil,
latitude: Double? = nil,
localTrailerCount: Int32? = nil,
locationType: LocationType? = nil,
lockData: Bool? = nil,
lockedFields: [MetadataField]? = nil,
longitude: Double? = nil,
mediaSourceCount: Int32? = nil,
mediaSources: [MediaSourceInfo]? = nil,
mediaStreams: [MediaStream]? = nil,
mediaType: String? = nil,
movieCount: Int32? = nil,
musicVideoCount: Int32? = nil,
name: String? = nil,
number: String? = nil,
officialRating: String? = nil,
originalTitle: String? = nil,
overview: String? = nil,
parentArtImageTag: String? = nil,
parentArtItemID: String? = nil,
parentBackdropImageTags: [String]? = nil,
parentBackdropItemID: String? = nil,
parentID: String? = nil,
parentIndexNumber: Int32? = nil,
parentLogoImageTag: String? = nil,
parentLogoItemID: String? = nil,
parentPrimaryImageItemID: String? = nil,
parentPrimaryImageTag: String? = nil,
parentThumbImageTag: String? = nil,
parentThumbItemID: String? = nil,
partCount: Int32? = nil,
path: String? = nil,
people: [BaseItemPerson]? = nil,
playAccess: PlayAccess? = nil,
playlistItemID: String? = nil,
preferredMetadataCountryCode: String? = nil,
preferredMetadataLanguage: String? = nil,
premiereDate: Date? = nil,
primaryImageAspectRatio: Double? = nil,
productionLocations: [String]? = nil,
productionYear: Int32? = nil,
programCount: Int32? = nil,
programID: String? = nil,
providerIDs: [String: String]? = nil,
recursiveItemCount: Int32? = nil,
remoteTrailers: [MediaURL]? = nil,
runTimeTicks: Int64? = nil,
screenshotImageTags: [String]? = nil,
seasonID: String? = nil,
seasonName: String? = nil,
seriesCount: Int32? = nil,
seriesID: String? = nil,
seriesName: String? = nil,
seriesPrimaryImageTag: String? = nil,
seriesStudio: String? = nil,
seriesThumbImageTag: String? = nil,
seriesTimerID: String? = nil,
serverID: String? = nil,
shutterSpeed: Double? = nil,
software: String? = nil,
songCount: Int32? = nil,
sortName: String? = nil,
sourceType: String? = nil,
specialFeatureCount: Int32? = nil,
startDate: Date? = nil,
status: String? = nil,
studios: [NameGuidPair]? = nil,
isSupportsSync: Bool? = nil,
taglines: [String]? = nil,
tags: [String]? = nil,
timerID: String? = nil,
trailerCount: Int32? = nil,
type: BaseItemKind? = nil,
userData: UserItemDataDto? = nil,
video3DFormat: Video3DFormat? = nil,
videoType: VideoType? = nil,
width: Int32? = nil
) {
self.airDays = airDays
self.airTime = airTime
self.airsAfterSeasonNumber = airsAfterSeasonNumber

View File

@ -39,7 +39,21 @@ public struct BaseItemPerson: Codable, Identifiable {
public var screenshot: [String: String]?
public var thumb: [String: String]?
public init(art: [String: String]? = nil, backdrop: [String: String]? = nil, banner: [String: String]? = nil, box: [String: String]? = nil, boxRear: [String: String]? = nil, chapter: [String: String]? = nil, disc: [String: String]? = nil, logo: [String: String]? = nil, menu: [String: String]? = nil, primary: [String: String]? = nil, profile: [String: String]? = nil, screenshot: [String: String]? = nil, thumb: [String: String]? = nil) {
public init(
art: [String: String]? = nil,
backdrop: [String: String]? = nil,
banner: [String: String]? = nil,
box: [String: String]? = nil,
boxRear: [String: String]? = nil,
chapter: [String: String]? = nil,
disc: [String: String]? = nil,
logo: [String: String]? = nil,
menu: [String: String]? = nil,
primary: [String: String]? = nil,
profile: [String: String]? = nil,
screenshot: [String: String]? = nil,
thumb: [String: String]? = nil
) {
self.art = art
self.backdrop = backdrop
self.banner = banner
@ -90,7 +104,14 @@ public struct BaseItemPerson: Codable, Identifiable {
}
}
public init(id: String? = nil, imageBlurHashes: ImageBlurHashes? = nil, name: String? = nil, primaryImageTag: String? = nil, role: String? = nil, type: String? = nil) {
public init(
id: String? = nil,
imageBlurHashes: ImageBlurHashes? = nil,
name: String? = nil,
primaryImageTag: String? = nil,
role: String? = nil,
type: String? = nil
) {
self.id = id
self.imageBlurHashes = imageBlurHashes
self.name = name

View File

@ -29,7 +29,20 @@ public struct BookInfo: Codable {
/// Gets or sets the year.
public var year: Int32?
public init(indexNumber: Int32? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, parentIndexNumber: Int32? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, seriesName: String? = nil, year: Int32? = nil) {
public init(
indexNumber: Int32? = nil,
isAutomated: Bool? = nil,
metadataCountryCode: String? = nil,
metadataLanguage: String? = nil,
name: String? = nil,
originalTitle: String? = nil,
parentIndexNumber: Int32? = nil,
path: String? = nil,
premiereDate: Date? = nil,
providerIDs: [String: String]? = nil,
seriesName: String? = nil,
year: Int32? = nil
) {
self.indexNumber = indexNumber
self.isAutomated = isAutomated
self.metadataCountryCode = metadataCountryCode

View File

@ -16,7 +16,12 @@ public struct BookInfoRemoteSearchQuery: Codable {
/// Gets or sets the provider name to search within if set.
public var searchProviderName: String?
public init(isIncludeDisabledProviders: Bool? = nil, itemID: String? = nil, searchInfo: BookInfo? = nil, searchProviderName: String? = nil) {
public init(
isIncludeDisabledProviders: Bool? = nil,
itemID: String? = nil,
searchInfo: BookInfo? = nil,
searchProviderName: String? = nil
) {
self.isIncludeDisabledProviders = isIncludeDisabledProviders
self.itemID = itemID
self.searchInfo = searchInfo

View File

@ -28,7 +28,19 @@ public struct BoxSetInfo: Codable {
/// Gets or sets the year.
public var year: Int32?
public init(indexNumber: Int32? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, parentIndexNumber: Int32? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, year: Int32? = nil) {
public init(
indexNumber: Int32? = nil,
isAutomated: Bool? = nil,
metadataCountryCode: String? = nil,
metadataLanguage: String? = nil,
name: String? = nil,
originalTitle: String? = nil,
parentIndexNumber: Int32? = nil,
path: String? = nil,
premiereDate: Date? = nil,
providerIDs: [String: String]? = nil,
year: Int32? = nil
) {
self.indexNumber = indexNumber
self.isAutomated = isAutomated
self.metadataCountryCode = metadataCountryCode

View File

@ -16,7 +16,12 @@ public struct BoxSetInfoRemoteSearchQuery: Codable {
/// Gets or sets the provider name to search within if set.
public var searchProviderName: String?
public init(isIncludeDisabledProviders: Bool? = nil, itemID: String? = nil, searchInfo: BoxSetInfo? = nil, searchProviderName: String? = nil) {
public init(
isIncludeDisabledProviders: Bool? = nil,
itemID: String? = nil,
searchInfo: BoxSetInfo? = nil,
searchProviderName: String? = nil
) {
self.isIncludeDisabledProviders = isIncludeDisabledProviders
self.itemID = itemID
self.searchInfo = searchInfo

View File

@ -34,7 +34,20 @@ public struct ChannelFeatures: Codable, Identifiable {
/// Gets or sets a value indicating whether a sort ascending/descending toggle is supported.
public var isSupportsSortOrderToggle: Bool?
public init(autoRefreshLevels: Int32? = nil, canFilter: Bool? = nil, canSearch: Bool? = nil, contentTypes: [ChannelMediaContentType]? = nil, defaultSortFields: [ChannelItemSortField]? = nil, id: String? = nil, maxPageSize: Int32? = nil, mediaTypes: [ChannelMediaType]? = nil, name: String? = nil, isSupportsContentDownloading: Bool? = nil, isSupportsLatestMedia: Bool? = nil, isSupportsSortOrderToggle: Bool? = nil) {
public init(
autoRefreshLevels: Int32? = nil,
canFilter: Bool? = nil,
canSearch: Bool? = nil,
contentTypes: [ChannelMediaContentType]? = nil,
defaultSortFields: [ChannelItemSortField]? = nil,
id: String? = nil,
maxPageSize: Int32? = nil,
mediaTypes: [ChannelMediaType]? = nil,
name: String? = nil,
isSupportsContentDownloading: Bool? = nil,
isSupportsLatestMedia: Bool? = nil,
isSupportsSortOrderToggle: Bool? = nil
) {
self.autoRefreshLevels = autoRefreshLevels
self.canFilter = canFilter
self.canSearch = canSearch

View File

@ -19,7 +19,12 @@ public struct ChannelMappingOptionsDto: Codable {
/// Gets or sets list of tuner channels.
public var tunerChannels: [TunerChannelMapping]?
public init(mappings: [NameValuePair]? = nil, providerChannels: [NameIDPair]? = nil, providerName: String? = nil, tunerChannels: [TunerChannelMapping]? = nil) {
public init(
mappings: [NameValuePair]? = nil,
providerChannels: [NameIDPair]? = nil,
providerName: String? = nil,
tunerChannels: [TunerChannelMapping]? = nil
) {
self.mappings = mappings
self.providerChannels = providerChannels
self.providerName = providerName

View File

@ -19,7 +19,13 @@ public struct ChapterInfo: Codable {
/// Gets or sets the start position ticks.
public var startPositionTicks: Int64?
public init(imageDateModified: Date? = nil, imagePath: String? = nil, imageTag: String? = nil, name: String? = nil, startPositionTicks: Int64? = nil) {
public init(
imageDateModified: Date? = nil,
imagePath: String? = nil,
imageTag: String? = nil,
name: String? = nil,
startPositionTicks: Int64? = nil
) {
self.imageDateModified = imageDateModified
self.imagePath = imagePath
self.imageTag = imageTag

View File

@ -11,15 +11,15 @@ import Foundation
public struct ClientCapabilities: Codable {
public var appStoreURL: String?
/// A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.
///
///
/// <br />
///
///
/// Specifically, it defines the supported <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles">containers</see> and
///
///
/// <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles">codecs</see> (video and/or audio, including codec profiles and levels)
///
///
/// the device is able to direct play (without transcoding or remuxing),
///
///
/// as well as which <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles">containers/codecs to transcode to</see> in case it isn't.
public var deviceProfile: DeviceProfile?
public var iconURL: String?
@ -31,7 +31,18 @@ public struct ClientCapabilities: Codable {
public var isSupportsPersistentIdentifier: Bool?
public var isSupportsSync: Bool?
public init(appStoreURL: String? = nil, deviceProfile: DeviceProfile? = nil, iconURL: String? = nil, messageCallbackURL: String? = nil, playableMediaTypes: [String]? = nil, supportedCommands: [GeneralCommandType]? = nil, isSupportsContentUploading: Bool? = nil, isSupportsMediaControl: Bool? = nil, isSupportsPersistentIdentifier: Bool? = nil, isSupportsSync: Bool? = nil) {
public init(
appStoreURL: String? = nil,
deviceProfile: DeviceProfile? = nil,
iconURL: String? = nil,
messageCallbackURL: String? = nil,
playableMediaTypes: [String]? = nil,
supportedCommands: [GeneralCommandType]? = nil,
isSupportsContentUploading: Bool? = nil,
isSupportsMediaControl: Bool? = nil,
isSupportsPersistentIdentifier: Bool? = nil,
isSupportsSync: Bool? = nil
) {
self.appStoreURL = appStoreURL
self.deviceProfile = deviceProfile
self.iconURL = iconURL

View File

@ -13,15 +13,15 @@ public struct ClientCapabilitiesDto: Codable {
/// Gets or sets the app store url.
public var appStoreURL: String?
/// A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.
///
///
/// <br />
///
///
/// Specifically, it defines the supported <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles">containers</see> and
///
///
/// <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles">codecs</see> (video and/or audio, including codec profiles and levels)
///
///
/// the device is able to direct play (without transcoding or remuxing),
///
///
/// as well as which <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles">containers/codecs to transcode to</see> in case it isn't.
public var deviceProfile: DeviceProfile?
/// Gets or sets the icon url.
@ -41,7 +41,18 @@ public struct ClientCapabilitiesDto: Codable {
/// Gets or sets a value indicating whether session supports sync.
public var isSupportsSync: Bool?
public init(appStoreURL: String? = nil, deviceProfile: DeviceProfile? = nil, iconURL: String? = nil, messageCallbackURL: String? = nil, playableMediaTypes: [String]? = nil, supportedCommands: [GeneralCommandType]? = nil, isSupportsContentUploading: Bool? = nil, isSupportsMediaControl: Bool? = nil, isSupportsPersistentIdentifier: Bool? = nil, isSupportsSync: Bool? = nil) {
public init(
appStoreURL: String? = nil,
deviceProfile: DeviceProfile? = nil,
iconURL: String? = nil,
messageCallbackURL: String? = nil,
playableMediaTypes: [String]? = nil,
supportedCommands: [GeneralCommandType]? = nil,
isSupportsContentUploading: Bool? = nil,
isSupportsMediaControl: Bool? = nil,
isSupportsPersistentIdentifier: Bool? = nil,
isSupportsSync: Bool? = nil
) {
self.appStoreURL = appStoreURL
self.deviceProfile = deviceProfile
self.iconURL = iconURL

View File

@ -15,7 +15,13 @@ public struct CodecProfile: Codable {
public var container: String?
public var type: CodecType?
public init(applyConditions: [ProfileCondition]? = nil, codec: String? = nil, conditions: [ProfileCondition]? = nil, container: String? = nil, type: CodecType? = nil) {
public init(
applyConditions: [ProfileCondition]? = nil,
codec: String? = nil,
conditions: [ProfileCondition]? = nil,
container: String? = nil,
type: CodecType? = nil
) {
self.applyConditions = applyConditions
self.codec = codec
self.conditions = conditions

View File

@ -17,7 +17,15 @@ public struct ConfigImageTypes: Codable {
public var secureBaseURL: String?
public var stillSizes: [String]?
public init(backdropSizes: [String]? = nil, baseURL: String? = nil, logoSizes: [String]? = nil, posterSizes: [String]? = nil, profileSizes: [String]? = nil, secureBaseURL: String? = nil, stillSizes: [String]? = nil) {
public init(
backdropSizes: [String]? = nil,
baseURL: String? = nil,
logoSizes: [String]? = nil,
posterSizes: [String]? = nil,
profileSizes: [String]? = nil,
secureBaseURL: String? = nil,
stillSizes: [String]? = nil
) {
self.backdropSizes = backdropSizes
self.baseURL = baseURL
self.logoSizes = logoSizes

View File

@ -23,7 +23,14 @@ public struct ConfigurationPageInfo: Codable {
/// Gets or sets the plugin id.
public var pluginID: String?
public init(displayName: String? = nil, enableInMainMenu: Bool? = nil, menuIcon: String? = nil, menuSection: String? = nil, name: String? = nil, pluginID: String? = nil) {
public init(
displayName: String? = nil,
enableInMainMenu: Bool? = nil,
menuIcon: String? = nil,
menuSection: String? = nil,
name: String? = nil,
pluginID: String? = nil
) {
self.displayName = displayName
self.enableInMainMenu = enableInMainMenu
self.menuIcon = menuIcon

View File

@ -19,7 +19,12 @@ public struct CountryInfo: Codable {
/// Gets or sets the name of the two letter ISO region.
public var twoLetterISORegionName: String?
public init(displayName: String? = nil, name: String? = nil, threeLetterISORegionName: String? = nil, twoLetterISORegionName: String? = nil) {
public init(
displayName: String? = nil,
name: String? = nil,
threeLetterISORegionName: String? = nil,
twoLetterISORegionName: String? = nil
) {
self.displayName = displayName
self.name = name
self.threeLetterISORegionName = threeLetterISORegionName

View File

@ -20,7 +20,13 @@ public struct CultureDto: Codable {
/// Gets the name of the two letter ISO language.
public var twoLetterISOLanguageName: String?
public init(displayName: String? = nil, name: String? = nil, threeLetterISOLanguageName: String? = nil, threeLetterISOLanguageNames: [String]? = nil, twoLetterISOLanguageName: String? = nil) {
public init(
displayName: String? = nil,
name: String? = nil,
threeLetterISOLanguageName: String? = nil,
threeLetterISOLanguageNames: [String]? = nil,
twoLetterISOLanguageName: String? = nil
) {
self.displayName = displayName
self.name = name
self.threeLetterISOLanguageName = threeLetterISOLanguageName

View File

@ -28,7 +28,17 @@ public struct DeviceIdentification: Codable {
/// Gets or sets the serial number.
public var serialNumber: String?
public init(friendlyName: String? = nil, headers: [HTTPHeaderInfo]? = nil, manufacturer: String? = nil, manufacturerURL: String? = nil, modelDescription: String? = nil, modelName: String? = nil, modelNumber: String? = nil, modelURL: String? = nil, serialNumber: String? = nil) {
public init(
friendlyName: String? = nil,
headers: [HTTPHeaderInfo]? = nil,
manufacturer: String? = nil,
manufacturerURL: String? = nil,
modelDescription: String? = nil,
modelName: String? = nil,
modelNumber: String? = nil,
modelURL: String? = nil,
serialNumber: String? = nil
) {
self.friendlyName = friendlyName
self.headers = headers
self.manufacturer = manufacturer

View File

@ -28,7 +28,18 @@ public struct DeviceInfo: Codable, Identifiable {
public var lastUserName: String?
public var name: String?
public init(accessToken: String? = nil, appName: String? = nil, appVersion: String? = nil, capabilities: ClientCapabilities? = nil, dateLastActivity: Date? = nil, iconURL: String? = nil, id: String? = nil, lastUserID: String? = nil, lastUserName: String? = nil, name: String? = nil) {
public init(
accessToken: String? = nil,
appName: String? = nil,
appVersion: String? = nil,
capabilities: ClientCapabilities? = nil,
dateLastActivity: Date? = nil,
iconURL: String? = nil,
id: String? = nil,
lastUserID: String? = nil,
lastUserName: String? = nil,
name: String? = nil
) {
self.accessToken = accessToken
self.appName = appName
self.appVersion = appVersion

View File

@ -9,15 +9,15 @@
import Foundation
/// A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.
///
///
/// <br />
///
///
/// Specifically, it defines the supported <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles">containers</see> and
///
///
/// <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles">codecs</see> (video and/or audio, including codec profiles and levels)
///
///
/// the device is able to direct play (without transcoding or remuxing),
///
///
/// as well as which <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles">containers/codecs to transcode to</see> in case it isn't.
public struct DeviceProfile: Codable, Identifiable {
/// Gets or sets the AlbumArtPn.
@ -99,7 +99,47 @@ public struct DeviceProfile: Codable, Identifiable {
/// Gets or sets the XmlRootAttributes.
public var xmlRootAttributes: [XmlAttribute]?
public init(albumArtPn: String? = nil, codecProfiles: [CodecProfile]? = nil, containerProfiles: [ContainerProfile]? = nil, directPlayProfiles: [DirectPlayProfile]? = nil, enableAlbumArtInDidl: Bool? = nil, enableMSMediaReceiverRegistrar: Bool? = nil, enableSingleAlbumArtLimit: Bool? = nil, enableSingleSubtitleLimit: Bool? = nil, friendlyName: String? = nil, id: String? = nil, identification: DeviceIdentification? = nil, isIgnoreTranscodeByteRangeRequests: Bool? = nil, manufacturer: String? = nil, manufacturerURL: String? = nil, maxAlbumArtHeight: Int32? = nil, maxAlbumArtWidth: Int32? = nil, maxIconHeight: Int32? = nil, maxIconWidth: Int32? = nil, maxStaticBitrate: Int32? = nil, maxStaticMusicBitrate: Int32? = nil, maxStreamingBitrate: Int32? = nil, modelDescription: String? = nil, modelName: String? = nil, modelNumber: String? = nil, modelURL: String? = nil, musicStreamingTranscodingBitrate: Int32? = nil, name: String? = nil, protocolInfo: String? = nil, requiresPlainFolders: Bool? = nil, requiresPlainVideoItems: Bool? = nil, responseProfiles: [ResponseProfile]? = nil, serialNumber: String? = nil, sonyAggregationFlags: String? = nil, subtitleProfiles: [SubtitleProfile]? = nil, supportedMediaTypes: String? = nil, timelineOffsetSeconds: Int32? = nil, transcodingProfiles: [TranscodingProfile]? = nil, userID: String? = nil, xmlRootAttributes: [XmlAttribute]? = nil) {
public init(
albumArtPn: String? = nil,
codecProfiles: [CodecProfile]? = nil,
containerProfiles: [ContainerProfile]? = nil,
directPlayProfiles: [DirectPlayProfile]? = nil,
enableAlbumArtInDidl: Bool? = nil,
enableMSMediaReceiverRegistrar: Bool? = nil,
enableSingleAlbumArtLimit: Bool? = nil,
enableSingleSubtitleLimit: Bool? = nil,
friendlyName: String? = nil,
id: String? = nil,
identification: DeviceIdentification? = nil,
isIgnoreTranscodeByteRangeRequests: Bool? = nil,
manufacturer: String? = nil,
manufacturerURL: String? = nil,
maxAlbumArtHeight: Int32? = nil,
maxAlbumArtWidth: Int32? = nil,
maxIconHeight: Int32? = nil,
maxIconWidth: Int32? = nil,
maxStaticBitrate: Int32? = nil,
maxStaticMusicBitrate: Int32? = nil,
maxStreamingBitrate: Int32? = nil,
modelDescription: String? = nil,
modelName: String? = nil,
modelNumber: String? = nil,
modelURL: String? = nil,
musicStreamingTranscodingBitrate: Int32? = nil,
name: String? = nil,
protocolInfo: String? = nil,
requiresPlainFolders: Bool? = nil,
requiresPlainVideoItems: Bool? = nil,
responseProfiles: [ResponseProfile]? = nil,
serialNumber: String? = nil,
sonyAggregationFlags: String? = nil,
subtitleProfiles: [SubtitleProfile]? = nil,
supportedMediaTypes: String? = nil,
timelineOffsetSeconds: Int32? = nil,
transcodingProfiles: [TranscodingProfile]? = nil,
userID: String? = nil,
xmlRootAttributes: [XmlAttribute]? = nil
) {
self.albumArtPn = albumArtPn
self.codecProfiles = codecProfiles
self.containerProfiles = containerProfiles

View File

@ -39,7 +39,22 @@ public struct DisplayPreferencesDto: Codable, Identifiable {
/// Gets or sets the type of the view.
public var viewType: String?
public init(client: String? = nil, customPrefs: [String: String]? = nil, id: String? = nil, indexBy: String? = nil, primaryImageHeight: Int32? = nil, primaryImageWidth: Int32? = nil, isRememberIndexing: Bool? = nil, isRememberSorting: Bool? = nil, scrollDirection: ScrollDirection? = nil, isShowBackdrop: Bool? = nil, isShowSidebar: Bool? = nil, sortBy: String? = nil, sortOrder: SortOrder? = nil, viewType: String? = nil) {
public init(
client: String? = nil,
customPrefs: [String: String]? = nil,
id: String? = nil,
indexBy: String? = nil,
primaryImageHeight: Int32? = nil,
primaryImageWidth: Int32? = nil,
isRememberIndexing: Bool? = nil,
isRememberSorting: Bool? = nil,
scrollDirection: ScrollDirection? = nil,
isShowBackdrop: Bool? = nil,
isShowSidebar: Bool? = nil,
sortBy: String? = nil,
sortOrder: SortOrder? = nil,
viewType: String? = nil
) {
self.client = client
self.customPrefs = customPrefs
self.id = id

View File

@ -19,19 +19,19 @@ public struct DlnaOptions: Codable {
/// Gets or sets a value indicating whether to blast alive messages.
public var isBlastAliveMessages: Bool?
/// Gets or sets the ssdp client discovery interval time (in seconds).
///
///
/// This is the time after which the server will send a ssdp search request.
public var clientDiscoveryIntervalSeconds: Int32?
/// Gets or sets the default user account that the dlna server uses.
public var defaultUserID: String?
/// Gets or sets a value indicating whether detailed dlna server logs are sent to the console/log.
///
///
/// If the setting "Emby.Dlna": "Debug" msut be set in logging.default.json for this property to work.
public var enableDebugLog: Bool?
/// Gets or sets a value indicating whether gets or sets a value to indicate the status of the dlna playTo subsystem.
public var enablePlayTo: Bool?
/// Gets or sets a value indicating whether whether detailed playTo debug logs are sent to the console/log.
///
///
/// If the setting "Emby.Dlna.PlayTo": "Debug" msut be set in logging.default.json for this property to work.
public var enablePlayToTracing: Bool?
/// Gets or sets a value indicating whether gets or sets a value to indicate the status of the dlna server subsystem.
@ -39,7 +39,19 @@ public struct DlnaOptions: Codable {
/// Gets or sets a value indicating whether to send only matched host.
public var isSendOnlyMatchedHost: Bool?
public init(aliveMessageIntervalSeconds: Int32? = nil, isAutoCreatePlayToProfiles: Bool? = nil, blastAliveMessageIntervalSeconds: Int32? = nil, isBlastAliveMessages: Bool? = nil, clientDiscoveryIntervalSeconds: Int32? = nil, defaultUserID: String? = nil, enableDebugLog: Bool? = nil, enablePlayTo: Bool? = nil, enablePlayToTracing: Bool? = nil, enableServer: Bool? = nil, isSendOnlyMatchedHost: Bool? = nil) {
public init(
aliveMessageIntervalSeconds: Int32? = nil,
isAutoCreatePlayToProfiles: Bool? = nil,
blastAliveMessageIntervalSeconds: Int32? = nil,
isBlastAliveMessages: Bool? = nil,
clientDiscoveryIntervalSeconds: Int32? = nil,
defaultUserID: String? = nil,
enableDebugLog: Bool? = nil,
enablePlayTo: Bool? = nil,
enablePlayToTracing: Bool? = nil,
enableServer: Bool? = nil,
isSendOnlyMatchedHost: Bool? = nil
) {
self.aliveMessageIntervalSeconds = aliveMessageIntervalSeconds
self.isAutoCreatePlayToProfiles = isAutoCreatePlayToProfiles
self.blastAliveMessageIntervalSeconds = blastAliveMessageIntervalSeconds

View File

@ -50,7 +50,46 @@ public struct EncodingOptions: Codable {
public var vppTonemappingBrightness: Double?
public var vppTonemappingContrast: Double?
public init(allowHevcEncoding: Bool? = nil, allowOnDemandMetadataBasedKeyframeExtractionForExtensions: [String]? = nil, isDeinterlaceDoubleRate: Bool? = nil, deinterlaceMethod: String? = nil, downMixAudioBoost: Double? = nil, enableDecodingColorDepth10Hevc: Bool? = nil, enableDecodingColorDepth10Vp9: Bool? = nil, enableEnhancedNvdecDecoder: Bool? = nil, enableFallbackFont: Bool? = nil, enableHardwareEncoding: Bool? = nil, enableIntelLowPowerH264HwEncoder: Bool? = nil, enableIntelLowPowerHevcHwEncoder: Bool? = nil, enableSubtitleExtraction: Bool? = nil, enableThrottling: Bool? = nil, enableTonemapping: Bool? = nil, enableVppTonemapping: Bool? = nil, encoderAppPath: String? = nil, encoderAppPathDisplay: String? = nil, encoderPreset: String? = nil, encodingThreadCount: Int32? = nil, fallbackFontPath: String? = nil, h264Crf: Int32? = nil, h265Crf: Int32? = nil, hardwareAccelerationType: String? = nil, hardwareDecodingCodecs: [String]? = nil, maxMuxingQueueSize: Int32? = nil, isPreferSystemNativeHwDecoder: Bool? = nil, throttleDelaySeconds: Int32? = nil, tonemappingAlgorithm: String? = nil, tonemappingDesat: Double? = nil, tonemappingParam: Double? = nil, tonemappingPeak: Double? = nil, tonemappingRange: String? = nil, tonemappingThreshold: Double? = nil, transcodingTempPath: String? = nil, vaapiDevice: String? = nil, vppTonemappingBrightness: Double? = nil, vppTonemappingContrast: Double? = nil) {
public init(
allowHevcEncoding: Bool? = nil,
allowOnDemandMetadataBasedKeyframeExtractionForExtensions: [String]? = nil,
isDeinterlaceDoubleRate: Bool? = nil,
deinterlaceMethod: String? = nil,
downMixAudioBoost: Double? = nil,
enableDecodingColorDepth10Hevc: Bool? = nil,
enableDecodingColorDepth10Vp9: Bool? = nil,
enableEnhancedNvdecDecoder: Bool? = nil,
enableFallbackFont: Bool? = nil,
enableHardwareEncoding: Bool? = nil,
enableIntelLowPowerH264HwEncoder: Bool? = nil,
enableIntelLowPowerHevcHwEncoder: Bool? = nil,
enableSubtitleExtraction: Bool? = nil,
enableThrottling: Bool? = nil,
enableTonemapping: Bool? = nil,
enableVppTonemapping: Bool? = nil,
encoderAppPath: String? = nil,
encoderAppPathDisplay: String? = nil,
encoderPreset: String? = nil,
encodingThreadCount: Int32? = nil,
fallbackFontPath: String? = nil,
h264Crf: Int32? = nil,
h265Crf: Int32? = nil,
hardwareAccelerationType: String? = nil,
hardwareDecodingCodecs: [String]? = nil,
maxMuxingQueueSize: Int32? = nil,
isPreferSystemNativeHwDecoder: Bool? = nil,
throttleDelaySeconds: Int32? = nil,
tonemappingAlgorithm: String? = nil,
tonemappingDesat: Double? = nil,
tonemappingParam: Double? = nil,
tonemappingPeak: Double? = nil,
tonemappingRange: String? = nil,
tonemappingThreshold: Double? = nil,
transcodingTempPath: String? = nil,
vaapiDevice: String? = nil,
vppTonemappingBrightness: Double? = nil,
vppTonemappingContrast: Double? = nil
) {
self.allowHevcEncoding = allowHevcEncoding
self.allowOnDemandMetadataBasedKeyframeExtractionForExtensions = allowOnDemandMetadataBasedKeyframeExtractionForExtensions
self.isDeinterlaceDoubleRate = isDeinterlaceDoubleRate
@ -94,7 +133,10 @@ public struct EncodingOptions: Codable {
public init(from decoder: Decoder) throws {
let values = try decoder.container(keyedBy: StringCodingKey.self)
self.allowHevcEncoding = try values.decodeIfPresent(Bool.self, forKey: "AllowHevcEncoding")
self.allowOnDemandMetadataBasedKeyframeExtractionForExtensions = try values.decodeIfPresent([String].self, forKey: "AllowOnDemandMetadataBasedKeyframeExtractionForExtensions")
self.allowOnDemandMetadataBasedKeyframeExtractionForExtensions = try values.decodeIfPresent(
[String].self,
forKey: "AllowOnDemandMetadataBasedKeyframeExtractionForExtensions"
)
self.isDeinterlaceDoubleRate = try values.decodeIfPresent(Bool.self, forKey: "DeinterlaceDoubleRate")
self.deinterlaceMethod = try values.decodeIfPresent(String.self, forKey: "DeinterlaceMethod")
self.downMixAudioBoost = try values.decodeIfPresent(Double.self, forKey: "DownMixAudioBoost")
@ -136,7 +178,10 @@ public struct EncodingOptions: Codable {
public func encode(to encoder: Encoder) throws {
var values = encoder.container(keyedBy: StringCodingKey.self)
try values.encodeIfPresent(allowHevcEncoding, forKey: "AllowHevcEncoding")
try values.encodeIfPresent(allowOnDemandMetadataBasedKeyframeExtractionForExtensions, forKey: "AllowOnDemandMetadataBasedKeyframeExtractionForExtensions")
try values.encodeIfPresent(
allowOnDemandMetadataBasedKeyframeExtractionForExtensions,
forKey: "AllowOnDemandMetadataBasedKeyframeExtractionForExtensions"
)
try values.encodeIfPresent(isDeinterlaceDoubleRate, forKey: "DeinterlaceDoubleRate")
try values.encodeIfPresent(deinterlaceMethod, forKey: "DeinterlaceMethod")
try values.encodeIfPresent(downMixAudioBoost, forKey: "DownMixAudioBoost")

View File

@ -15,11 +15,11 @@ public struct ExternalIDInfo: Codable {
/// Gets or sets the display name of the external id provider (IE: IMDB, MusicBrainz, etc).
public var name: String?
/// Gets or sets the specific media type for this id. This is used to distinguish between the different
///
///
/// external id types for providers with multiple ids.
///
///
/// A null value indicates there is no specific media type associated with the external id, or this is the
///
///
/// default id for the external provider so there is no need to specify a type.
public var type: ExternalIDMediaType?
/// Gets or sets the URL format string.

View File

@ -13,21 +13,21 @@ public struct GetProgramsDto: Codable {
/// Gets or sets the channels to return guide information for.
public var channelIDs: [String]?
/// Gets or sets the image types to include in the output.
///
///
/// Optional.
public var enableImageTypes: [ImageType]?
/// Gets or sets include image information in output.
///
///
/// Optional.
public var enableImages: Bool?
/// Gets or sets a value indicating whether retrieve total record count.
public var enableTotalRecordCount: Bool?
/// Gets or sets include user data.
///
///
/// Optional.
public var enableUserData: Bool?
/// Gets or sets specify additional fields of information to return in the output. This allows multiple, comma delimited. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines.
///
///
/// Optional.
public var fields: [ItemFields]?
/// Gets or sets the genre ids to return guide information for.
@ -35,79 +35,107 @@ public struct GetProgramsDto: Codable {
/// Gets or sets the genres to return guide information for.
public var genres: [String]?
/// Gets or sets filter by programs that have completed airing, or not.
///
///
/// Optional.
public var hasAired: Bool?
/// Gets or sets the max number of images to return, per image type.
///
///
/// Optional.
public var imageTypeLimit: Int32?
/// Gets or sets filter by programs that are currently airing, or not.
///
///
/// Optional.
public var isAiring: Bool?
/// Gets or sets filter for kids.
///
///
/// Optional.
public var isKids: Bool?
/// Gets or sets filter for movies.
///
///
/// Optional.
public var isMovie: Bool?
/// Gets or sets filter for news.
///
///
/// Optional.
public var isNews: Bool?
/// Gets or sets filter for series.
///
///
/// Optional.
public var isSeries: Bool?
/// Gets or sets filter for sports.
///
///
/// Optional.
public var isSports: Bool?
/// Gets or sets filter by library series id.
///
///
/// Optional.
public var librarySeriesID: String?
/// Gets or sets the maximum number of records to return.
///
///
/// Optional.
public var limit: Int32?
/// Gets or sets the maximum premiere end date.
///
///
/// Optional.
public var maxEndDate: Date?
/// Gets or sets the maximum premiere start date.
///
///
/// Optional.
public var maxStartDate: Date?
/// Gets or sets the minimum premiere end date.
///
///
/// Optional.
public var minEndDate: Date?
/// Gets or sets the minimum premiere start date.
///
///
/// Optional.
public var minStartDate: Date?
/// Gets or sets filter by series timer id.
///
///
/// Optional.
public var seriesTimerID: String?
/// Gets or sets specify one or more sort orders, comma delimited. Options: Name, StartDate.
///
///
/// Optional.
public var sortBy: [String]?
/// Gets or sets sort Order - Ascending,Descending.
public var sortOrder: [SortOrder]?
/// Gets or sets the record index to start at. All items with a lower index will be dropped from the results.
///
///
/// Optional.
public var startIndex: Int32?
/// Gets or sets optional. Filter by user id.
public var userID: String?
public init(channelIDs: [String]? = nil, enableImageTypes: [ImageType]? = nil, enableImages: Bool? = nil, enableTotalRecordCount: Bool? = nil, enableUserData: Bool? = nil, fields: [ItemFields]? = nil, genreIDs: [String]? = nil, genres: [String]? = nil, hasAired: Bool? = nil, imageTypeLimit: Int32? = nil, isAiring: Bool? = nil, isKids: Bool? = nil, isMovie: Bool? = nil, isNews: Bool? = nil, isSeries: Bool? = nil, isSports: Bool? = nil, librarySeriesID: String? = nil, limit: Int32? = nil, maxEndDate: Date? = nil, maxStartDate: Date? = nil, minEndDate: Date? = nil, minStartDate: Date? = nil, seriesTimerID: String? = nil, sortBy: [String]? = nil, sortOrder: [SortOrder]? = nil, startIndex: Int32? = nil, userID: String? = nil) {
public init(
channelIDs: [String]? = nil,
enableImageTypes: [ImageType]? = nil,
enableImages: Bool? = nil,
enableTotalRecordCount: Bool? = nil,
enableUserData: Bool? = nil,
fields: [ItemFields]? = nil,
genreIDs: [String]? = nil,
genres: [String]? = nil,
hasAired: Bool? = nil,
imageTypeLimit: Int32? = nil,
isAiring: Bool? = nil,
isKids: Bool? = nil,
isMovie: Bool? = nil,
isNews: Bool? = nil,
isSeries: Bool? = nil,
isSports: Bool? = nil,
librarySeriesID: String? = nil,
limit: Int32? = nil,
maxEndDate: Date? = nil,
maxStartDate: Date? = nil,
minEndDate: Date? = nil,
minStartDate: Date? = nil,
seriesTimerID: String? = nil,
sortBy: [String]? = nil,
sortOrder: [SortOrder]? = nil,
startIndex: Int32? = nil,
userID: String? = nil
) {
self.channelIDs = channelIDs
self.enableImageTypes = enableImageTypes
self.enableImages = enableImages

View File

@ -21,7 +21,13 @@ public struct GroupInfoDto: Codable {
/// Gets the group state.
public var state: GroupStateType?
public init(groupID: String? = nil, groupName: String? = nil, lastUpdatedAt: Date? = nil, participants: [String]? = nil, state: GroupStateType? = nil) {
public init(
groupID: String? = nil,
groupName: String? = nil,
lastUpdatedAt: Date? = nil,
participants: [String]? = nil,
state: GroupStateType? = nil
) {
self.groupID = groupID
self.groupName = groupName
self.lastUpdatedAt = lastUpdatedAt

View File

@ -25,7 +25,15 @@ public struct IPlugin: Codable, Identifiable {
/// Gets the plugin version.
public var version: String?
public init(assemblyFilePath: String? = nil, canUninstall: Bool? = nil, dataFolderPath: String? = nil, description: String? = nil, id: String? = nil, name: String? = nil, version: String? = nil) {
public init(
assemblyFilePath: String? = nil,
canUninstall: Bool? = nil,
dataFolderPath: String? = nil,
description: String? = nil,
id: String? = nil,
name: String? = nil,
version: String? = nil
) {
self.assemblyFilePath = assemblyFilePath
self.canUninstall = canUninstall
self.dataFolderPath = dataFolderPath

View File

@ -27,7 +27,16 @@ public struct ImageInfo: Codable {
/// Gets or sets the width.
public var width: Int32?
public init(blurHash: String? = nil, height: Int32? = nil, imageIndex: Int32? = nil, imageTag: String? = nil, imageType: ImageType? = nil, path: String? = nil, size: Int64? = nil, width: Int32? = nil) {
public init(
blurHash: String? = nil,
height: Int32? = nil,
imageIndex: Int32? = nil,
imageTag: String? = nil,
imageType: ImageType? = nil,
path: String? = nil,
size: Int64? = nil,
width: Int32? = nil
) {
self.blurHash = blurHash
self.height = height
self.imageIndex = imageIndex

View File

@ -25,7 +25,15 @@ public struct InstallationInfo: Codable {
/// Gets or sets the version.
public var version: String?
public init(changelog: String? = nil, checksum: String? = nil, guid: String? = nil, name: String? = nil, packageInfo: PackageInfo? = nil, sourceURL: String? = nil, version: String? = nil) {
public init(
changelog: String? = nil,
checksum: String? = nil,
guid: String? = nil,
name: String? = nil,
packageInfo: PackageInfo? = nil,
sourceURL: String? = nil,
version: String? = nil
) {
self.changelog = changelog
self.checksum = checksum
self.guid = guid

View File

@ -35,7 +35,20 @@ public struct ItemCounts: Codable {
/// Gets or sets the trailer count.
public var trailerCount: Int32?
public init(albumCount: Int32? = nil, artistCount: Int32? = nil, bookCount: Int32? = nil, boxSetCount: Int32? = nil, episodeCount: Int32? = nil, itemCount: Int32? = nil, movieCount: Int32? = nil, musicVideoCount: Int32? = nil, programCount: Int32? = nil, seriesCount: Int32? = nil, songCount: Int32? = nil, trailerCount: Int32? = nil) {
public init(
albumCount: Int32? = nil,
artistCount: Int32? = nil,
bookCount: Int32? = nil,
boxSetCount: Int32? = nil,
episodeCount: Int32? = nil,
itemCount: Int32? = nil,
movieCount: Int32? = nil,
musicVideoCount: Int32? = nil,
programCount: Int32? = nil,
seriesCount: Int32? = nil,
songCount: Int32? = nil,
trailerCount: Int32? = nil
) {
self.albumCount = albumCount
self.artistCount = artistCount
self.bookCount = bookCount

View File

@ -41,7 +41,35 @@ public struct LibraryOptions: Codable {
public var subtitleFetcherOrder: [String]?
public var typeOptions: [TypeOptions]?
public init(allowEmbeddedSubtitles: EmbeddedSubtitleOptions? = nil, automaticRefreshIntervalDays: Int32? = nil, isAutomaticallyAddToCollection: Bool? = nil, disabledLocalMetadataReaders: [String]? = nil, disabledSubtitleFetchers: [String]? = nil, enableAutomaticSeriesGrouping: Bool? = nil, enableChapterImageExtraction: Bool? = nil, enableEmbeddedEpisodeInfos: Bool? = nil, enableEmbeddedTitles: Bool? = nil, enableInternetProviders: Bool? = nil, enablePhotos: Bool? = nil, enableRealtimeMonitor: Bool? = nil, isExtractChapterImagesDuringLibraryScan: Bool? = nil, localMetadataReaderOrder: [String]? = nil, metadataCountryCode: String? = nil, metadataSavers: [String]? = nil, pathInfos: [MediaPathInfo]? = nil, preferredMetadataLanguage: String? = nil, requirePerfectSubtitleMatch: Bool? = nil, isSaveLocalMetadata: Bool? = nil, isSaveSubtitlesWithMedia: Bool? = nil, seasonZeroDisplayName: String? = nil, isSkipSubtitlesIfAudioTrackMatches: Bool? = nil, isSkipSubtitlesIfEmbeddedSubtitlesPresent: Bool? = nil, subtitleDownloadLanguages: [String]? = nil, subtitleFetcherOrder: [String]? = nil, typeOptions: [TypeOptions]? = nil) {
public init(
allowEmbeddedSubtitles: EmbeddedSubtitleOptions? = nil,
automaticRefreshIntervalDays: Int32? = nil,
isAutomaticallyAddToCollection: Bool? = nil,
disabledLocalMetadataReaders: [String]? = nil,
disabledSubtitleFetchers: [String]? = nil,
enableAutomaticSeriesGrouping: Bool? = nil,
enableChapterImageExtraction: Bool? = nil,
enableEmbeddedEpisodeInfos: Bool? = nil,
enableEmbeddedTitles: Bool? = nil,
enableInternetProviders: Bool? = nil,
enablePhotos: Bool? = nil,
enableRealtimeMonitor: Bool? = nil,
isExtractChapterImagesDuringLibraryScan: Bool? = nil,
localMetadataReaderOrder: [String]? = nil,
metadataCountryCode: String? = nil,
metadataSavers: [String]? = nil,
pathInfos: [MediaPathInfo]? = nil,
preferredMetadataLanguage: String? = nil,
requirePerfectSubtitleMatch: Bool? = nil,
isSaveLocalMetadata: Bool? = nil,
isSaveSubtitlesWithMedia: Bool? = nil,
seasonZeroDisplayName: String? = nil,
isSkipSubtitlesIfAudioTrackMatches: Bool? = nil,
isSkipSubtitlesIfEmbeddedSubtitlesPresent: Bool? = nil,
subtitleDownloadLanguages: [String]? = nil,
subtitleFetcherOrder: [String]? = nil,
typeOptions: [TypeOptions]? = nil
) {
self.allowEmbeddedSubtitles = allowEmbeddedSubtitles
self.automaticRefreshIntervalDays = automaticRefreshIntervalDays
self.isAutomaticallyAddToCollection = isAutomaticallyAddToCollection
@ -85,7 +113,10 @@ public struct LibraryOptions: Codable {
self.enableInternetProviders = try values.decodeIfPresent(Bool.self, forKey: "EnableInternetProviders")
self.enablePhotos = try values.decodeIfPresent(Bool.self, forKey: "EnablePhotos")
self.enableRealtimeMonitor = try values.decodeIfPresent(Bool.self, forKey: "EnableRealtimeMonitor")
self.isExtractChapterImagesDuringLibraryScan = try values.decodeIfPresent(Bool.self, forKey: "ExtractChapterImagesDuringLibraryScan")
self.isExtractChapterImagesDuringLibraryScan = try values.decodeIfPresent(
Bool.self,
forKey: "ExtractChapterImagesDuringLibraryScan"
)
self.localMetadataReaderOrder = try values.decodeIfPresent([String].self, forKey: "LocalMetadataReaderOrder")
self.metadataCountryCode = try values.decodeIfPresent(String.self, forKey: "MetadataCountryCode")
self.metadataSavers = try values.decodeIfPresent([String].self, forKey: "MetadataSavers")
@ -96,7 +127,10 @@ public struct LibraryOptions: Codable {
self.isSaveSubtitlesWithMedia = try values.decodeIfPresent(Bool.self, forKey: "SaveSubtitlesWithMedia")
self.seasonZeroDisplayName = try values.decodeIfPresent(String.self, forKey: "SeasonZeroDisplayName")
self.isSkipSubtitlesIfAudioTrackMatches = try values.decodeIfPresent(Bool.self, forKey: "SkipSubtitlesIfAudioTrackMatches")
self.isSkipSubtitlesIfEmbeddedSubtitlesPresent = try values.decodeIfPresent(Bool.self, forKey: "SkipSubtitlesIfEmbeddedSubtitlesPresent")
self.isSkipSubtitlesIfEmbeddedSubtitlesPresent = try values.decodeIfPresent(
Bool.self,
forKey: "SkipSubtitlesIfEmbeddedSubtitlesPresent"
)
self.subtitleDownloadLanguages = try values.decodeIfPresent([String].self, forKey: "SubtitleDownloadLanguages")
self.subtitleFetcherOrder = try values.decodeIfPresent([String].self, forKey: "SubtitleFetcherOrder")
self.typeOptions = try values.decodeIfPresent([TypeOptions].self, forKey: "TypeOptions")

View File

@ -19,7 +19,12 @@ public struct LibraryOptionsResultDto: Codable {
/// Gets or sets the type options.
public var typeOptions: [LibraryTypeOptionsDto]?
public init(metadataReaders: [LibraryOptionInfoDto]? = nil, metadataSavers: [LibraryOptionInfoDto]? = nil, subtitleFetchers: [LibraryOptionInfoDto]? = nil, typeOptions: [LibraryTypeOptionsDto]? = nil) {
public init(
metadataReaders: [LibraryOptionInfoDto]? = nil,
metadataSavers: [LibraryOptionInfoDto]? = nil,
subtitleFetchers: [LibraryOptionInfoDto]? = nil,
typeOptions: [LibraryTypeOptionsDto]? = nil
) {
self.metadataReaders = metadataReaders
self.metadataSavers = metadataSavers
self.subtitleFetchers = subtitleFetchers

View File

@ -21,7 +21,13 @@ public struct LibraryTypeOptionsDto: Codable {
/// Gets or sets the type.
public var type: String?
public init(defaultImageOptions: [ImageOption]? = nil, imageFetchers: [LibraryOptionInfoDto]? = nil, metadataFetchers: [LibraryOptionInfoDto]? = nil, supportedImageTypes: [ImageType]? = nil, type: String? = nil) {
public init(
defaultImageOptions: [ImageOption]? = nil,
imageFetchers: [LibraryOptionInfoDto]? = nil,
metadataFetchers: [LibraryOptionInfoDto]? = nil,
supportedImageTypes: [ImageType]? = nil,
type: String? = nil
) {
self.defaultImageOptions = defaultImageOptions
self.imageFetchers = imageFetchers
self.metadataFetchers = metadataFetchers

View File

@ -23,7 +23,15 @@ public struct LibraryUpdateInfo: Codable {
/// Gets or sets the items updated.
public var itemsUpdated: [String]?
public init(collectionFolders: [String]? = nil, foldersAddedTo: [String]? = nil, foldersRemovedFrom: [String]? = nil, isEmpty: Bool? = nil, itemsAdded: [String]? = nil, itemsRemoved: [String]? = nil, itemsUpdated: [String]? = nil) {
public init(
collectionFolders: [String]? = nil,
foldersAddedTo: [String]? = nil,
foldersRemovedFrom: [String]? = nil,
isEmpty: Bool? = nil,
itemsAdded: [String]? = nil,
itemsRemoved: [String]? = nil,
itemsUpdated: [String]? = nil
) {
self.collectionFolders = collectionFolders
self.foldersAddedTo = foldersAddedTo
self.foldersRemovedFrom = foldersRemovedFrom

View File

@ -28,7 +28,26 @@ public struct ListingsProviderInfo: Codable, Identifiable {
public var username: String?
public var zipCode: String?
public init(channelMappings: [NameValuePair]? = nil, country: String? = nil, enableAllTuners: Bool? = nil, enabledTuners: [String]? = nil, id: String? = nil, kidsCategories: [String]? = nil, listingsID: String? = nil, movieCategories: [String]? = nil, moviePrefix: String? = nil, newsCategories: [String]? = nil, password: String? = nil, path: String? = nil, preferredLanguage: String? = nil, sportsCategories: [String]? = nil, type: String? = nil, userAgent: String? = nil, username: String? = nil, zipCode: String? = nil) {
public init(
channelMappings: [NameValuePair]? = nil,
country: String? = nil,
enableAllTuners: Bool? = nil,
enabledTuners: [String]? = nil,
id: String? = nil,
kidsCategories: [String]? = nil,
listingsID: String? = nil,
movieCategories: [String]? = nil,
moviePrefix: String? = nil,
newsCategories: [String]? = nil,
password: String? = nil,
path: String? = nil,
preferredLanguage: String? = nil,
sportsCategories: [String]? = nil,
type: String? = nil,
userAgent: String? = nil,
username: String? = nil,
zipCode: String? = nil
) {
self.channelMappings = channelMappings
self.country = country
self.enableAllTuners = enableAllTuners

View File

@ -23,7 +23,21 @@ public struct LiveTvOptions: Codable {
public var seriesRecordingPath: String?
public var tunerHosts: [TunerHostInfo]?
public init(enableOriginalAudioWithEncodedRecordings: Bool? = nil, enableRecordingSubfolders: Bool? = nil, guideDays: Int32? = nil, listingProviders: [ListingsProviderInfo]? = nil, mediaLocationsCreated: [String]? = nil, movieRecordingPath: String? = nil, postPaddingSeconds: Int32? = nil, prePaddingSeconds: Int32? = nil, recordingPath: String? = nil, recordingPostProcessor: String? = nil, recordingPostProcessorArguments: String? = nil, seriesRecordingPath: String? = nil, tunerHosts: [TunerHostInfo]? = nil) {
public init(
enableOriginalAudioWithEncodedRecordings: Bool? = nil,
enableRecordingSubfolders: Bool? = nil,
guideDays: Int32? = nil,
listingProviders: [ListingsProviderInfo]? = nil,
mediaLocationsCreated: [String]? = nil,
movieRecordingPath: String? = nil,
postPaddingSeconds: Int32? = nil,
prePaddingSeconds: Int32? = nil,
recordingPath: String? = nil,
recordingPostProcessor: String? = nil,
recordingPostProcessorArguments: String? = nil,
seriesRecordingPath: String? = nil,
tunerHosts: [TunerHostInfo]? = nil
) {
self.enableOriginalAudioWithEncodedRecordings = enableOriginalAudioWithEncodedRecordings
self.enableRecordingSubfolders = enableRecordingSubfolders
self.guideDays = guideDays
@ -41,7 +55,10 @@ public struct LiveTvOptions: Codable {
public init(from decoder: Decoder) throws {
let values = try decoder.container(keyedBy: StringCodingKey.self)
self.enableOriginalAudioWithEncodedRecordings = try values.decodeIfPresent(Bool.self, forKey: "EnableOriginalAudioWithEncodedRecordings")
self.enableOriginalAudioWithEncodedRecordings = try values.decodeIfPresent(
Bool.self,
forKey: "EnableOriginalAudioWithEncodedRecordings"
)
self.enableRecordingSubfolders = try values.decodeIfPresent(Bool.self, forKey: "EnableRecordingSubfolders")
self.guideDays = try values.decodeIfPresent(Int32.self, forKey: "GuideDays")
self.listingProviders = try values.decodeIfPresent([ListingsProviderInfo].self, forKey: "ListingProviders")

View File

@ -26,7 +26,16 @@ public struct LiveTvServiceInfo: Codable {
/// Gets or sets the version.
public var version: String?
public init(hasUpdateAvailable: Bool? = nil, homePageURL: String? = nil, isVisible: Bool? = nil, name: String? = nil, status: LiveTvServiceStatus? = nil, statusMessage: String? = nil, tuners: [String]? = nil, version: String? = nil) {
public init(
hasUpdateAvailable: Bool? = nil,
homePageURL: String? = nil,
isVisible: Bool? = nil,
name: String? = nil,
status: LiveTvServiceStatus? = nil,
statusMessage: String? = nil,
tuners: [String]? = nil,
version: String? = nil
) {
self.hasUpdateAvailable = hasUpdateAvailable
self.homePageURL = homePageURL
self.isVisible = isVisible

View File

@ -15,5 +15,5 @@ public enum LogLevel: String, Codable, CaseIterable {
case warning = "Warning"
case error = "Error"
case critical = "Critical"
case `none` = "None"
case none = "None"
}

View File

@ -25,7 +25,15 @@ public struct MediaAttachment: Codable {
/// Gets or sets the MIME type.
public var mimeType: String?
public init(codec: String? = nil, codecTag: String? = nil, comment: String? = nil, deliveryURL: String? = nil, fileName: String? = nil, index: Int32? = nil, mimeType: String? = nil) {
public init(
codec: String? = nil,
codecTag: String? = nil,
comment: String? = nil,
deliveryURL: String? = nil,
fileName: String? = nil,
index: Int32? = nil,
mimeType: String? = nil
) {
self.codec = codec
self.codecTag = codecTag
self.comment = comment

View File

@ -25,7 +25,7 @@ public struct MediaSourceInfo: Codable, Identifiable {
public var isIgnoreIndex: Bool?
public var isInfiniteStream: Bool?
/// Gets or sets a value indicating whether the media is remote.
///
///
/// Differentiate internet url vs local network.
public var isRemote: Bool?
public var isoType: IsoType?
@ -55,7 +55,50 @@ public struct MediaSourceInfo: Codable, Identifiable {
public var video3DFormat: Video3DFormat?
public var videoType: VideoType?
public init(analyzeDurationMs: Int32? = nil, bitrate: Int32? = nil, bufferMs: Int32? = nil, container: String? = nil, defaultAudioStreamIndex: Int32? = nil, defaultSubtitleStreamIndex: Int32? = nil, eTag: String? = nil, encoderPath: String? = nil, encoderProtocol: MediaProtocol? = nil, formats: [String]? = nil, isGenPtsInput: Bool? = nil, id: String? = nil, isIgnoreDts: Bool? = nil, isIgnoreIndex: Bool? = nil, isInfiniteStream: Bool? = nil, isRemote: Bool? = nil, isoType: IsoType? = nil, liveStreamID: String? = nil, mediaAttachments: [MediaAttachment]? = nil, mediaStreams: [MediaStream]? = nil, name: String? = nil, openToken: String? = nil, path: String? = nil, `protocol`: MediaProtocol? = nil, isReadAtNativeFramerate: Bool? = nil, requiredHTTPHeaders: [String: String]? = nil, requiresClosing: Bool? = nil, requiresLooping: Bool? = nil, requiresOpening: Bool? = nil, runTimeTicks: Int64? = nil, size: Int64? = nil, isSupportsDirectPlay: Bool? = nil, isSupportsDirectStream: Bool? = nil, isSupportsProbing: Bool? = nil, isSupportsTranscoding: Bool? = nil, timestamp: TransportStreamTimestamp? = nil, transcodingContainer: String? = nil, transcodingSubProtocol: String? = nil, transcodingURL: String? = nil, type: MediaSourceType? = nil, video3DFormat: Video3DFormat? = nil, videoType: VideoType? = nil) {
public init(
analyzeDurationMs: Int32? = nil,
bitrate: Int32? = nil,
bufferMs: Int32? = nil,
container: String? = nil,
defaultAudioStreamIndex: Int32? = nil,
defaultSubtitleStreamIndex: Int32? = nil,
eTag: String? = nil,
encoderPath: String? = nil,
encoderProtocol: MediaProtocol? = nil,
formats: [String]? = nil,
isGenPtsInput: Bool? = nil,
id: String? = nil,
isIgnoreDts: Bool? = nil,
isIgnoreIndex: Bool? = nil,
isInfiniteStream: Bool? = nil,
isRemote: Bool? = nil,
isoType: IsoType? = nil,
liveStreamID: String? = nil,
mediaAttachments: [MediaAttachment]? = nil,
mediaStreams: [MediaStream]? = nil,
name: String? = nil,
openToken: String? = nil,
path: String? = nil,
protocol: MediaProtocol? = nil,
isReadAtNativeFramerate: Bool? = nil,
requiredHTTPHeaders: [String: String]? = nil,
requiresClosing: Bool? = nil,
requiresLooping: Bool? = nil,
requiresOpening: Bool? = nil,
runTimeTicks: Int64? = nil,
size: Int64? = nil,
isSupportsDirectPlay: Bool? = nil,
isSupportsDirectStream: Bool? = nil,
isSupportsProbing: Bool? = nil,
isSupportsTranscoding: Bool? = nil,
timestamp: TransportStreamTimestamp? = nil,
transcodingContainer: String? = nil,
transcodingSubProtocol: String? = nil,
transcodingURL: String? = nil,
type: MediaSourceType? = nil,
video3DFormat: Video3DFormat? = nil,
videoType: VideoType? = nil
) {
self.analyzeDurationMs = analyzeDurationMs
self.bitrate = bitrate
self.bufferMs = bufferMs

View File

@ -119,7 +119,66 @@ public struct MediaStream: Codable {
/// Gets or sets the width.
public var width: Int32?
public init(aspectRatio: String? = nil, averageFrameRate: Float? = nil, bitDepth: Int32? = nil, bitRate: Int32? = nil, blPresentFlag: Int32? = nil, channelLayout: String? = nil, channels: Int32? = nil, codec: String? = nil, codecTag: String? = nil, codecTimeBase: String? = nil, colorPrimaries: String? = nil, colorRange: String? = nil, colorSpace: String? = nil, colorTransfer: String? = nil, comment: String? = nil, deliveryMethod: SubtitleDeliveryMethod? = nil, deliveryURL: String? = nil, displayTitle: String? = nil, dvBlSignalCompatibilityID: Int32? = nil, dvLevel: Int32? = nil, dvProfile: Int32? = nil, dvVersionMajor: Int32? = nil, dvVersionMinor: Int32? = nil, elPresentFlag: Int32? = nil, height: Int32? = nil, index: Int32? = nil, isAVC: Bool? = nil, isAnamorphic: Bool? = nil, isDefault: Bool? = nil, isExternal: Bool? = nil, isExternalURL: Bool? = nil, isForced: Bool? = nil, isInterlaced: Bool? = nil, isTextSubtitleStream: Bool? = nil, language: String? = nil, level: Double? = nil, localizedDefault: String? = nil, localizedExternal: String? = nil, localizedForced: String? = nil, localizedUndefined: String? = nil, nalLengthSize: String? = nil, packetLength: Int32? = nil, path: String? = nil, pixelFormat: String? = nil, profile: String? = nil, realFrameRate: Float? = nil, refFrames: Int32? = nil, rpuPresentFlag: Int32? = nil, sampleRate: Int32? = nil, score: Int32? = nil, isSupportsExternalStream: Bool? = nil, timeBase: String? = nil, title: String? = nil, type: MediaStreamType? = nil, videoDoViTitle: String? = nil, videoRange: String? = nil, videoRangeType: String? = nil, width: Int32? = nil) {
public init(
aspectRatio: String? = nil,
averageFrameRate: Float? = nil,
bitDepth: Int32? = nil,
bitRate: Int32? = nil,
blPresentFlag: Int32? = nil,
channelLayout: String? = nil,
channels: Int32? = nil,
codec: String? = nil,
codecTag: String? = nil,
codecTimeBase: String? = nil,
colorPrimaries: String? = nil,
colorRange: String? = nil,
colorSpace: String? = nil,
colorTransfer: String? = nil,
comment: String? = nil,
deliveryMethod: SubtitleDeliveryMethod? = nil,
deliveryURL: String? = nil,
displayTitle: String? = nil,
dvBlSignalCompatibilityID: Int32? = nil,
dvLevel: Int32? = nil,
dvProfile: Int32? = nil,
dvVersionMajor: Int32? = nil,
dvVersionMinor: Int32? = nil,
elPresentFlag: Int32? = nil,
height: Int32? = nil,
index: Int32? = nil,
isAVC: Bool? = nil,
isAnamorphic: Bool? = nil,
isDefault: Bool? = nil,
isExternal: Bool? = nil,
isExternalURL: Bool? = nil,
isForced: Bool? = nil,
isInterlaced: Bool? = nil,
isTextSubtitleStream: Bool? = nil,
language: String? = nil,
level: Double? = nil,
localizedDefault: String? = nil,
localizedExternal: String? = nil,
localizedForced: String? = nil,
localizedUndefined: String? = nil,
nalLengthSize: String? = nil,
packetLength: Int32? = nil,
path: String? = nil,
pixelFormat: String? = nil,
profile: String? = nil,
realFrameRate: Float? = nil,
refFrames: Int32? = nil,
rpuPresentFlag: Int32? = nil,
sampleRate: Int32? = nil,
score: Int32? = nil,
isSupportsExternalStream: Bool? = nil,
timeBase: String? = nil,
title: String? = nil,
type: MediaStreamType? = nil,
videoDoViTitle: String? = nil,
videoRange: String? = nil,
videoRangeType: String? = nil,
width: Int32? = nil
) {
self.aspectRatio = aspectRatio
self.averageFrameRate = averageFrameRate
self.bitDepth = bitDepth

View File

@ -13,7 +13,7 @@ public struct MediaUpdateInfoPathDto: Codable {
/// Gets or sets media path.
public var path: String?
/// Gets or sets media update type.
///
///
/// Created, Modified, Deleted.
public var updateType: String?

View File

@ -16,7 +16,14 @@ public struct MetadataEditorInfo: Codable {
public var externalIDInfos: [ExternalIDInfo]?
public var parentalRatingOptions: [ParentalRating]?
public init(contentType: String? = nil, contentTypeOptions: [NameValuePair]? = nil, countries: [CountryInfo]? = nil, cultures: [CultureDto]? = nil, externalIDInfos: [ExternalIDInfo]? = nil, parentalRatingOptions: [ParentalRating]? = nil) {
public init(
contentType: String? = nil,
contentTypeOptions: [NameValuePair]? = nil,
countries: [CountryInfo]? = nil,
cultures: [CultureDto]? = nil,
externalIDInfos: [ExternalIDInfo]? = nil,
parentalRatingOptions: [ParentalRating]? = nil
) {
self.contentType = contentType
self.contentTypeOptions = contentTypeOptions
self.countries = countries

View File

@ -18,7 +18,15 @@ public struct MetadataOptions: Codable {
public var localMetadataReaderOrder: [String]?
public var metadataFetcherOrder: [String]?
public init(disabledImageFetchers: [String]? = nil, disabledMetadataFetchers: [String]? = nil, disabledMetadataSavers: [String]? = nil, imageFetcherOrder: [String]? = nil, itemType: String? = nil, localMetadataReaderOrder: [String]? = nil, metadataFetcherOrder: [String]? = nil) {
public init(
disabledImageFetchers: [String]? = nil,
disabledMetadataFetchers: [String]? = nil,
disabledMetadataSavers: [String]? = nil,
imageFetcherOrder: [String]? = nil,
itemType: String? = nil,
localMetadataReaderOrder: [String]? = nil,
metadataFetcherOrder: [String]? = nil
) {
self.disabledImageFetchers = disabledImageFetchers
self.disabledMetadataFetchers = disabledMetadataFetchers
self.disabledMetadataSavers = disabledMetadataSavers

View File

@ -9,7 +9,7 @@
import Foundation
public enum MetadataRefreshMode: String, Codable, CaseIterable {
case `none` = "None"
case none = "None"
case validationOnly = "ValidationOnly"
case `default` = "Default"
case fullRefresh = "FullRefresh"

View File

@ -28,7 +28,19 @@ public struct MovieInfo: Codable {
/// Gets or sets the year.
public var year: Int32?
public init(indexNumber: Int32? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, parentIndexNumber: Int32? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, year: Int32? = nil) {
public init(
indexNumber: Int32? = nil,
isAutomated: Bool? = nil,
metadataCountryCode: String? = nil,
metadataLanguage: String? = nil,
name: String? = nil,
originalTitle: String? = nil,
parentIndexNumber: Int32? = nil,
path: String? = nil,
premiereDate: Date? = nil,
providerIDs: [String: String]? = nil,
year: Int32? = nil
) {
self.indexNumber = indexNumber
self.isAutomated = isAutomated
self.metadataCountryCode = metadataCountryCode

View File

@ -16,7 +16,12 @@ public struct MovieInfoRemoteSearchQuery: Codable {
/// Gets or sets the provider name to search within if set.
public var searchProviderName: String?
public init(isIncludeDisabledProviders: Bool? = nil, itemID: String? = nil, searchInfo: MovieInfo? = nil, searchProviderName: String? = nil) {
public init(
isIncludeDisabledProviders: Bool? = nil,
itemID: String? = nil,
searchInfo: MovieInfo? = nil,
searchProviderName: String? = nil
) {
self.isIncludeDisabledProviders = isIncludeDisabledProviders
self.itemID = itemID
self.searchInfo = searchInfo

View File

@ -29,7 +29,20 @@ public struct MusicVideoInfo: Codable {
/// Gets or sets the year.
public var year: Int32?
public init(artists: [String]? = nil, indexNumber: Int32? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, parentIndexNumber: Int32? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, year: Int32? = nil) {
public init(
artists: [String]? = nil,
indexNumber: Int32? = nil,
isAutomated: Bool? = nil,
metadataCountryCode: String? = nil,
metadataLanguage: String? = nil,
name: String? = nil,
originalTitle: String? = nil,
parentIndexNumber: Int32? = nil,
path: String? = nil,
premiereDate: Date? = nil,
providerIDs: [String: String]? = nil,
year: Int32? = nil
) {
self.artists = artists
self.indexNumber = indexNumber
self.isAutomated = isAutomated

View File

@ -16,7 +16,12 @@ public struct MusicVideoInfoRemoteSearchQuery: Codable {
/// Gets or sets the provider name to search within if set.
public var searchProviderName: String?
public init(isIncludeDisabledProviders: Bool? = nil, itemID: String? = nil, searchInfo: MusicVideoInfo? = nil, searchProviderName: String? = nil) {
public init(
isIncludeDisabledProviders: Bool? = nil,
itemID: String? = nil,
searchInfo: MusicVideoInfo? = nil,
searchProviderName: String? = nil
) {
self.isIncludeDisabledProviders = isIncludeDisabledProviders
self.itemID = itemID
self.searchInfo = searchInfo

View File

@ -33,7 +33,7 @@ public struct NetworkConfiguration: Codable {
/// Gets or sets a value indicating whether access outside of the LAN is permitted.
public var enableRemoteAccess: Bool?
/// Gets or sets a value indicating whether detailed SSDP logs are sent to the console/log.
///
///
/// "Emby.Dlna": "Debug" must be set in logging.default.json for this property to have any effect.
public var enableSSDPTracing: Bool?
/// Gets or sets a value indicating whether to enable automatic port forwarding.
@ -61,7 +61,7 @@ public struct NetworkConfiguration: Codable {
/// Gets or sets the public mapped port.
public var publicPort: Int32?
/// Gets or sets the PublishedServerUriBySubnet
///
///
/// Gets or sets PublishedServerUri to advertise for specific subnets.
public var publishedServerUriBySubnet: [String]?
/// Gets or sets the filter for remote IP connectivity. Used in conjuntion with <seealso cref="P:Jellyfin.Networking.Configuration.NetworkConfiguration.IsRemoteIPFilterBlacklist" />.
@ -69,13 +69,13 @@ public struct NetworkConfiguration: Codable {
/// Gets or sets a value indicating whether the server should force connections over HTTPS.
public var requireHTTPS: Bool?
/// Gets or sets the SSDPTracingFilter
///
///
/// Gets or sets a value indicating whether an IP address is to be used to filter the detailed ssdp logs that are being sent to the console/log.
///
///
/// If the setting "Emby.Dlna": "Debug" msut be set in logging.default.json for this property to work.
public var sSDPTracingFilter: String?
/// Gets or sets a value indicating whether all IPv6 interfaces should be treated as on the internal network.
///
///
/// Depending on the address range implemented ULA ranges might not be used.
public var isTrustAllIP6Interfaces: Bool?
/// Gets or sets the UDPPortRange.
@ -89,7 +89,42 @@ public struct NetworkConfiguration: Codable {
/// Gets or sets a value indicating the interfaces that should be ignored. The list can be comma separated. <seealso cref="P:Jellyfin.Networking.Configuration.NetworkConfiguration.IgnoreVirtualInterfaces" />.
public var virtualInterfaceNames: String?
public init(isAutoDiscovery: Bool? = nil, isAutoDiscoveryTracing: Bool? = nil, baseURL: String? = nil, certificatePassword: String? = nil, certificatePath: String? = nil, enableHTTPS: Bool? = nil, enableIPV4: Bool? = nil, enableIPV6: Bool? = nil, enableMultiSocketBinding: Bool? = nil, enablePublishedServerUriByRequest: Bool? = nil, enableRemoteAccess: Bool? = nil, enableSSDPTracing: Bool? = nil, enableUPnP: Bool? = nil, gatewayMonitorPeriod: Int32? = nil, hDHomerunPortRange: String? = nil, httpserverPortNumber: Int32? = nil, httpsPortNumber: Int32? = nil, isIgnoreVirtualInterfaces: Bool? = nil, isRemoteIPFilterBlacklist: Bool? = nil, knownProxies: [String]? = nil, localNetworkAddresses: [String]? = nil, localNetworkSubnets: [String]? = nil, publicHTTPSPort: Int32? = nil, publicPort: Int32? = nil, publishedServerUriBySubnet: [String]? = nil, remoteIPFilter: [String]? = nil, requireHTTPS: Bool? = nil, sSDPTracingFilter: String? = nil, isTrustAllIP6Interfaces: Bool? = nil, uDPPortRange: String? = nil, uDPSendCount: Int32? = nil, uDPSendDelay: Int32? = nil, isUPnPCreateHTTPPortMap: Bool? = nil, virtualInterfaceNames: String? = nil) {
public init(
isAutoDiscovery: Bool? = nil,
isAutoDiscoveryTracing: Bool? = nil,
baseURL: String? = nil,
certificatePassword: String? = nil,
certificatePath: String? = nil,
enableHTTPS: Bool? = nil,
enableIPV4: Bool? = nil,
enableIPV6: Bool? = nil,
enableMultiSocketBinding: Bool? = nil,
enablePublishedServerUriByRequest: Bool? = nil,
enableRemoteAccess: Bool? = nil,
enableSSDPTracing: Bool? = nil,
enableUPnP: Bool? = nil,
gatewayMonitorPeriod: Int32? = nil,
hDHomerunPortRange: String? = nil,
httpserverPortNumber: Int32? = nil,
httpsPortNumber: Int32? = nil,
isIgnoreVirtualInterfaces: Bool? = nil,
isRemoteIPFilterBlacklist: Bool? = nil,
knownProxies: [String]? = nil,
localNetworkAddresses: [String]? = nil,
localNetworkSubnets: [String]? = nil,
publicHTTPSPort: Int32? = nil,
publicPort: Int32? = nil,
publishedServerUriBySubnet: [String]? = nil,
remoteIPFilter: [String]? = nil,
requireHTTPS: Bool? = nil,
sSDPTracingFilter: String? = nil,
isTrustAllIP6Interfaces: Bool? = nil,
uDPPortRange: String? = nil,
uDPSendCount: Int32? = nil,
uDPSendDelay: Int32? = nil,
isUPnPCreateHTTPPortMap: Bool? = nil,
virtualInterfaceNames: String? = nil
) {
self.isAutoDiscovery = isAutoDiscovery
self.isAutoDiscoveryTracing = isAutoDiscoveryTracing
self.baseURL = baseURL

View File

@ -27,7 +27,16 @@ public struct NotificationDto: Codable, Identifiable {
/// Gets or sets the notification's user ID. Defaults to an empty string.
public var userID: String?
public init(date: Date? = nil, description: String? = nil, id: String? = nil, isRead: Bool? = nil, level: NotificationLevel? = nil, name: String? = nil, url: String? = nil, userID: String? = nil) {
public init(
date: Date? = nil,
description: String? = nil,
id: String? = nil,
isRead: Bool? = nil,
level: NotificationLevel? = nil,
name: String? = nil,
url: String? = nil,
userID: String? = nil
) {
self.date = date
self.description = description
self.id = id

View File

@ -21,7 +21,14 @@ public struct NotificationOption: Codable {
public var sendToUsers: [String]?
public var type: String?
public init(disabledMonitorUsers: [String]? = nil, disabledServices: [String]? = nil, isEnabled: Bool? = nil, sendToUserMode: SendToUserType? = nil, sendToUsers: [String]? = nil, type: String? = nil) {
public init(
disabledMonitorUsers: [String]? = nil,
disabledServices: [String]? = nil,
isEnabled: Bool? = nil,
sendToUserMode: SendToUserType? = nil,
sendToUsers: [String]? = nil,
type: String? = nil
) {
self.disabledMonitorUsers = disabledMonitorUsers
self.disabledServices = disabledServices
self.isEnabled = isEnabled

View File

@ -15,7 +15,13 @@ public struct NotificationTypeInfo: Codable {
public var name: String?
public var type: String?
public init(category: String? = nil, isEnabled: Bool? = nil, isBasedOnUserEvent: Bool? = nil, name: String? = nil, type: String? = nil) {
public init(
category: String? = nil,
isEnabled: Bool? = nil,
isBasedOnUserEvent: Bool? = nil,
name: String? = nil,
type: String? = nil
) {
self.category = category
self.isEnabled = isEnabled
self.isBasedOnUserEvent = isBasedOnUserEvent

View File

@ -13,15 +13,15 @@ public struct OpenLiveStreamDto: Codable {
/// Gets or sets the audio stream index.
public var audioStreamIndex: Int32?
/// A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.
///
///
/// <br />
///
///
/// Specifically, it defines the supported <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles">containers</see> and
///
///
/// <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles">codecs</see> (video and/or audio, including codec profiles and levels)
///
///
/// the device is able to direct play (without transcoding or remuxing),
///
///
/// as well as which <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles">containers/codecs to transcode to</see> in case it isn't.
public var deviceProfile: DeviceProfile?
/// Gets or sets the device play protocols.
@ -47,7 +47,21 @@ public struct OpenLiveStreamDto: Codable {
/// Gets or sets the user id.
public var userID: String?
public init(audioStreamIndex: Int32? = nil, deviceProfile: DeviceProfile? = nil, directPlayProtocols: [MediaProtocol]? = nil, enableDirectPlay: Bool? = nil, enableDirectStream: Bool? = nil, itemID: String? = nil, maxAudioChannels: Int32? = nil, maxStreamingBitrate: Int32? = nil, openToken: String? = nil, playSessionID: String? = nil, startTimeTicks: Int64? = nil, subtitleStreamIndex: Int32? = nil, userID: String? = nil) {
public init(
audioStreamIndex: Int32? = nil,
deviceProfile: DeviceProfile? = nil,
directPlayProtocols: [MediaProtocol]? = nil,
enableDirectPlay: Bool? = nil,
enableDirectStream: Bool? = nil,
itemID: String? = nil,
maxAudioChannels: Int32? = nil,
maxStreamingBitrate: Int32? = nil,
openToken: String? = nil,
playSessionID: String? = nil,
startTimeTicks: Int64? = nil,
subtitleStreamIndex: Int32? = nil,
userID: String? = nil
) {
self.audioStreamIndex = audioStreamIndex
self.deviceProfile = deviceProfile
self.directPlayProtocols = directPlayProtocols

View File

@ -15,7 +15,7 @@ public struct PackageInfo: Codable {
/// Gets or sets a long description of the plugin containing features or helpful explanations.
public var description: String?
/// Gets or sets the guid of the assembly associated with this plugin.
///
///
/// This is used to identify the proper item for automatic updates.
public var guid: String?
/// Gets or sets the image url for the package.
@ -29,7 +29,16 @@ public struct PackageInfo: Codable {
/// Gets or sets the versions.
public var versions: [VersionInfo]?
public init(category: String? = nil, description: String? = nil, guid: String? = nil, imageURL: String? = nil, name: String? = nil, overview: String? = nil, owner: String? = nil, versions: [VersionInfo]? = nil) {
public init(
category: String? = nil,
description: String? = nil,
guid: String? = nil,
imageURL: String? = nil,
name: String? = nil,
overview: String? = nil,
owner: String? = nil,
versions: [VersionInfo]? = nil
) {
self.category = category
self.description = description
self.guid = guid

View File

@ -28,7 +28,19 @@ public struct PersonLookupInfo: Codable {
/// Gets or sets the year.
public var year: Int32?
public init(indexNumber: Int32? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, parentIndexNumber: Int32? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, year: Int32? = nil) {
public init(
indexNumber: Int32? = nil,
isAutomated: Bool? = nil,
metadataCountryCode: String? = nil,
metadataLanguage: String? = nil,
name: String? = nil,
originalTitle: String? = nil,
parentIndexNumber: Int32? = nil,
path: String? = nil,
premiereDate: Date? = nil,
providerIDs: [String: String]? = nil,
year: Int32? = nil
) {
self.indexNumber = indexNumber
self.isAutomated = isAutomated
self.metadataCountryCode = metadataCountryCode

View File

@ -16,7 +16,12 @@ public struct PersonLookupInfoRemoteSearchQuery: Codable {
/// Gets or sets the provider name to search within if set.
public var searchProviderName: String?
public init(isIncludeDisabledProviders: Bool? = nil, itemID: String? = nil, searchInfo: PersonLookupInfo? = nil, searchProviderName: String? = nil) {
public init(
isIncludeDisabledProviders: Bool? = nil,
itemID: String? = nil,
searchInfo: PersonLookupInfo? = nil,
searchProviderName: String? = nil
) {
self.isIncludeDisabledProviders = isIncludeDisabledProviders
self.itemID = itemID
self.searchInfo = searchInfo

View File

@ -10,5 +10,5 @@ import Foundation
public enum PlayAccess: String, Codable, CaseIterable {
case full = "Full"
case `none` = "None"
case none = "None"
}

View File

@ -23,7 +23,16 @@ public struct PlayRequest: Codable {
public var startPositionTicks: Int64?
public var subtitleStreamIndex: Int32?
public init(audioStreamIndex: Int32? = nil, controllingUserID: String? = nil, itemIDs: [String]? = nil, mediaSourceID: String? = nil, playCommand: PlayCommand? = nil, startIndex: Int32? = nil, startPositionTicks: Int64? = nil, subtitleStreamIndex: Int32? = nil) {
public init(
audioStreamIndex: Int32? = nil,
controllingUserID: String? = nil,
itemIDs: [String]? = nil,
mediaSourceID: String? = nil,
playCommand: PlayCommand? = nil,
startIndex: Int32? = nil,
startPositionTicks: Int64? = nil,
subtitleStreamIndex: Int32? = nil
) {
self.audioStreamIndex = audioStreamIndex
self.controllingUserID = controllingUserID
self.itemIDs = itemIDs

View File

@ -19,15 +19,15 @@ public struct PlaybackInfoDto: Codable {
/// Gets or sets a value indicating whether to auto open the live stream.
public var isAutoOpenLiveStream: Bool?
/// A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.
///
///
/// <br />
///
///
/// Specifically, it defines the supported <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles">containers</see> and
///
///
/// <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles">codecs</see> (video and/or audio, including codec profiles and levels)
///
///
/// the device is able to direct play (without transcoding or remuxing),
///
///
/// as well as which <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles">containers/codecs to transcode to</see> in case it isn't.
public var deviceProfile: DeviceProfile?
/// Gets or sets a value indicating whether to enable direct play.
@ -51,7 +51,23 @@ public struct PlaybackInfoDto: Codable {
/// Gets or sets the playback userId.
public var userID: String?
public init(allowAudioStreamCopy: Bool? = nil, allowVideoStreamCopy: Bool? = nil, audioStreamIndex: Int32? = nil, isAutoOpenLiveStream: Bool? = nil, deviceProfile: DeviceProfile? = nil, enableDirectPlay: Bool? = nil, enableDirectStream: Bool? = nil, enableTranscoding: Bool? = nil, liveStreamID: String? = nil, maxAudioChannels: Int32? = nil, maxStreamingBitrate: Int32? = nil, mediaSourceID: String? = nil, startTimeTicks: Int64? = nil, subtitleStreamIndex: Int32? = nil, userID: String? = nil) {
public init(
allowAudioStreamCopy: Bool? = nil,
allowVideoStreamCopy: Bool? = nil,
audioStreamIndex: Int32? = nil,
isAutoOpenLiveStream: Bool? = nil,
deviceProfile: DeviceProfile? = nil,
enableDirectPlay: Bool? = nil,
enableDirectStream: Bool? = nil,
enableTranscoding: Bool? = nil,
liveStreamID: String? = nil,
maxAudioChannels: Int32? = nil,
maxStreamingBitrate: Int32? = nil,
mediaSourceID: String? = nil,
startTimeTicks: Int64? = nil,
subtitleStreamIndex: Int32? = nil,
userID: String? = nil
) {
self.allowAudioStreamCopy = allowAudioStreamCopy
self.allowVideoStreamCopy = allowVideoStreamCopy
self.audioStreamIndex = audioStreamIndex

View File

@ -46,7 +46,28 @@ public struct PlaybackProgressInfo: Codable {
/// Gets or sets the volume level.
public var volumeLevel: Int32?
public init(aspectRatio: String? = nil, audioStreamIndex: Int32? = nil, brightness: Int32? = nil, canSeek: Bool? = nil, isMuted: Bool? = nil, isPaused: Bool? = nil, item: BaseItemDto? = nil, itemID: String? = nil, liveStreamID: String? = nil, mediaSourceID: String? = nil, nowPlayingQueue: [QueueItem]? = nil, playMethod: PlayMethod? = nil, playSessionID: String? = nil, playbackStartTimeTicks: Int64? = nil, playlistItemID: String? = nil, positionTicks: Int64? = nil, repeatMode: RepeatMode? = nil, sessionID: String? = nil, subtitleStreamIndex: Int32? = nil, volumeLevel: Int32? = nil) {
public init(
aspectRatio: String? = nil,
audioStreamIndex: Int32? = nil,
brightness: Int32? = nil,
canSeek: Bool? = nil,
isMuted: Bool? = nil,
isPaused: Bool? = nil,
item: BaseItemDto? = nil,
itemID: String? = nil,
liveStreamID: String? = nil,
mediaSourceID: String? = nil,
nowPlayingQueue: [QueueItem]? = nil,
playMethod: PlayMethod? = nil,
playSessionID: String? = nil,
playbackStartTimeTicks: Int64? = nil,
playlistItemID: String? = nil,
positionTicks: Int64? = nil,
repeatMode: RepeatMode? = nil,
sessionID: String? = nil,
subtitleStreamIndex: Int32? = nil,
volumeLevel: Int32? = nil
) {
self.aspectRatio = aspectRatio
self.audioStreamIndex = audioStreamIndex
self.brightness = brightness

View File

@ -46,7 +46,28 @@ public struct PlaybackStartInfo: Codable {
/// Gets or sets the volume level.
public var volumeLevel: Int32?
public init(aspectRatio: String? = nil, audioStreamIndex: Int32? = nil, brightness: Int32? = nil, canSeek: Bool? = nil, isMuted: Bool? = nil, isPaused: Bool? = nil, item: BaseItemDto? = nil, itemID: String? = nil, liveStreamID: String? = nil, mediaSourceID: String? = nil, nowPlayingQueue: [QueueItem]? = nil, playMethod: PlayMethod? = nil, playSessionID: String? = nil, playbackStartTimeTicks: Int64? = nil, playlistItemID: String? = nil, positionTicks: Int64? = nil, repeatMode: RepeatMode? = nil, sessionID: String? = nil, subtitleStreamIndex: Int32? = nil, volumeLevel: Int32? = nil) {
public init(
aspectRatio: String? = nil,
audioStreamIndex: Int32? = nil,
brightness: Int32? = nil,
canSeek: Bool? = nil,
isMuted: Bool? = nil,
isPaused: Bool? = nil,
item: BaseItemDto? = nil,
itemID: String? = nil,
liveStreamID: String? = nil,
mediaSourceID: String? = nil,
nowPlayingQueue: [QueueItem]? = nil,
playMethod: PlayMethod? = nil,
playSessionID: String? = nil,
playbackStartTimeTicks: Int64? = nil,
playlistItemID: String? = nil,
positionTicks: Int64? = nil,
repeatMode: RepeatMode? = nil,
sessionID: String? = nil,
subtitleStreamIndex: Int32? = nil,
volumeLevel: Int32? = nil
) {
self.aspectRatio = aspectRatio
self.audioStreamIndex = audioStreamIndex
self.brightness = brightness

View File

@ -30,7 +30,19 @@ public struct PlaybackStopInfo: Codable {
/// Gets or sets the session id.
public var sessionID: String?
public init(isFailed: Bool? = nil, item: BaseItemDto? = nil, itemID: String? = nil, liveStreamID: String? = nil, mediaSourceID: String? = nil, nextMediaType: String? = nil, nowPlayingQueue: [QueueItem]? = nil, playSessionID: String? = nil, playlistItemID: String? = nil, positionTicks: Int64? = nil, sessionID: String? = nil) {
public init(
isFailed: Bool? = nil,
item: BaseItemDto? = nil,
itemID: String? = nil,
liveStreamID: String? = nil,
mediaSourceID: String? = nil,
nextMediaType: String? = nil,
nowPlayingQueue: [QueueItem]? = nil,
playSessionID: String? = nil,
playlistItemID: String? = nil,
positionTicks: Int64? = nil,
sessionID: String? = nil
) {
self.isFailed = isFailed
self.item = item
self.itemID = itemID

View File

@ -32,7 +32,19 @@ public struct PlayerStateInfo: Codable {
/// Gets or sets the volume level.
public var volumeLevel: Int32?
public init(audioStreamIndex: Int32? = nil, canSeek: Bool? = nil, isMuted: Bool? = nil, isPaused: Bool? = nil, liveStreamID: String? = nil, mediaSourceID: String? = nil, playMethod: PlayMethod? = nil, positionTicks: Int64? = nil, repeatMode: RepeatMode? = nil, subtitleStreamIndex: Int32? = nil, volumeLevel: Int32? = nil) {
public init(
audioStreamIndex: Int32? = nil,
canSeek: Bool? = nil,
isMuted: Bool? = nil,
isPaused: Bool? = nil,
liveStreamID: String? = nil,
mediaSourceID: String? = nil,
playMethod: PlayMethod? = nil,
positionTicks: Int64? = nil,
repeatMode: RepeatMode? = nil,
subtitleStreamIndex: Int32? = nil,
volumeLevel: Int32? = nil
) {
self.audioStreamIndex = audioStreamIndex
self.canSeek = canSeek
self.isMuted = isMuted

View File

@ -27,7 +27,16 @@ public struct PluginInfo: Codable, Identifiable {
/// Gets or sets the version.
public var version: String?
public init(canUninstall: Bool? = nil, configurationFileName: String? = nil, description: String? = nil, hasImage: Bool? = nil, id: String? = nil, name: String? = nil, status: PluginStatus? = nil, version: String? = nil) {
public init(
canUninstall: Bool? = nil,
configurationFileName: String? = nil,
description: String? = nil,
hasImage: Bool? = nil,
id: String? = nil,
name: String? = nil,
status: PluginStatus? = nil,
version: String? = nil
) {
self.canUninstall = canUninstall
self.configurationFileName = configurationFileName
self.description = description

View File

@ -14,7 +14,12 @@ public struct ProfileCondition: Codable {
public var property: ProfileConditionValue?
public var value: String?
public init(condition: ProfileConditionType? = nil, isRequired: Bool? = nil, property: ProfileConditionValue? = nil, value: String? = nil) {
public init(
condition: ProfileConditionType? = nil,
isRequired: Bool? = nil,
property: ProfileConditionValue? = nil,
value: String? = nil
) {
self.condition = condition
self.isRequired = isRequired
self.property = property

View File

@ -24,7 +24,15 @@ public struct PublicSystemInfo: Codable, Identifiable {
/// Gets or sets the server version.
public var version: String?
public init(id: String? = nil, localAddress: String? = nil, operatingSystem: String? = nil, productName: String? = nil, serverName: String? = nil, isStartupWizardCompleted: Bool? = nil, version: String? = nil) {
public init(
id: String? = nil,
localAddress: String? = nil,
operatingSystem: String? = nil,
productName: String? = nil,
serverName: String? = nil,
isStartupWizardCompleted: Bool? = nil,
version: String? = nil
) {
self.id = id
self.localAddress = localAddress
self.operatingSystem = operatingSystem

View File

@ -27,7 +27,16 @@ public struct QuickConnectResult: Codable {
/// Gets the secret value used to uniquely identify this request. Can be used to retrieve authentication information.
public var secret: String?
public init(appName: String? = nil, appVersion: String? = nil, isAuthenticated: Bool? = nil, code: String? = nil, dateAdded: Date? = nil, deviceID: String? = nil, deviceName: String? = nil, secret: String? = nil) {
public init(
appName: String? = nil,
appVersion: String? = nil,
isAuthenticated: Bool? = nil,
code: String? = nil,
dateAdded: Date? = nil,
deviceID: String? = nil,
deviceName: String? = nil,
secret: String? = nil
) {
self.appName = appName
self.appVersion = appVersion
self.isAuthenticated = isAuthenticated

View File

@ -14,7 +14,12 @@ public struct RecommendationDto: Codable {
public var items: [BaseItemDto]?
public var recommendationType: RecommendationType?
public init(baselineItemName: String? = nil, categoryID: String? = nil, items: [BaseItemDto]? = nil, recommendationType: RecommendationType? = nil) {
public init(
baselineItemName: String? = nil,
categoryID: String? = nil,
items: [BaseItemDto]? = nil,
recommendationType: RecommendationType? = nil
) {
self.baselineItemName = baselineItemName
self.categoryID = categoryID
self.items = items

View File

@ -31,7 +31,18 @@ public struct RemoteImageInfo: Codable {
/// Gets or sets the width.
public var width: Int32?
public init(communityRating: Double? = nil, height: Int32? = nil, language: String? = nil, providerName: String? = nil, ratingType: RatingType? = nil, thumbnailURL: String? = nil, type: ImageType? = nil, url: String? = nil, voteCount: Int32? = nil, width: Int32? = nil) {
public init(
communityRating: Double? = nil,
height: Int32? = nil,
language: String? = nil,
providerName: String? = nil,
ratingType: RatingType? = nil,
thumbnailURL: String? = nil,
type: ImageType? = nil,
url: String? = nil,
voteCount: Int32? = nil,
width: Int32? = nil
) {
self.communityRating = communityRating
self.height = height
self.language = language

View File

@ -25,7 +25,20 @@ public final class RemoteSearchResult: Codable {
public let providerIDs: [String: String]?
public let searchProviderName: String?
public init(albumArtist: RemoteSearchResult? = nil, artists: [RemoteSearchResult]? = nil, imageURL: String? = nil, indexNumber: Int32? = nil, indexNumberEnd: Int32? = nil, name: String? = nil, overview: String? = nil, parentIndexNumber: Int32? = nil, premiereDate: Date? = nil, productionYear: Int32? = nil, providerIDs: [String: String]? = nil, searchProviderName: String? = nil) {
public init(
albumArtist: RemoteSearchResult? = nil,
artists: [RemoteSearchResult]? = nil,
imageURL: String? = nil,
indexNumber: Int32? = nil,
indexNumberEnd: Int32? = nil,
name: String? = nil,
overview: String? = nil,
parentIndexNumber: Int32? = nil,
premiereDate: Date? = nil,
productionYear: Int32? = nil,
providerIDs: [String: String]? = nil,
searchProviderName: String? = nil
) {
self.albumArtist = albumArtist
self.artists = artists
self.imageURL = imageURL

View File

@ -21,7 +21,19 @@ public struct RemoteSubtitleInfo: Codable, Identifiable {
public var providerName: String?
public var threeLetterISOLanguageName: String?
public init(author: String? = nil, comment: String? = nil, communityRating: Float? = nil, dateCreated: Date? = nil, downloadCount: Int32? = nil, format: String? = nil, id: String? = nil, isHashMatch: Bool? = nil, name: String? = nil, providerName: String? = nil, threeLetterISOLanguageName: String? = nil) {
public init(
author: String? = nil,
comment: String? = nil,
communityRating: Float? = nil,
dateCreated: Date? = nil,
downloadCount: Int32? = nil,
format: String? = nil,
id: String? = nil,
isHashMatch: Bool? = nil,
name: String? = nil,
providerName: String? = nil,
threeLetterISOLanguageName: String? = nil
) {
self.author = author
self.comment = comment
self.communityRating = communityRating

View File

@ -17,7 +17,15 @@ public struct ResponseProfile: Codable {
public var type: DlnaProfileType?
public var videoCodec: String?
public init(audioCodec: String? = nil, conditions: [ProfileCondition]? = nil, container: String? = nil, mimeType: String? = nil, orgPn: String? = nil, type: DlnaProfileType? = nil, videoCodec: String? = nil) {
public init(
audioCodec: String? = nil,
conditions: [ProfileCondition]? = nil,
container: String? = nil,
mimeType: String? = nil,
orgPn: String? = nil,
type: DlnaProfileType? = nil,
videoCodec: String? = nil
) {
self.audioCodec = audioCodec
self.conditions = conditions
self.container = container

View File

@ -63,7 +63,37 @@ public struct SearchHint: Codable, Identifiable {
/// Gets or sets the type.
public var type: String?
public init(album: String? = nil, albumArtist: String? = nil, albumID: String? = nil, artists: [String]? = nil, backdropImageItemID: String? = nil, backdropImageTag: String? = nil, channelID: String? = nil, channelName: String? = nil, endDate: Date? = nil, episodeCount: Int32? = nil, id: String? = nil, indexNumber: Int32? = nil, isFolder: Bool? = nil, itemID: String? = nil, matchedTerm: String? = nil, mediaType: String? = nil, name: String? = nil, parentIndexNumber: Int32? = nil, primaryImageAspectRatio: Double? = nil, primaryImageTag: String? = nil, productionYear: Int32? = nil, runTimeTicks: Int64? = nil, series: String? = nil, songCount: Int32? = nil, startDate: Date? = nil, status: String? = nil, thumbImageItemID: String? = nil, thumbImageTag: String? = nil, type: String? = nil) {
public init(
album: String? = nil,
albumArtist: String? = nil,
albumID: String? = nil,
artists: [String]? = nil,
backdropImageItemID: String? = nil,
backdropImageTag: String? = nil,
channelID: String? = nil,
channelName: String? = nil,
endDate: Date? = nil,
episodeCount: Int32? = nil,
id: String? = nil,
indexNumber: Int32? = nil,
isFolder: Bool? = nil,
itemID: String? = nil,
matchedTerm: String? = nil,
mediaType: String? = nil,
name: String? = nil,
parentIndexNumber: Int32? = nil,
primaryImageAspectRatio: Double? = nil,
primaryImageTag: String? = nil,
productionYear: Int32? = nil,
runTimeTicks: Int64? = nil,
series: String? = nil,
songCount: Int32? = nil,
startDate: Date? = nil,
status: String? = nil,
thumbImageItemID: String? = nil,
thumbImageTag: String? = nil,
type: String? = nil
) {
self.album = album
self.albumArtist = albumArtist
self.albumID = albumID

View File

@ -23,7 +23,14 @@ public struct SendCommand: Codable {
/// Gets or sets the UTC time when to execute the command.
public var when: Date?
public init(command: SendCommandType? = nil, emittedAt: Date? = nil, groupID: String? = nil, playlistItemID: String? = nil, positionTicks: Int64? = nil, when: Date? = nil) {
public init(
command: SendCommandType? = nil,
emittedAt: Date? = nil,
groupID: String? = nil,
playlistItemID: String? = nil,
positionTicks: Int64? = nil,
when: Date? = nil
) {
self.command = command
self.emittedAt = emittedAt
self.groupID = groupID

View File

@ -28,7 +28,19 @@ public struct SeriesInfo: Codable {
/// Gets or sets the year.
public var year: Int32?
public init(indexNumber: Int32? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, parentIndexNumber: Int32? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, year: Int32? = nil) {
public init(
indexNumber: Int32? = nil,
isAutomated: Bool? = nil,
metadataCountryCode: String? = nil,
metadataLanguage: String? = nil,
name: String? = nil,
originalTitle: String? = nil,
parentIndexNumber: Int32? = nil,
path: String? = nil,
premiereDate: Date? = nil,
providerIDs: [String: String]? = nil,
year: Int32? = nil
) {
self.indexNumber = indexNumber
self.isAutomated = isAutomated
self.metadataCountryCode = metadataCountryCode

View File

@ -16,7 +16,12 @@ public struct SeriesInfoRemoteSearchQuery: Codable {
/// Gets or sets the provider name to search within if set.
public var searchProviderName: String?
public init(isIncludeDisabledProviders: Bool? = nil, itemID: String? = nil, searchInfo: SeriesInfo? = nil, searchProviderName: String? = nil) {
public init(
isIncludeDisabledProviders: Bool? = nil,
itemID: String? = nil,
searchInfo: SeriesInfo? = nil,
searchProviderName: String? = nil
) {
self.isIncludeDisabledProviders = isIncludeDisabledProviders
self.itemID = itemID
self.searchInfo = searchInfo

View File

@ -76,7 +76,43 @@ public struct SeriesTimerInfoDto: Codable, Identifiable {
public var startDate: Date?
public var type: String?
public init(channelID: String? = nil, channelName: String? = nil, channelPrimaryImageTag: String? = nil, dayPattern: DayPattern? = nil, days: [DayOfWeek]? = nil, endDate: Date? = nil, externalChannelID: String? = nil, externalID: String? = nil, externalProgramID: String? = nil, id: String? = nil, imageTags: [String: String]? = nil, isPostPaddingRequired: Bool? = nil, isPrePaddingRequired: Bool? = nil, keepUntil: KeepUntil? = nil, keepUpTo: Int32? = nil, name: String? = nil, overview: String? = nil, parentBackdropImageTags: [String]? = nil, parentBackdropItemID: String? = nil, parentPrimaryImageItemID: String? = nil, parentPrimaryImageTag: String? = nil, parentThumbImageTag: String? = nil, parentThumbItemID: String? = nil, postPaddingSeconds: Int32? = nil, prePaddingSeconds: Int32? = nil, priority: Int32? = nil, programID: String? = nil, isRecordAnyChannel: Bool? = nil, isRecordAnyTime: Bool? = nil, isRecordNewOnly: Bool? = nil, serverID: String? = nil, serviceName: String? = nil, isSkipEpisodesInLibrary: Bool? = nil, startDate: Date? = nil, type: String? = nil) {
public init(
channelID: String? = nil,
channelName: String? = nil,
channelPrimaryImageTag: String? = nil,
dayPattern: DayPattern? = nil,
days: [DayOfWeek]? = nil,
endDate: Date? = nil,
externalChannelID: String? = nil,
externalID: String? = nil,
externalProgramID: String? = nil,
id: String? = nil,
imageTags: [String: String]? = nil,
isPostPaddingRequired: Bool? = nil,
isPrePaddingRequired: Bool? = nil,
keepUntil: KeepUntil? = nil,
keepUpTo: Int32? = nil,
name: String? = nil,
overview: String? = nil,
parentBackdropImageTags: [String]? = nil,
parentBackdropItemID: String? = nil,
parentPrimaryImageItemID: String? = nil,
parentPrimaryImageTag: String? = nil,
parentThumbImageTag: String? = nil,
parentThumbItemID: String? = nil,
postPaddingSeconds: Int32? = nil,
prePaddingSeconds: Int32? = nil,
priority: Int32? = nil,
programID: String? = nil,
isRecordAnyChannel: Bool? = nil,
isRecordAnyTime: Bool? = nil,
isRecordNewOnly: Bool? = nil,
serverID: String? = nil,
serviceName: String? = nil,
isSkipEpisodesInLibrary: Bool? = nil,
startDate: Date? = nil,
type: String? = nil
) {
self.channelID = channelID
self.channelName = channelName
self.channelPrimaryImageTag = channelPrimaryImageTag

View File

@ -42,9 +42,9 @@ public struct ServerConfiguration: Codable {
/// Gets or sets the how many metadata refreshes can run concurrently.
public var libraryMetadataRefreshConcurrency: Int32?
/// Gets or sets the delay in seconds that we will wait after a file system change to try and discover what has been added/removed
///
///
/// Some delay is necessary with some items because their creation is not atomic. It involves the creation of several
///
///
/// different directories and files.
public var libraryMonitorDelay: Int32?
/// Gets or sets the how the library scan fans out.
@ -74,7 +74,7 @@ public struct ServerConfiguration: Codable {
/// Gets or sets the last known version that was ran using the configuration.
public var previousVersion: String?
/// Gets or sets the stringified PreviousVersion to be stored/loaded,
///
///
/// because System.Version itself isn't xml-serializable.
public var previousVersionStr: String?
/// Gets or sets a value indicating whether quick connect is available for use on this server.
@ -95,7 +95,56 @@ public struct ServerConfiguration: Codable {
public var sortReplaceCharacters: [String]?
public var uICulture: String?
public init(activityLogRetentionDays: Int32? = nil, allowClientLogUpload: Bool? = nil, cachePath: String? = nil, codecsUsed: [String]? = nil, contentTypes: [NameValuePair]? = nil, corsHosts: [String]? = nil, isDisableLiveTvChannelUserDataName: Bool? = nil, isDisplaySpecialsWithinSeasons: Bool? = nil, enableCaseSensitiveItemIDs: Bool? = nil, enableExternalContentInSuggestions: Bool? = nil, enableFolderView: Bool? = nil, enableGroupingIntoCollections: Bool? = nil, enableMetrics: Bool? = nil, enableNormalizedItemByNameIDs: Bool? = nil, enableSlowResponseWarning: Bool? = nil, imageExtractionTimeoutMs: Int32? = nil, imageSavingConvention: ImageSavingConvention? = nil, isPortAuthorized: Bool? = nil, isStartupWizardCompleted: Bool? = nil, libraryMetadataRefreshConcurrency: Int32? = nil, libraryMonitorDelay: Int32? = nil, libraryScanFanoutConcurrency: Int32? = nil, logFileRetentionDays: Int32? = nil, maxAudiobookResume: Int32? = nil, maxResumePct: Int32? = nil, metadataCountryCode: String? = nil, metadataNetworkPath: String? = nil, metadataOptions: [MetadataOptions]? = nil, metadataPath: String? = nil, minAudiobookResume: Int32? = nil, minResumeDurationSeconds: Int32? = nil, minResumePct: Int32? = nil, pathSubstitutions: [PathSubstitution]? = nil, pluginRepositories: [RepositoryInfo]? = nil, preferredMetadataLanguage: String? = nil, previousVersion: String? = nil, previousVersionStr: String? = nil, isQuickConnectAvailable: Bool? = nil, remoteClientBitrateLimit: Int32? = nil, isRemoveOldPlugins: Bool? = nil, isSaveMetadataHidden: Bool? = nil, serverName: String? = nil, isSkipDeserializationForBasicTypes: Bool? = nil, slowResponseThresholdMs: Int64? = nil, sortRemoveCharacters: [String]? = nil, sortRemoveWords: [String]? = nil, sortReplaceCharacters: [String]? = nil, uICulture: String? = nil) {
public init(
activityLogRetentionDays: Int32? = nil,
allowClientLogUpload: Bool? = nil,
cachePath: String? = nil,
codecsUsed: [String]? = nil,
contentTypes: [NameValuePair]? = nil,
corsHosts: [String]? = nil,
isDisableLiveTvChannelUserDataName: Bool? = nil,
isDisplaySpecialsWithinSeasons: Bool? = nil,
enableCaseSensitiveItemIDs: Bool? = nil,
enableExternalContentInSuggestions: Bool? = nil,
enableFolderView: Bool? = nil,
enableGroupingIntoCollections: Bool? = nil,
enableMetrics: Bool? = nil,
enableNormalizedItemByNameIDs: Bool? = nil,
enableSlowResponseWarning: Bool? = nil,
imageExtractionTimeoutMs: Int32? = nil,
imageSavingConvention: ImageSavingConvention? = nil,
isPortAuthorized: Bool? = nil,
isStartupWizardCompleted: Bool? = nil,
libraryMetadataRefreshConcurrency: Int32? = nil,
libraryMonitorDelay: Int32? = nil,
libraryScanFanoutConcurrency: Int32? = nil,
logFileRetentionDays: Int32? = nil,
maxAudiobookResume: Int32? = nil,
maxResumePct: Int32? = nil,
metadataCountryCode: String? = nil,
metadataNetworkPath: String? = nil,
metadataOptions: [MetadataOptions]? = nil,
metadataPath: String? = nil,
minAudiobookResume: Int32? = nil,
minResumeDurationSeconds: Int32? = nil,
minResumePct: Int32? = nil,
pathSubstitutions: [PathSubstitution]? = nil,
pluginRepositories: [RepositoryInfo]? = nil,
preferredMetadataLanguage: String? = nil,
previousVersion: String? = nil,
previousVersionStr: String? = nil,
isQuickConnectAvailable: Bool? = nil,
remoteClientBitrateLimit: Int32? = nil,
isRemoveOldPlugins: Bool? = nil,
isSaveMetadataHidden: Bool? = nil,
serverName: String? = nil,
isSkipDeserializationForBasicTypes: Bool? = nil,
slowResponseThresholdMs: Int64? = nil,
sortRemoveCharacters: [String]? = nil,
sortRemoveWords: [String]? = nil,
sortReplaceCharacters: [String]? = nil,
uICulture: String? = nil
) {
self.activityLogRetentionDays = activityLogRetentionDays
self.allowClientLogUpload = allowClientLogUpload
self.cachePath = cachePath

View File

@ -34,13 +34,13 @@ public struct SessionInfo: Codable, Identifiable {
/// Gets or sets the last playback check in.
public var lastPlaybackCheckIn: Date?
/// This is strictly used as a data transfer object from the api layer.
///
///
/// This holds information about a BaseItem in a format that is convenient for the client.
public var nowPlayingItem: BaseItemDto?
public var nowPlayingQueue: [QueueItem]?
public var nowPlayingQueueFullItems: [BaseItemDto]?
/// This is strictly used as a data transfer object from the api layer.
///
///
/// This holds information about a BaseItem in a format that is convenient for the client.
public var nowViewingItem: BaseItemDto?
public var playState: PlayerStateInfo?
@ -61,7 +61,37 @@ public struct SessionInfo: Codable, Identifiable {
public var userName: String?
public var userPrimaryImageTag: String?
public init(additionalUsers: [SessionUserInfo]? = nil, applicationVersion: String? = nil, capabilities: ClientCapabilities? = nil, client: String? = nil, deviceID: String? = nil, deviceName: String? = nil, deviceType: String? = nil, fullNowPlayingItem: BaseItem? = nil, hasCustomDeviceName: Bool? = nil, id: String? = nil, isActive: Bool? = nil, lastActivityDate: Date? = nil, lastPlaybackCheckIn: Date? = nil, nowPlayingItem: BaseItemDto? = nil, nowPlayingQueue: [QueueItem]? = nil, nowPlayingQueueFullItems: [BaseItemDto]? = nil, nowViewingItem: BaseItemDto? = nil, playState: PlayerStateInfo? = nil, playableMediaTypes: [String]? = nil, playlistItemID: String? = nil, remoteEndPoint: String? = nil, serverID: String? = nil, supportedCommands: [GeneralCommandType]? = nil, isSupportsMediaControl: Bool? = nil, isSupportsRemoteControl: Bool? = nil, transcodingInfo: TranscodingInfo? = nil, userID: String? = nil, userName: String? = nil, userPrimaryImageTag: String? = nil) {
public init(
additionalUsers: [SessionUserInfo]? = nil,
applicationVersion: String? = nil,
capabilities: ClientCapabilities? = nil,
client: String? = nil,
deviceID: String? = nil,
deviceName: String? = nil,
deviceType: String? = nil,
fullNowPlayingItem: BaseItem? = nil,
hasCustomDeviceName: Bool? = nil,
id: String? = nil,
isActive: Bool? = nil,
lastActivityDate: Date? = nil,
lastPlaybackCheckIn: Date? = nil,
nowPlayingItem: BaseItemDto? = nil,
nowPlayingQueue: [QueueItem]? = nil,
nowPlayingQueueFullItems: [BaseItemDto]? = nil,
nowViewingItem: BaseItemDto? = nil,
playState: PlayerStateInfo? = nil,
playableMediaTypes: [String]? = nil,
playlistItemID: String? = nil,
remoteEndPoint: String? = nil,
serverID: String? = nil,
supportedCommands: [GeneralCommandType]? = nil,
isSupportsMediaControl: Bool? = nil,
isSupportsRemoteControl: Bool? = nil,
transcodingInfo: TranscodingInfo? = nil,
userID: String? = nil,
userName: String? = nil,
userPrimaryImageTag: String? = nil
) {
self.additionalUsers = additionalUsers
self.applicationVersion = applicationVersion
self.capabilities = capabilities

View File

@ -31,7 +31,22 @@ public struct SongInfo: Codable {
/// Gets or sets the year.
public var year: Int32?
public init(album: String? = nil, albumArtists: [String]? = nil, artists: [String]? = nil, indexNumber: Int32? = nil, isAutomated: Bool? = nil, metadataCountryCode: String? = nil, metadataLanguage: String? = nil, name: String? = nil, originalTitle: String? = nil, parentIndexNumber: Int32? = nil, path: String? = nil, premiereDate: Date? = nil, providerIDs: [String: String]? = nil, year: Int32? = nil) {
public init(
album: String? = nil,
albumArtists: [String]? = nil,
artists: [String]? = nil,
indexNumber: Int32? = nil,
isAutomated: Bool? = nil,
metadataCountryCode: String? = nil,
metadataLanguage: String? = nil,
name: String? = nil,
originalTitle: String? = nil,
parentIndexNumber: Int32? = nil,
path: String? = nil,
premiereDate: Date? = nil,
providerIDs: [String: String]? = nil,
year: Int32? = nil
) {
self.album = album
self.albumArtists = albumArtists
self.artists = artists

View File

@ -19,7 +19,17 @@ public struct SubtitleOptions: Codable {
public var isSkipIfAudioTrackMatches: Bool?
public var isSkipIfEmbeddedSubtitlesPresent: Bool?
public init(isDownloadEpisodeSubtitles: Bool? = nil, downloadLanguages: [String]? = nil, isDownloadMovieSubtitles: Bool? = nil, isOpenSubtitleVipAccount: Bool? = nil, openSubtitlesPasswordHash: String? = nil, openSubtitlesUsername: String? = nil, requirePerfectMatch: Bool? = nil, isSkipIfAudioTrackMatches: Bool? = nil, isSkipIfEmbeddedSubtitlesPresent: Bool? = nil) {
public init(
isDownloadEpisodeSubtitles: Bool? = nil,
downloadLanguages: [String]? = nil,
isDownloadMovieSubtitles: Bool? = nil,
isOpenSubtitleVipAccount: Bool? = nil,
openSubtitlesPasswordHash: String? = nil,
openSubtitlesUsername: String? = nil,
requirePerfectMatch: Bool? = nil,
isSkipIfAudioTrackMatches: Bool? = nil,
isSkipIfEmbeddedSubtitlesPresent: Bool? = nil
) {
self.isDownloadEpisodeSubtitles = isDownloadEpisodeSubtitles
self.downloadLanguages = downloadLanguages
self.isDownloadMovieSubtitles = isDownloadMovieSubtitles

View File

@ -13,6 +13,6 @@ public enum SubtitlePlaybackMode: String, Codable, CaseIterable {
case `default` = "Default"
case always = "Always"
case onlyForced = "OnlyForced"
case `none` = "None"
case none = "None"
case smart = "Smart"
}

View File

@ -16,7 +16,13 @@ public struct SubtitleProfile: Codable {
/// Delivery method to use during playback of a specific subtitle format.
public var method: SubtitleDeliveryMethod?
public init(container: String? = nil, didlMode: String? = nil, format: String? = nil, language: String? = nil, method: SubtitleDeliveryMethod? = nil) {
public init(
container: String? = nil,
didlMode: String? = nil,
format: String? = nil,
language: String? = nil,
method: SubtitleDeliveryMethod? = nil
) {
self.container = container
self.didlMode = didlMode
self.format = format

View File

@ -12,5 +12,5 @@ import Foundation
public enum SyncPlayUserAccessType: String, Codable, CaseIterable {
case createAndJoinGroups = "CreateAndJoinGroups"
case joinGroups = "JoinGroups"
case `none` = "None"
case none = "None"
}

View File

@ -64,7 +64,34 @@ public struct SystemInfo: Codable, Identifiable {
/// Gets or sets the web socket port number.
public var webSocketPortNumber: Int32?
public init(cachePath: String? = nil, canLaunchWebBrowser: Bool? = nil, canSelfRestart: Bool? = nil, completedInstallations: [InstallationInfo]? = nil, encoderLocation: FFmpegLocation? = nil, hasPendingRestart: Bool? = nil, hasUpdateAvailable: Bool? = nil, id: String? = nil, internalMetadataPath: String? = nil, isShuttingDown: Bool? = nil, itemsByNamePath: String? = nil, localAddress: String? = nil, logPath: String? = nil, operatingSystem: String? = nil, operatingSystemDisplayName: String? = nil, packageName: String? = nil, productName: String? = nil, programDataPath: String? = nil, serverName: String? = nil, isStartupWizardCompleted: Bool? = nil, isSupportsLibraryMonitor: Bool? = nil, systemArchitecture: Architecture? = nil, transcodingTempPath: String? = nil, version: String? = nil, webPath: String? = nil, webSocketPortNumber: Int32? = nil) {
public init(
cachePath: String? = nil,
canLaunchWebBrowser: Bool? = nil,
canSelfRestart: Bool? = nil,
completedInstallations: [InstallationInfo]? = nil,
encoderLocation: FFmpegLocation? = nil,
hasPendingRestart: Bool? = nil,
hasUpdateAvailable: Bool? = nil,
id: String? = nil,
internalMetadataPath: String? = nil,
isShuttingDown: Bool? = nil,
itemsByNamePath: String? = nil,
localAddress: String? = nil,
logPath: String? = nil,
operatingSystem: String? = nil,
operatingSystemDisplayName: String? = nil,
packageName: String? = nil,
productName: String? = nil,
programDataPath: String? = nil,
serverName: String? = nil,
isStartupWizardCompleted: Bool? = nil,
isSupportsLibraryMonitor: Bool? = nil,
systemArchitecture: Architecture? = nil,
transcodingTempPath: String? = nil,
version: String? = nil,
webPath: String? = nil,
webSocketPortNumber: Int32? = nil
) {
self.cachePath = cachePath
self.canLaunchWebBrowser = canLaunchWebBrowser
self.canSelfRestart = canSelfRestart

View File

@ -31,7 +31,18 @@ public struct TaskInfo: Codable, Identifiable {
/// Gets or sets the triggers.
public var triggers: [TaskTriggerInfo]?
public init(category: String? = nil, currentProgressPercentage: Double? = nil, description: String? = nil, id: String? = nil, isHidden: Bool? = nil, key: String? = nil, lastExecutionResult: TaskResult? = nil, name: String? = nil, state: TaskState? = nil, triggers: [TaskTriggerInfo]? = nil) {
public init(
category: String? = nil,
currentProgressPercentage: Double? = nil,
description: String? = nil,
id: String? = nil,
isHidden: Bool? = nil,
key: String? = nil,
lastExecutionResult: TaskResult? = nil,
name: String? = nil,
state: TaskState? = nil,
triggers: [TaskTriggerInfo]? = nil
) {
self.category = category
self.currentProgressPercentage = currentProgressPercentage
self.description = description

View File

@ -27,7 +27,16 @@ public struct TaskResult: Codable, Identifiable {
/// Gets or sets the status.
public var status: TaskCompletionStatus?
public init(endTimeUtc: Date? = nil, errorMessage: String? = nil, id: String? = nil, key: String? = nil, longErrorMessage: String? = nil, name: String? = nil, startTimeUtc: Date? = nil, status: TaskCompletionStatus? = nil) {
public init(
endTimeUtc: Date? = nil,
errorMessage: String? = nil,
id: String? = nil,
key: String? = nil,
longErrorMessage: String? = nil,
name: String? = nil,
startTimeUtc: Date? = nil,
status: TaskCompletionStatus? = nil
) {
self.endTimeUtc = endTimeUtc
self.errorMessage = errorMessage
self.id = id

View File

@ -21,7 +21,13 @@ public struct TaskTriggerInfo: Codable {
/// Gets or sets the type.
public var type: String?
public init(dayOfWeek: DayOfWeek? = nil, intervalTicks: Int64? = nil, maxRuntimeTicks: Int64? = nil, timeOfDayTicks: Int64? = nil, type: String? = nil) {
public init(
dayOfWeek: DayOfWeek? = nil,
intervalTicks: Int64? = nil,
maxRuntimeTicks: Int64? = nil,
timeOfDayTicks: Int64? = nil,
type: String? = nil
) {
self.dayOfWeek = dayOfWeek
self.intervalTicks = intervalTicks
self.maxRuntimeTicks = maxRuntimeTicks

View File

@ -63,7 +63,36 @@ public struct TimerInfoDto: Codable, Identifiable {
public var status: RecordingStatus?
public var type: String?
public init(channelID: String? = nil, channelName: String? = nil, channelPrimaryImageTag: String? = nil, endDate: Date? = nil, externalChannelID: String? = nil, externalID: String? = nil, externalProgramID: String? = nil, externalSeriesTimerID: String? = nil, id: String? = nil, isPostPaddingRequired: Bool? = nil, isPrePaddingRequired: Bool? = nil, keepUntil: KeepUntil? = nil, name: String? = nil, overview: String? = nil, parentBackdropImageTags: [String]? = nil, parentBackdropItemID: String? = nil, postPaddingSeconds: Int32? = nil, prePaddingSeconds: Int32? = nil, priority: Int32? = nil, programID: String? = nil, programInfo: BaseItemDto? = nil, runTimeTicks: Int64? = nil, seriesTimerID: String? = nil, serverID: String? = nil, serviceName: String? = nil, startDate: Date? = nil, status: RecordingStatus? = nil, type: String? = nil) {
public init(
channelID: String? = nil,
channelName: String? = nil,
channelPrimaryImageTag: String? = nil,
endDate: Date? = nil,
externalChannelID: String? = nil,
externalID: String? = nil,
externalProgramID: String? = nil,
externalSeriesTimerID: String? = nil,
id: String? = nil,
isPostPaddingRequired: Bool? = nil,
isPrePaddingRequired: Bool? = nil,
keepUntil: KeepUntil? = nil,
name: String? = nil,
overview: String? = nil,
parentBackdropImageTags: [String]? = nil,
parentBackdropItemID: String? = nil,
postPaddingSeconds: Int32? = nil,
prePaddingSeconds: Int32? = nil,
priority: Int32? = nil,
programID: String? = nil,
programInfo: BaseItemDto? = nil,
runTimeTicks: Int64? = nil,
seriesTimerID: String? = nil,
serverID: String? = nil,
serviceName: String? = nil,
startDate: Date? = nil,
status: RecordingStatus? = nil,
type: String? = nil
) {
self.channelID = channelID
self.channelName = channelName
self.channelPrimaryImageTag = channelPrimaryImageTag

Some files were not shown because too many files have changed in this diff Show More