UNPKG

mythtv-services-api

Version:
708 lines (707 loc) 17.9 kB
declare namespace ApiTypes { enum RecStatusType { Pending = -15, Failing = -14, MissedFuture = -11, Tuning = -10, Failed = -9, TunerBusy = -8, LowDiskSpace = -7, Cancelled = -6, Missed = -5, Aborted = -4, Recorded = -3, Recording = -2, WillRecord = -1, Unknown = 0, DontRecord = 1, PreviousRecording = 2, CurrentRecording = 3, EarlierShowing = 4, TooManyRecordings = 5, NotListed = 6, Conflict = 7, LaterShowing = 8, Repeat = 9, Inactive = 10, NeverRecord = 11, Offline = 12 } enum AudioProperty { STEREO = 1, MONO = 2, SURROUND = 4, DOLBY = 8, HARDHEAR = 16, VISUALIMPAIR = 32 } enum VideoProperty { HDTV = 1, WIDESCREEN = 2, AVC = 4, HD720 = 8, HD1080 = 16, DAMAGED = 32, _3DTV = 64 } enum SubtitleType { HARDHEAR = 1, NORMAL = 2, ONSCREEN = 4, SIGNED = 8 } enum ProgramFlag { COMMFLAG = 1, CUTLIST = 2, AUTOEXP = 4, EDITING = 8, BOOKMARK = 16, REALLYEDITING = 32, COMMPROCESSING = 64, DELETEPENDING = 128, TRANSCODED = 256, WATCHED = 512, PRESERVED = 1024, CHANCOMMFREE = 2048, REPEAT = 4096, DUPLICATE = 8192, REACTIVATE = 16384, IGNOREBOOKMARK = 32768, TYPEMASK = 983040, INUSERECORDING = 1048576, INUSEPLAYING = 2097152, INUSEOTHER = 4194304 } enum CategoryType { NONE = "", MOVIE = "movie", SERIES = "series", TVSHOW = "tvshow", SPORTS = "sports" } interface RecordingInfo { RecordedId: number; Status: RecStatusType; Priority: number; StartTs: Date; EndTs: Date; FileSize: number; FileName: string; HostName: string; LastModified: Date; RecordId: number; RecGroup: string; PlayGroup: string; StorageGroup: string; RecType: number; DupInType: number; DupMethod: number; EncoderId: number; EncoderName: string; Profile: string; } interface ChannelInfo { ChanId: number; ChanNum: string; CallSign: string; ChannelName: string; IconURL: string; MplexId?: number; ServiceId?: number; ATSCMajorChan?: number; ATSCMinorChan?: number; Format?: string; FrequencyId?: string; FineTune?: number; ChanFilters?: string; SourceId?: number; InputId?: number; CommFree?: boolean; UseEIT?: boolean; Visible?: boolean; ExtendedVisible?: ChannelVisibleType; XMLTVID?: string; DefaultAuth?: string; ChannelGroups?: string; Inputs?: string; ServiceType?: number; Programs: Program[]; } interface Program { StartTime: Date; EndTime: Date; Title: string; SubTitle: string; Category: string; CatType: CategoryType; Repeat: boolean; VideoProps: number; AudioProps: number; SubProps: number; SeriesId: string; ProgramId: string; Stars: number; LastModified: Date; ProgramFlags: number; Airdate: Date; Description: string; Inetref: string; Season: number; Episode: number; TotalEpisodes: number; FileSize: number; FileName: string; HostName: string; Channel: ChannelInfo; Recording: RecordingInfo; Artwork: ArtworkInfoList; } interface ArtworkInfo { URL: string; FileName: string; StorageGroup: string; Type: string; } interface ArtworkInfoList { ArtworkInfos: ArtworkInfo[]; } interface CastMemberList { CastMembers: CastMember[]; } interface CastMember { Name: string; CharacterName: string; Role: string; TranslatedRole: string; } interface ListRequest { StartIndex?: number; Count?: number; } interface DescendingListRequest extends ListRequest { Descending?: boolean; } interface SortedListRequest<S extends string> extends ListRequest { Sort?: S; } interface MultiSortedListRequest<S extends string> extends ListRequest { Sort?: S[]; } interface ListResponse extends Required<ListRequest> { TotalAvailable: number; AsOf: Date; Version: string; ProtoVer: string; } interface PageResponse extends ListResponse { CurrentPage: number; TotalPages: number; TotalAvailable: number; AsOf: Date; Version: string; ProtoVer: string; } interface VideoSourceList { AsOf: Date; Version: string; ProtoVer: string; VideoSources: VideoSource[]; } interface VideoSource { Id: number; SourceName: string; Grabber: string; UserId: string; FreqTable: string; LineupId: string; Password: string; UseEIT: boolean; ConfigPath: string; NITId: string; BouquetId: number; RegionId: number; ScanFrequency: number; } interface ChannelInfoList extends PageResponse { ChannelInfos: ChannelInfo[]; } interface Lineup { LineupId: string; Name: string; DisplayName: string; Type: string; Postal: string; Device: string; } interface VideoMultiplex { MplexId: number; SourceId: number; TransportId: number; NetworkId: number; Frequency: number; Inversion: string; SymbolRate: number; FEC: string; Polarity: string; Modulation: string; Bandwidth: string; LPCodeRate: string; HPCodeRate: string; TransmissionMode: string; GuardInterval: string; Visible: boolean; Constellation: string; Hierarchy: string; ModulationSystem: string; RollOff: string; SIStandard: string; ServiceVersion: number; UpdateTimeStamp: Date; DefaultAuthority: string; } interface VideoMultiplexList extends PageResponse { VideoMultiplexes: VideoMultiplex[]; } interface Encoder { Id: number; Recording: Program; Connected: boolean; HostName: string; } interface ProgramList extends PageResponse { Programs: Program[]; } interface Input { Id: number; CardId: number; SourceId: number; InputName: string; DisplayName: string; QuickTune: boolean; RecPriority: number; ScheduleOrder: number; LiveTVOrder: number; } interface RecRuleFilterList extends PageResponse { RecRuleFilters: RecRuleFilter[]; } interface RecRuleFilter { Id: number; Description: string; } interface RecRule { Id: number; ParentId: number; Inactive: boolean; Title: string; SubTitle: string; Description: string; Season: number; Episode: number; Category: string; StartTime: Date; EndTime: Date; SeriesId: string; ProgramId: string; Inetref: string; ChanId: number; CallSign: string; FindDay: number; FindTime: Date; Type: string; SearchType: string; RecPriority: number; PreferredInput: number; StartOffset: number; EndOffset: number; DupMethod: string; DupIn: string; Filter: number; RecProfile: string; RecGroup: string; StorageGroup: string; PlayGroup: string; AutoExpire: boolean; MaxEpisodes: number; MaxNewest: boolean; AutoCommflag: boolean; AutoTranscode: boolean; AutoMetaLookup: boolean; AutoUserJob1: boolean; AutoUserJob2: boolean; AutoUserJob3: boolean; AutoUserJob4: boolean; Transcoder: number; NextRecording: Date; LastRecorded: Date; LastDeleted: Date; AverageDelay: number; } interface RecRuleList extends PageResponse { RecRules: RecRule[]; } interface Cutting { Mark: number; Offset: number; } interface TitleInfo { Title: string; Inetref: string; Count: number; } interface FrontendList { Frontends: Frontend[]; } interface Frontend { Name: string; IP: string; Port: number; OnLine: number; } interface BackendInfo { Build: BuildInfo; Env: EnvInfo; Log: LogInfo; } interface BuildInfo { Version: string; LibX264: boolean; LibDNS_SD: boolean; } interface EnvInfo { LANG: string; LCALL: string; LCCTYPE: string; HOME: string; MYTHCONFDIR: string; } interface LogInfo { LogArgs: string; } interface ConnectionInfo { Version: VersionInfo; Database: DatabaseInfo; WOL: WOLInfo; } interface VersionInfo { Version: string; Branch: string; Protocol: string; Binary: string; Schema: string; } interface DatabaseInfo { Host: string; Ping: boolean; Port: number; UserName: string; Password: string; Name: string; Type: string; LocalEnabled: boolean; LocalHostName: string; } interface WOLInfo { Enabled: boolean; Reconnect: number; Retry: number; Command: string; } interface LogMessageList { HostNames: LabelValue[]; Applications: LabelValue[]; LogMessages: LogMessage[]; } interface LabelValue { Label: string; Value: string; Description: string; Active: boolean; Selected: boolean; } interface LogMessage { HostName: string; Application: string; PID: number; TID: number; Thread: string; Filename: string; Line: number; Function: string; Time: Date; Level: string; Message: string; } interface SettingList { [setting: string]: string; HostName: string; } interface StorageGroupDirList { StorageGroupDirs: StorageGroupDir[]; } interface StorageGroupDir { Id: number; GroupName: string; HostName: string; DirName: string; DirRead: boolean; DirWrite: string; KiBFree: number; } interface TimeZoneInfo { TimeZoneID: string; UTCOffset: number; CurrentDateTime: Date; } interface VideoMetadataInfo { Id: number; Title: string; SubTitle: string; Tagline: string; Director: string; Studio: string; Description: string; Certification: string; Inetref: string; Collectionref: number; HomePage: string; ReleaseDate: Date; AddDate: Date; UserRating: number; ChildID: number; Length: number; PlayCount: number; Season: number; Episode: number; ParentalLevel: number; Visible: boolean; Watched: boolean; Processed: boolean; ContentType: string; FileName: string; Hash: string; HostName: string; Coverart: string; Fanart: string; Banner: string; Screenshot: string; Trailer: string; Artwork: ArtworkInfos; Cast: CastMembers; Genres: GenreList; } interface ArtworkInfo { URL: string; FileName: string; StorageGroup: string; Type: string; } interface ArtworkInfos { ArtworkInfos: ArtworkInfo[]; } interface CastMember { Name: string; CharacterName: string; Role: string; TranslatedRole: string; } interface CastMembers { CastMembers: CastMember[]; } interface Genre { Name: string; } interface GenreList { GenreList: Genre[]; } interface VideoMetadataInfoList extends ApiTypes.PageResponse { VideoMetadataInfos: VideoMetadataInfo[]; } interface BlurayInfo { Path: string; Title: string; AltTitle: string; DiscLang: string; DiscNum: number; TotalDiscNum: number; TitleCount: number; ThumbCount: number; ThumbPath: string; TopMenuSupported: boolean; FirstPlaySupported: boolean; NumHDMVTitles: number; NumBDJTitles: number; NumUnsupportedTitles: number; AACSDetected: boolean; LibAACSDetected: boolean; AACSHandled: boolean; BDPlusDetected: boolean; LibBDPlusDetected: boolean; BDPlusHandled: boolean; } interface VideoLookupList extends ApiTypes.PageResponse { VideoLookups: VideoLookup[]; } interface VideoLookup { Title: string; SubTitle: string; Season: number; Episode: number; Year: number; Tagline: string; Description: string; Certification: string; Inetref: string; Collectionref: string; HomePage: string; ReleaseDate: Date; UserRating: number; Length: number; Language: string; Countries: string[]; Popularity: number; Budget: number; Revenue: number; IMDB: string; TMSRef: string; Artwork: ArtworkItem[]; } interface ArtworkItem { Type: string; Url: string; Thumbnail: string; Width: number; Height: number; } interface CaptureCard { CardId: number; ParentId: number; VideoDevice: string; AudioDevice: string; VBIDevice: string; CardType: string; DefaultInput: string; AudioRateLimit: number; HostName: string; DVBSWFilter: number; DVBSatType: number; DVBWaitForSeqStart: boolean; SkipBTAudio: boolean; DVBOnDemand: boolean; DVBDiSEqCType: number; FirewireSpeed: number; FirewireModel: string; FirewireConnection: number; SignalTimeout: number; ChannelTimeout: number; DVBTuningDelay: number; Contrast: number; Brightness: number; Colour: number; Hue: number; DiSEqCId: number; DVBEITScan: boolean; InputName: string; SourceId: number; ExternalCommand: string; ChangerDevice: string; ChangerModel: string; TuneChannel: string; StartChannel: string; DisplayName: string; DishnetEit: boolean; RecPriority: number; QuickTune: boolean; SchedOrder: number; LiveTVOrder: string; RecLimit: string; SchedGroup: boolean; } interface CaptureCardList { CaptureCards: CaptureCard[]; } interface LiveStreamInfo { Id: number; Width: number; Height: number; Bitrate: number; AudioBitrate: number; SegmentSize: number; MaxSegments: number; StartSegment: number; CurrentSegment: number; SegmentCount: number; PercentComplete: number; Created: Date; LastModified: Date; RelativeURL: string; FullURL: string; StatusStr: string; StatusInt: number; StatusMessage: string; SourceFile: string; SourceHost: string; SourceWidth: number; SourceHeight: number; AudioOnlyBitrate: number; } interface LiveStreamInfoList { LiveStreamInfos: LiveStreamInfo[]; } interface ChannelGroup { GroupId: number; Name: string; Password: string; } interface ChannelGroupList { ChannelGroups: ChannelGroup[]; } interface ProgramGuide extends ListResponse { StartTime: Date; EndTime: Date; Details: boolean; Channels: ChannelInfo[]; } interface StringKeyValue { [key: string]: string; } interface FrontendStatus { Name: string; Verions: string; State: State; ChapterTimes: string; SubtitleTracks: StringKeyValue; AudioTracks: StringKeyValue; } interface State { state: string; chanid?: number; title?: string; playspeed?: string; relsecondsplayed?: number; reltotalseconds?: number; secondsplayed?: number; totalseconds?: number; programid?: string; } interface FrontendActionList { ActionList: StringKeyValue; } interface LineupList { Lineups: Lineup[]; } interface EncoderList { Encoders: ApiTypes.Encoder[]; } interface InputList { Inputs: ApiTypes.Input[]; } interface CutList { Cuttings: ApiTypes.Cutting[]; } interface TitleInfoList { TitleInfos: ApiTypes.TitleInfo[]; } type ChannelVisibleType = 'Always Visible' | 'Visible' | 'Not Visible' | 'Never Visible'; } export default ApiTypes;