mirror of
https://github.com/hensm/fx_cast.git
synced 2026-06-13 02:49:58 +00:00
Misc shim refactoring
This commit is contained in:
1
ext/src/global.d.ts
vendored
1
ext/src/global.d.ts
vendored
@@ -3,6 +3,7 @@ declare const MIRRORING_APP_ID: string;
|
|||||||
declare const APPLICATION_NAME: string;
|
declare const APPLICATION_NAME: string;
|
||||||
declare const APPLICATION_VERSION: string;
|
declare const APPLICATION_VERSION: string;
|
||||||
|
|
||||||
|
declare type Nullable<T> = T | null;
|
||||||
|
|
||||||
declare interface Object {
|
declare interface Object {
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
||||||
|
|||||||
@@ -143,12 +143,12 @@ export default class Session {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
public media: Media[];
|
media: Media[];
|
||||||
public namespaces: Array<{ name: string }>;
|
namespaces: Array<{ name: string }>;
|
||||||
public senderApps: SenderApplication[];
|
senderApps: SenderApplication[];
|
||||||
public status: SessionStatus;
|
status: SessionStatus;
|
||||||
public statusText: string | null;
|
statusText: Nullable<string>;
|
||||||
public transportId: string;
|
transportId: string;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public sessionId: string
|
public sessionId: string
|
||||||
@@ -182,11 +182,11 @@ export default class Session {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public addMediaListener(_mediaListener: MediaListener) {
|
addMediaListener(_mediaListener: MediaListener) {
|
||||||
logger.info("STUB :: Session#addMediaListener");
|
logger.info("STUB :: Session#addMediaListener");
|
||||||
}
|
}
|
||||||
|
|
||||||
public addMessageListener(
|
addMessageListener(
|
||||||
namespace: string
|
namespace: string
|
||||||
, listener: MessageListener) {
|
, listener: MessageListener) {
|
||||||
|
|
||||||
@@ -205,18 +205,18 @@ export default class Session {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public addUpdateListener(listener: UpdateListener) {
|
addUpdateListener(listener: UpdateListener) {
|
||||||
this.#updateListeners.add(listener);
|
this.#updateListeners.add(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
public leave(
|
leave(
|
||||||
_successCallback?: SuccessCallback
|
_successCallback?: SuccessCallback
|
||||||
, _errorCallback?: ErrorCallback): void {
|
, _errorCallback?: ErrorCallback): void {
|
||||||
|
|
||||||
logger.info("STUB :: Session#leave");
|
logger.info("STUB :: Session#leave");
|
||||||
}
|
}
|
||||||
|
|
||||||
public loadMedia(
|
loadMedia(
|
||||||
loadRequest: LoadRequest
|
loadRequest: LoadRequest
|
||||||
, successCallback?: LoadSuccessCallback
|
, successCallback?: LoadSuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback): void {
|
||||||
@@ -274,7 +274,7 @@ export default class Session {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public queueLoad(
|
queueLoad(
|
||||||
_queueLoadRequest: QueueLoadRequest
|
_queueLoadRequest: QueueLoadRequest
|
||||||
, _successCallback?: LoadSuccessCallback
|
, _successCallback?: LoadSuccessCallback
|
||||||
, _errorCallback?: ErrorCallback): void {
|
, _errorCallback?: ErrorCallback): void {
|
||||||
@@ -282,25 +282,25 @@ export default class Session {
|
|||||||
logger.info("STUB :: Session#queueLoad");
|
logger.info("STUB :: Session#queueLoad");
|
||||||
}
|
}
|
||||||
|
|
||||||
public removeMediaListener(_mediaListener: MediaListener): void {
|
removeMediaListener(_mediaListener: MediaListener): void {
|
||||||
logger.info("STUB :: Session#removeMediaListener");
|
logger.info("STUB :: Session#removeMediaListener");
|
||||||
}
|
}
|
||||||
|
|
||||||
public removeMessageListener(
|
removeMessageListener(
|
||||||
namespace: string
|
namespace: string
|
||||||
, listener: MessageListener): void {
|
, listener: MessageListener): void {
|
||||||
|
|
||||||
this.#messageListeners.get(namespace)?.delete(listener);
|
this.#messageListeners.get(namespace)?.delete(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
public removeUpdateListener(
|
removeUpdateListener(
|
||||||
_namespace: string
|
_namespace: string
|
||||||
, listener: UpdateListener): void {
|
, listener: UpdateListener): void {
|
||||||
|
|
||||||
this.#updateListeners.delete(listener);
|
this.#updateListeners.delete(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
public sendMessage(
|
sendMessage(
|
||||||
namespace: string
|
namespace: string
|
||||||
, message: {} | string
|
, message: {} | string
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
@@ -324,7 +324,7 @@ export default class Session {
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public setReceiverMuted(
|
setReceiverMuted(
|
||||||
muted: boolean
|
muted: boolean
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback) {
|
, errorCallback?: ErrorCallback) {
|
||||||
@@ -336,7 +336,7 @@ export default class Session {
|
|||||||
.catch(errorCallback);
|
.catch(errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public setReceiverVolumeLevel(
|
setReceiverVolumeLevel(
|
||||||
newLevel: number
|
newLevel: number
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback): void {
|
||||||
@@ -348,7 +348,7 @@ export default class Session {
|
|||||||
.catch(errorCallback);
|
.catch(errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public stop(
|
stop(
|
||||||
successCallback?: SuccessCallback
|
successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback): void {
|
||||||
|
|
||||||
|
|||||||
@@ -32,41 +32,41 @@ export class CredentialsData {
|
|||||||
export class DialRequest {
|
export class DialRequest {
|
||||||
constructor(
|
constructor(
|
||||||
public appName: string
|
public appName: string
|
||||||
, public launchParameter: (string | null) = null) {}
|
, public launchParameter: Nullable<string> = null) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class Error {
|
export class Error {
|
||||||
constructor(
|
constructor(
|
||||||
public code: string
|
public code: string
|
||||||
, public description: (string | null) = null
|
, public description: Nullable<string> = null
|
||||||
, public details: any = null) {}
|
, public details: any = null) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class Image {
|
export class Image {
|
||||||
public width: (number | null) = null;
|
width: Nullable<number> = null;
|
||||||
public height: (number | null) = null;
|
height: Nullable<number> = null;
|
||||||
|
|
||||||
constructor(public url: string) {}
|
constructor(public url: string) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class Receiver {
|
export class Receiver {
|
||||||
public displayStatus: (ReceiverDisplayStatus | null) = null;
|
displayStatus: Nullable<ReceiverDisplayStatus> = null;
|
||||||
public isActiveInput: (boolean | null) = null;
|
isActiveInput: Nullable<boolean> = null;
|
||||||
public receiverType: string = ReceiverType.CAST;
|
receiverType: string = ReceiverType.CAST;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public label: string
|
public label: string
|
||||||
, public friendlyName: string
|
, public friendlyName: string
|
||||||
, public capabilities: Capability[] = []
|
, public capabilities: Capability[] = []
|
||||||
, public volume: (Volume | null) = null) {}
|
, public volume: Nullable<Volume> = null) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class ReceiverDisplayStatus {
|
export class ReceiverDisplayStatus {
|
||||||
public showStop: (boolean | null) = null;
|
showStop: Nullable<boolean> = null;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public statusText: string
|
public statusText: string
|
||||||
@@ -75,15 +75,15 @@ export class ReceiverDisplayStatus {
|
|||||||
|
|
||||||
|
|
||||||
export class SenderApplication {
|
export class SenderApplication {
|
||||||
public packageId: (string | null) = null;
|
packageId: Nullable<string> = null;
|
||||||
public url: (string | null) = null;
|
url: Nullable<string> = null;
|
||||||
|
|
||||||
constructor(public platform: string) {}
|
constructor(public platform: string) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class SessionRequest {
|
export class SessionRequest {
|
||||||
public language: (string | null) = null;
|
language: Nullable<string> = null;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public appId: string
|
public appId: string
|
||||||
@@ -91,24 +91,24 @@ export class SessionRequest {
|
|||||||
, Capability.AUDIO_OUT ]
|
, Capability.AUDIO_OUT ]
|
||||||
, public requestSessionTimeout = (new Timeout()).requestSession
|
, public requestSessionTimeout = (new Timeout()).requestSession
|
||||||
, public androidReceiverCompatible = false
|
, public androidReceiverCompatible = false
|
||||||
, public credentialsData: (CredentialsData | null) = null) {}
|
, public credentialsData: Nullable<CredentialsData> = null) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class Timeout {
|
export class Timeout {
|
||||||
public leaveSession = 3000;
|
leaveSession = 3000;
|
||||||
public requestSession = 60000;
|
requestSession = 60000;
|
||||||
public sendCustomMessage = 3000;
|
sendCustomMessage = 3000;
|
||||||
public setReceiverVolume = 3000;
|
setReceiverVolume = 3000;
|
||||||
public stopSession = 3000;
|
stopSession = 3000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class Volume {
|
export class Volume {
|
||||||
public controlType?: VolumeControlType;
|
controlType?: VolumeControlType;
|
||||||
public stepInterval?: number;
|
stepInterval?: number;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public level: (number | null) = null
|
public level: Nullable<number> = null
|
||||||
, public muted: (boolean | null) = null) {}
|
, public muted: Nullable<boolean> = null) {}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -103,24 +103,24 @@ export default class Media {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
public activeTrackIds: (number[] | null) = null;
|
activeTrackIds: Nullable<number[]> = null;
|
||||||
public breakStatus?: BreakStatus;
|
breakStatus?: BreakStatus;
|
||||||
public currentItemId: (number | null) = null;
|
currentItemId: Nullable<number> = null;
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
public currentTime = 0;
|
currentTime = 0;
|
||||||
public idleReason: (string | null) = null;
|
idleReason: Nullable<string> = null;
|
||||||
public items: (QueueItem[] | null) = null;
|
items: Nullable<QueueItem[]> = null;
|
||||||
public liveSeekableRange?: LiveSeekableRange;
|
liveSeekableRange?: LiveSeekableRange;
|
||||||
public loadingItemId: (number | null) = null;
|
loadingItemId: Nullable<number> = null;
|
||||||
public media: (MediaInfo | null) = null;
|
media: Nullable<MediaInfo> = null;
|
||||||
public playbackRate = 1;
|
playbackRate = 1;
|
||||||
public playerState: string = PlayerState.IDLE;
|
playerState: string = PlayerState.IDLE;
|
||||||
public preloadedItemId: (number | null) = null;
|
preloadedItemId: Nullable<number> = null;
|
||||||
public queueData?: QueueData;
|
queueData?: QueueData;
|
||||||
public repeatMode: string = RepeatMode.OFF;
|
repeatMode: string = RepeatMode.OFF;
|
||||||
public supportedMediaCommands: string[] = [];
|
supportedMediaCommands: string[] = [];
|
||||||
public videoInfo?: VideoInformation;
|
videoInfo?: VideoInformation;
|
||||||
public volume: Volume = new Volume();
|
volume: Volume = new Volume();
|
||||||
|
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
@@ -139,14 +139,14 @@ export default class Media {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public addUpdateListener(listener: UpdateListener): void {
|
addUpdateListener(listener: UpdateListener) {
|
||||||
this.#updateListeners.add(listener);
|
this.#updateListeners.add(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
public editTracksInfo(
|
editTracksInfo(
|
||||||
editTracksInfoRequest: EditTracksInfoRequest
|
editTracksInfoRequest: EditTracksInfoRequest
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
this.#sendMediaMessage(
|
this.#sendMediaMessage(
|
||||||
{ type: "EDIT_TRACKS_INFO", ...editTracksInfoRequest })
|
{ type: "EDIT_TRACKS_INFO", ...editTracksInfoRequest })
|
||||||
@@ -154,26 +154,32 @@ export default class Media {
|
|||||||
.catch(errorCallback);
|
.catch(errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public getEstimatedBreakClipTime() {
|
getEstimatedBreakClipTime() {
|
||||||
logger.info("STUB :: Media#getEstimatedBreakClipTime");
|
logger.info("STUB :: Media#getEstimatedBreakClipTime");
|
||||||
}
|
}
|
||||||
public getEstimatedBreakTime() {
|
getEstimatedBreakTime() {
|
||||||
logger.info("STUB :: Media#getEstimatedBreakTime");
|
logger.info("STUB :: Media#getEstimatedBreakTime");
|
||||||
}
|
}
|
||||||
public getEstimatedLiveSeekableRange() {
|
getEstimatedLiveSeekableRange() {
|
||||||
logger.info("STUB :: Media#getEstimatedLiveSeekableRange");
|
logger.info("STUB :: Media#getEstimatedLiveSeekableRange");
|
||||||
}
|
}
|
||||||
|
|
||||||
public getEstimatedTime(): number {
|
/**
|
||||||
|
* Estimate the current playback position based on the last
|
||||||
|
* time reported by the receiver and the current playback
|
||||||
|
* rate.
|
||||||
|
*/
|
||||||
|
getEstimatedTime(): number {
|
||||||
if (this.playerState === PlayerState.PLAYING) {
|
if (this.playerState === PlayerState.PLAYING) {
|
||||||
let estimatedTime = this.currentTime + (this.playbackRate * (
|
let estimatedTime = this.currentTime + (this.playbackRate * (
|
||||||
Date.now() - this.#lastCurrentTime) / 1000);
|
Date.now() - this.#lastCurrentTime) / 1000);
|
||||||
|
|
||||||
// Enforce valid range
|
// Enforce valid range
|
||||||
if (this.media?.duration && estimatedTime > this.media.duration) {
|
if (estimatedTime < 0) {
|
||||||
estimatedTime = this.media.duration;
|
|
||||||
} else if (estimatedTime < 0) {
|
|
||||||
estimatedTime = 0;
|
estimatedTime = 0;
|
||||||
|
} else if (this.media?.duration &&
|
||||||
|
estimatedTime > this.media.duration) {
|
||||||
|
estimatedTime = this.media.duration;
|
||||||
}
|
}
|
||||||
|
|
||||||
return estimatedTime;
|
return estimatedTime;
|
||||||
@@ -182,14 +188,14 @@ export default class Media {
|
|||||||
return this.currentTime;
|
return this.currentTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
public getStatus(
|
/**
|
||||||
getStatusRequest?: GetStatusRequest
|
* Request media status from the receiver application. This
|
||||||
|
* will also trigger any added media update listeners.
|
||||||
|
*/
|
||||||
|
getStatus(
|
||||||
|
getStatusRequest = new GetStatusRequest()
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
if (!getStatusRequest) {
|
|
||||||
getStatusRequest = new GetStatusRequest();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.#sendMediaMessage(
|
this.#sendMediaMessage(
|
||||||
{ type: "MEDIA_GET_STATUS", ...getStatusRequest })
|
{ type: "MEDIA_GET_STATUS", ...getStatusRequest })
|
||||||
@@ -197,14 +203,10 @@ export default class Media {
|
|||||||
.catch(errorCallback);
|
.catch(errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public pause(
|
pause(
|
||||||
pauseRequest?: PauseRequest
|
pauseRequest = new PauseRequest()
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
if (!pauseRequest) {
|
|
||||||
pauseRequest = new PauseRequest();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.#sendMediaMessage(
|
this.#sendMediaMessage(
|
||||||
{ type: "PAUSE", ...pauseRequest })
|
{ type: "PAUSE", ...pauseRequest })
|
||||||
@@ -212,14 +214,10 @@ export default class Media {
|
|||||||
.catch(errorCallback);
|
.catch(errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public play(
|
play(
|
||||||
playRequest?: PlayRequest
|
playRequest = new PlayRequest()
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
if (!playRequest) {
|
|
||||||
playRequest = new PlayRequest();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.#sendMediaMessage(
|
this.#sendMediaMessage(
|
||||||
{ type: "PLAY", ...playRequest })
|
{ type: "PLAY", ...playRequest })
|
||||||
@@ -227,20 +225,20 @@ export default class Media {
|
|||||||
.catch(errorCallback);
|
.catch(errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public queueAppendItem(
|
queueAppendItem(
|
||||||
item: QueueItem
|
item: QueueItem
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
this.#sendMediaMessage(new QueueInsertItemsRequest([ item ]))
|
this.#sendMediaMessage(new QueueInsertItemsRequest([ item ]))
|
||||||
.then(successCallback)
|
.then(successCallback)
|
||||||
.catch(errorCallback);
|
.catch(errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public queueInsertItems(
|
queueInsertItems(
|
||||||
queueInsertItemsRequest: QueueInsertItemsRequest
|
queueInsertItemsRequest: QueueInsertItemsRequest
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
this.#sendMediaMessage(queueInsertItemsRequest)
|
this.#sendMediaMessage(queueInsertItemsRequest)
|
||||||
.then(successCallback)
|
.then(successCallback)
|
||||||
@@ -248,10 +246,10 @@ export default class Media {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public queueJumpToItem(
|
queueJumpToItem(
|
||||||
itemId: number
|
itemId: number
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
if (this.items?.find(item => item.itemId === itemId)) {
|
if (this.items?.find(item => item.itemId === itemId)) {
|
||||||
const jumpRequest = new QueueJumpRequest();
|
const jumpRequest = new QueueJumpRequest();
|
||||||
@@ -263,12 +261,13 @@ export default class Media {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public queueMoveItemToNewIndex(
|
queueMoveItemToNewIndex(
|
||||||
itemId: number
|
itemId: number
|
||||||
, newIndex: number
|
, newIndex: number
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
|
// Return early if not in queue
|
||||||
if (!this.items) {
|
if (!this.items) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -302,9 +301,9 @@ export default class Media {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public queueNext(
|
queueNext(
|
||||||
successCallback?: SuccessCallback
|
successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
const jumpRequest = new QueueJumpRequest();
|
const jumpRequest = new QueueJumpRequest();
|
||||||
jumpRequest.jump = 1;
|
jumpRequest.jump = 1;
|
||||||
@@ -314,9 +313,9 @@ export default class Media {
|
|||||||
.catch(errorCallback);
|
.catch(errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public queuePrev(
|
queuePrev(
|
||||||
successCallback?: SuccessCallback
|
successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
const jumpRequest = new QueueJumpRequest();
|
const jumpRequest = new QueueJumpRequest();
|
||||||
jumpRequest.jump = -1;
|
jumpRequest.jump = -1;
|
||||||
@@ -326,46 +325,43 @@ export default class Media {
|
|||||||
.catch(errorCallback);
|
.catch(errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public queueRemoveItem(
|
queueRemoveItem(
|
||||||
itemId: number
|
itemId: number
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
const item = this.items?.find(item => item.itemId === itemId);
|
const item = this.items?.find(item => item.itemId === itemId);
|
||||||
if (item) {
|
if (item) {
|
||||||
const queueRemoveItemsRequest =
|
this.queueRemoveItems(
|
||||||
new QueueRemoveItemsRequest([ itemId ]);
|
new QueueRemoveItemsRequest([ itemId ])
|
||||||
|
, successCallback, errorCallback);
|
||||||
this.#sendMediaMessage(queueRemoveItemsRequest)
|
|
||||||
.then(successCallback)
|
|
||||||
.catch(errorCallback);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public queueRemoveItems(
|
queueRemoveItems(
|
||||||
queueRemoveItemsRequest: QueueRemoveItemsRequest
|
queueRemoveItemsRequest: QueueRemoveItemsRequest
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
this.#sendMediaMessage(queueRemoveItemsRequest)
|
this.#sendMediaMessage(queueRemoveItemsRequest)
|
||||||
.then(successCallback)
|
.then(successCallback)
|
||||||
.catch(errorCallback);
|
.catch(errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public queueReorderItems(
|
queueReorderItems(
|
||||||
queueReorderItemsRequest: QueueReorderItemsRequest
|
queueReorderItemsRequest: QueueReorderItemsRequest
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
this.#sendMediaMessage(queueReorderItemsRequest)
|
this.#sendMediaMessage(queueReorderItemsRequest)
|
||||||
.then(successCallback)
|
.then(successCallback)
|
||||||
.catch(errorCallback);
|
.catch(errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public queueSetRepeatMode(
|
queueSetRepeatMode(
|
||||||
repeatMode: string
|
repeatMode: string
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
const setPropertiesRequest = new QueueSetPropertiesRequest();
|
const setPropertiesRequest = new QueueSetPropertiesRequest();
|
||||||
setPropertiesRequest.repeatMode = repeatMode;
|
setPropertiesRequest.repeatMode = repeatMode;
|
||||||
@@ -375,24 +371,24 @@ export default class Media {
|
|||||||
.catch(errorCallback);
|
.catch(errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public queueUpdateItems(
|
queueUpdateItems(
|
||||||
queueUpdateItemsRequest: QueueUpdateItemsRequest
|
queueUpdateItemsRequest: QueueUpdateItemsRequest
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
this.#sendMediaMessage(queueUpdateItemsRequest)
|
this.#sendMediaMessage(queueUpdateItemsRequest)
|
||||||
.then(successCallback)
|
.then(successCallback)
|
||||||
.catch(errorCallback);
|
.catch(errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public removeUpdateListener(listener: UpdateListener) {
|
removeUpdateListener(listener: UpdateListener) {
|
||||||
this.#updateListeners.delete(listener);
|
this.#updateListeners.delete(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
public seek(
|
seek(
|
||||||
seekRequest: SeekRequest
|
seekRequest: SeekRequest
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
this.#sendMediaMessage(
|
this.#sendMediaMessage(
|
||||||
{ type: "SEEK", ...seekRequest })
|
{ type: "SEEK", ...seekRequest })
|
||||||
@@ -400,10 +396,10 @@ export default class Media {
|
|||||||
.catch(errorCallback);
|
.catch(errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public setVolume(
|
setVolume(
|
||||||
volumeRequest: VolumeRequest
|
volumeRequest: VolumeRequest
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
this.#sendMediaMessage(
|
this.#sendMediaMessage(
|
||||||
{ type: "MEDIA_SET_VOLUME", ...volumeRequest })
|
{ type: "MEDIA_SET_VOLUME", ...volumeRequest })
|
||||||
@@ -411,10 +407,10 @@ export default class Media {
|
|||||||
.catch(errorCallback);
|
.catch(errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public stop(
|
stop(
|
||||||
stopRequest?: StopRequest
|
stopRequest?: StopRequest
|
||||||
, successCallback?: SuccessCallback
|
, successCallback?: SuccessCallback
|
||||||
, errorCallback?: ErrorCallback): void {
|
, errorCallback?: ErrorCallback) {
|
||||||
|
|
||||||
if (!stopRequest) {
|
if (!stopRequest) {
|
||||||
stopRequest = new StopRequest();
|
stopRequest = new StopRequest();
|
||||||
@@ -433,7 +429,7 @@ export default class Media {
|
|||||||
}).catch(errorCallback);
|
}).catch(errorCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public supportsCommand(command: string): boolean {
|
supportsCommand(command: string): boolean {
|
||||||
return this.supportedMediaCommands.includes(command);
|
return this.supportedMediaCommands.includes(command);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,28 +13,28 @@ import { ContainerType
|
|||||||
|
|
||||||
|
|
||||||
export class AudiobookChapterMediaMetadata {
|
export class AudiobookChapterMediaMetadata {
|
||||||
public bookTitle?: string;
|
bookTitle?: string;
|
||||||
public chapterNumber?: number;
|
chapterNumber?: number;
|
||||||
public chapterTitle?: string;
|
chapterTitle?: string;
|
||||||
public images?: Image[];
|
images?: Image[];
|
||||||
public subtitle?: string;
|
subtitle?: string;
|
||||||
public title?: string;
|
title?: string;
|
||||||
public type = MetadataType.AUDIOBOOK_CHAPTER;
|
type = MetadataType.AUDIOBOOK_CHAPTER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class AudiobookContainerMetadata {
|
export class AudiobookContainerMetadata {
|
||||||
public authors?: string[];
|
authors?: string[];
|
||||||
public narrators?: string[];
|
narrators?: string[];
|
||||||
public publisher?: string;
|
publisher?: string;
|
||||||
public releaseDate?: string;
|
releaseDate?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class Break {
|
export class Break {
|
||||||
public duration?: number;
|
duration?: number;
|
||||||
public isEmbedded?: boolean;
|
isEmbedded?: boolean;
|
||||||
public isWatched = false;
|
isWatched = false;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public id: string
|
public id: string
|
||||||
@@ -44,36 +44,36 @@ export class Break {
|
|||||||
|
|
||||||
|
|
||||||
export class BreakClip {
|
export class BreakClip {
|
||||||
public clickThroughUrl?: string;
|
clickThroughUrl?: string;
|
||||||
public contentId?: string;
|
contentId?: string;
|
||||||
public contentType?: string;
|
contentType?: string;
|
||||||
public contentUrl?: string;
|
contentUrl?: string;
|
||||||
public customData?: {};
|
customData?: {};
|
||||||
public duration?: number;
|
duration?: number;
|
||||||
public hlsSegmentFormat?: HlsSegmentFormat;
|
hlsSegmentFormat?: HlsSegmentFormat;
|
||||||
public posterUrl?: string;
|
posterUrl?: string;
|
||||||
public title?: string;
|
title?: string;
|
||||||
public vastAdsRequest?: VastAdsRequest;
|
vastAdsRequest?: VastAdsRequest;
|
||||||
public whenSkippable?: number;
|
whenSkippable?: number;
|
||||||
|
|
||||||
constructor(public id: string) {}
|
constructor(public id: string) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class BreakStatus {
|
export class BreakStatus {
|
||||||
public breakClipId?: string;
|
breakClipId?: string;
|
||||||
public breakId?: string;
|
breakId?: string;
|
||||||
public currentBreakClipTime?: number;
|
currentBreakClipTime?: number;
|
||||||
public currentBreakTime?: number;
|
currentBreakTime?: number;
|
||||||
public whenSkippable?: number;
|
whenSkippable?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class ContainerMetadata {
|
export class ContainerMetadata {
|
||||||
public containerDuration?: number;
|
containerDuration?: number;
|
||||||
public containerImages?: Image[];
|
containerImages?: Image[];
|
||||||
public sections?: MediaMetadata[];
|
sections?: MediaMetadata[];
|
||||||
public title?: string;
|
title?: string;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public containerType: ContainerType =
|
public containerType: ContainerType =
|
||||||
@@ -82,28 +82,28 @@ export class ContainerMetadata {
|
|||||||
|
|
||||||
|
|
||||||
export class EditTracksInfoRequest {
|
export class EditTracksInfoRequest {
|
||||||
public requestId = 0;
|
requestId = 0;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public activeTrackIds: (number[] | null) = null
|
public activeTrackIds: Nullable<number[]> = null
|
||||||
, public textTrackStyle: (string | null) = null) {
|
, public textTrackStyle: Nullable<string> = null) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class GenericMediaMetadata {
|
export class GenericMediaMetadata {
|
||||||
public images: (Image[] | undefined) = undefined;
|
images?: Image[];
|
||||||
public metadataType: number = MetadataType.GENERIC;
|
metadataType: number = MetadataType.GENERIC;
|
||||||
public releaseDate: (string | undefined) = undefined;
|
releaseDate?: string;
|
||||||
public releaseYear: (number | undefined) = undefined;
|
releaseYear?: number;
|
||||||
public subtitle: (string | undefined) = undefined;
|
subtitle?: string;
|
||||||
public title: (string | undefined) = undefined;
|
title?: string;
|
||||||
public type: number = MetadataType.GENERIC;
|
type: number = MetadataType.GENERIC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class GetStatusRequest {
|
export class GetStatusRequest {
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -117,16 +117,16 @@ export class LiveSeekableRange {
|
|||||||
|
|
||||||
|
|
||||||
export class LoadRequest {
|
export class LoadRequest {
|
||||||
public activeTrackIds: (number[] | null) = null;
|
activeTrackIds: Nullable<number[]> = null;
|
||||||
public atvCredentials?: string;
|
atvCredentials?: string;
|
||||||
public atvCredentialsType?: string;
|
atvCredentialsType?: string;
|
||||||
public autoplay: (boolean | null) = true;
|
autoplay: Nullable<boolean> = true;
|
||||||
public currentTime: (number | null) = null;
|
currentTime: Nullable<number> = null;
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
public media: MediaInfo;
|
media: MediaInfo;
|
||||||
public requestId = 0;
|
requestId = 0;
|
||||||
public sessionId: (string | null) = null;
|
sessionId: Nullable<string> = null;
|
||||||
public type = "LOAD";
|
type = "LOAD";
|
||||||
|
|
||||||
constructor(mediaInfo: MediaInfo) {
|
constructor(mediaInfo: MediaInfo) {
|
||||||
this.media = mediaInfo;
|
this.media = mediaInfo;
|
||||||
@@ -142,22 +142,22 @@ type Metadata =
|
|||||||
| TvShowMediaMetadata;
|
| TvShowMediaMetadata;
|
||||||
|
|
||||||
export class MediaInfo {
|
export class MediaInfo {
|
||||||
public atvEntity?: string;
|
atvEntity?: string;
|
||||||
public breakClips?: BreakClip[];
|
breakClips?: BreakClip[];
|
||||||
public breaks?: Break[];
|
breaks?: Break[];
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
public contentUrl?: string;
|
contentUrl?: string;
|
||||||
public duration: (number | null) = null;
|
duration: Nullable<number> = null;
|
||||||
public entity?: string;
|
entity?: string;
|
||||||
public hlsSegmentFormat?: HlsSegmentFormat;
|
hlsSegmentFormat?: HlsSegmentFormat;
|
||||||
public hlsVideoSegmentFormat?: HlsVideoSegmentFormat;
|
hlsVideoSegmentFormat?: HlsVideoSegmentFormat;
|
||||||
public metadata: (Metadata | null) = null;
|
metadata: Nullable<Metadata> = null;
|
||||||
public startAbsoluteTime?: number;
|
startAbsoluteTime?: number;
|
||||||
public streamType: string = StreamType.BUFFERED;
|
streamType: string = StreamType.BUFFERED;
|
||||||
public textTrackStyle: (TextTrackStyle | null) = null;
|
textTrackStyle: Nullable<TextTrackStyle> = null;
|
||||||
public tracks: (Track[] | null) = null;
|
tracks: Nullable<Track[]> = null;
|
||||||
public userActionStates?: UserActionState[];
|
userActionStates?: UserActionState[];
|
||||||
public vmapAdsRequest?: VastAdsRequest;
|
vmapAdsRequest?: VastAdsRequest;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public contentId: string
|
public contentId: string
|
||||||
@@ -166,13 +166,13 @@ export class MediaInfo {
|
|||||||
|
|
||||||
|
|
||||||
export class MediaMetadata {
|
export class MediaMetadata {
|
||||||
public queueItemId?: number;
|
queueItemId?: number;
|
||||||
public sectionDuration?: number;
|
sectionDuration?: number;
|
||||||
public sectionStartAbsoluteTime?: number;
|
sectionStartAbsoluteTime?: number;
|
||||||
public sectionStartTimeInContainer?: number;
|
sectionStartTimeInContainer?: number;
|
||||||
public sectionStartTimeInMedia?: number;
|
sectionStartTimeInMedia?: number;
|
||||||
public type: MetadataType;
|
type: MetadataType;
|
||||||
public metadataType: MetadataType;
|
metadataType: MetadataType;
|
||||||
|
|
||||||
constructor(type: MetadataType) {
|
constructor(type: MetadataType) {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
@@ -182,62 +182,62 @@ export class MediaMetadata {
|
|||||||
|
|
||||||
|
|
||||||
export class MovieMediaMetadata {
|
export class MovieMediaMetadata {
|
||||||
public images: (Image[] | undefined) = undefined;
|
images?: Image[];
|
||||||
public metadataType: number = MetadataType.MOVIE;
|
metadataType: number = MetadataType.MOVIE;
|
||||||
public releaseDate: (string | undefined) = undefined;
|
releaseDate?: string;
|
||||||
public releaseYear: (number | undefined) = undefined;
|
releaseYear?: number;
|
||||||
public studio: (string | undefined) = undefined;
|
studio?: string;
|
||||||
public subtitle: (string | undefined) = undefined;
|
subtitle?: string;
|
||||||
public title: (string | undefined) = undefined;
|
title?: string;
|
||||||
public type: number = MetadataType.MOVIE;
|
type: number = MetadataType.MOVIE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class MusicTrackMediaMetadata {
|
export class MusicTrackMediaMetadata {
|
||||||
public albumArtist: (string | undefined) = undefined;
|
albumArtist?: string;
|
||||||
public albumName: (string | undefined) = undefined;
|
albumName?: string;
|
||||||
public artist: (string | undefined) = undefined;
|
artist?: string;
|
||||||
public artistName: (string | undefined) = undefined;
|
artistName?: string;
|
||||||
public composer: (string | undefined) = undefined;
|
composer?: string;
|
||||||
public discNumber: (number | undefined) = undefined;
|
discNumber?: number;
|
||||||
public images: (Image[] | undefined) = undefined;
|
images?: Image[];
|
||||||
public metadataType: number = MetadataType.MUSIC_TRACK;
|
metadataType: number = MetadataType.MUSIC_TRACK;
|
||||||
public releaseDate: (string | undefined) = undefined;
|
releaseDate?: string;
|
||||||
public releaseYear: (number | undefined) = undefined;
|
releaseYear?: number;
|
||||||
public songName: (string | undefined) = undefined;
|
songName?: string;
|
||||||
public title: (string | undefined) = undefined;
|
title?: string;
|
||||||
public trackNumber: (number | undefined) = undefined;
|
trackNumber?: number;
|
||||||
public type: number = MetadataType.MUSIC_TRACK;
|
type: number = MetadataType.MUSIC_TRACK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class PauseRequest {
|
export class PauseRequest {
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class PhotoMediaMetadata {
|
export class PhotoMediaMetadata {
|
||||||
public artist: (string | undefined) = undefined;
|
artist?: string;
|
||||||
public creationDateTime: (string | undefined) = undefined;
|
creationDateTime?: string;
|
||||||
public height: (number | undefined) = undefined;
|
height?: number;
|
||||||
public images: (Image[] | undefined) = undefined;
|
images?: Image[];
|
||||||
public latitude: (number | undefined) = undefined;
|
latitude?: number;
|
||||||
public location: (string | undefined) = undefined;
|
location?: string;
|
||||||
public longitude: (number | undefined) = undefined;
|
longitude?: number;
|
||||||
public metadataType: number = MetadataType.PHOTO;
|
metadataType: number = MetadataType.PHOTO;
|
||||||
public title: (string | undefined) = undefined;
|
title?: string;
|
||||||
public type: number = MetadataType.PHOTO;
|
type: number = MetadataType.PHOTO;
|
||||||
public width: (number | undefined) = undefined;
|
width?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class PlayRequest {
|
export class PlayRequest {
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class QueueData {
|
export class QueueData {
|
||||||
public shuffle = false;
|
shuffle = false;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public id?: string
|
public id?: string
|
||||||
@@ -251,11 +251,11 @@ export class QueueData {
|
|||||||
|
|
||||||
|
|
||||||
export class QueueInsertItemsRequest {
|
export class QueueInsertItemsRequest {
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
public insertBefore: (number | null) = null;
|
insertBefore: Nullable<number> = null;
|
||||||
public requestId: (number | null) = null;
|
requestId: Nullable<number> = null;
|
||||||
public sessionId: (string | null) = null;
|
sessionId: Nullable<string> = null;
|
||||||
public type = "QUEUE_INSERT";
|
type = "QUEUE_INSERT";
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public items: QueueItem[]) {}
|
public items: QueueItem[]) {}
|
||||||
@@ -263,14 +263,14 @@ export class QueueInsertItemsRequest {
|
|||||||
|
|
||||||
|
|
||||||
export class QueueItem {
|
export class QueueItem {
|
||||||
public activeTrackIds: (number[] | null) = null;
|
activeTrackIds: Nullable<number[]> = null;
|
||||||
public autoplay = true;
|
autoplay = true;
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
public itemId: (number | null) = null;
|
itemId: Nullable<number> = null;
|
||||||
public media: MediaInfo;
|
media: MediaInfo;
|
||||||
public playbackDuration: (number | null) = null;
|
playbackDuration: Nullable<number> = null;
|
||||||
public preloadTime = 0;
|
preloadTime = 0;
|
||||||
public startTime = 0;
|
startTime = 0;
|
||||||
|
|
||||||
constructor(mediaInfo: MediaInfo) {
|
constructor(mediaInfo: MediaInfo) {
|
||||||
this.media = mediaInfo;
|
this.media = mediaInfo;
|
||||||
@@ -279,22 +279,22 @@ export class QueueItem {
|
|||||||
|
|
||||||
|
|
||||||
export class QueueJumpRequest {
|
export class QueueJumpRequest {
|
||||||
public jump: (number | null) = null;
|
jump: Nullable<number> = null;
|
||||||
public currentItemId: (number | null) = null;
|
currentItemId: Nullable<number> = null;
|
||||||
public sessionId: (number | null) = null;
|
sessionId: Nullable<number> = null;
|
||||||
public requestId: (number | null) = null;
|
requestId: Nullable<number> = null;
|
||||||
|
|
||||||
public type = "QUEUE_UPDATE";
|
type = "QUEUE_UPDATE";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class QueueLoadRequest {
|
export class QueueLoadRequest {
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
public repeatMode: string = RepeatMode.OFF;
|
repeatMode: string = RepeatMode.OFF;
|
||||||
public requestId: (number | null) = null;
|
requestId: Nullable<number> = null;
|
||||||
public sessionId: (string | null) = null;
|
sessionId: Nullable<string> = null;
|
||||||
public startIndex = 0;
|
startIndex = 0;
|
||||||
public type = "QUEUE_LOAD";
|
type = "QUEUE_LOAD";
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public items: QueueItem[]) {}
|
public items: QueueItem[]) {}
|
||||||
@@ -302,10 +302,10 @@ export class QueueLoadRequest {
|
|||||||
|
|
||||||
|
|
||||||
export class QueueRemoveItemsRequest {
|
export class QueueRemoveItemsRequest {
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
public requestId: (number | null) = null;
|
requestId: Nullable<number> = null;
|
||||||
public sessionId: (string | null) = null;
|
sessionId: Nullable<string> = null;
|
||||||
public type = "QUEUE_REMOVE";
|
type = "QUEUE_REMOVE";
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public itemIds: number[]) {}
|
public itemIds: number[]) {}
|
||||||
@@ -313,11 +313,11 @@ export class QueueRemoveItemsRequest {
|
|||||||
|
|
||||||
|
|
||||||
export class QueueReorderItemsRequest {
|
export class QueueReorderItemsRequest {
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
public insertBefore: (number | null) = null;
|
insertBefore: Nullable<number> = null;
|
||||||
public requestId: (number | null) = null;
|
requestId: Nullable<number> = null;
|
||||||
public sessionId: (string | null) = null;
|
sessionId: Nullable<string> = null;
|
||||||
public type = "QUEUE_REORDER";
|
type = "QUEUE_REORDER";
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public itemIds: number[]) {}
|
public itemIds: number[]) {}
|
||||||
@@ -325,19 +325,19 @@ export class QueueReorderItemsRequest {
|
|||||||
|
|
||||||
|
|
||||||
export class QueueSetPropertiesRequest {
|
export class QueueSetPropertiesRequest {
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
public repeatMode: (string | null) = null;
|
repeatMode: Nullable<string> = null;
|
||||||
public requestId: (number | null) = null;
|
requestId: Nullable<number> = null;
|
||||||
public sessionId: (string | null) = null;
|
sessionId: Nullable<string> = null;
|
||||||
public type = "QUEUE_UPDATE";
|
type = "QUEUE_UPDATE";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class QueueUpdateItemsRequest {
|
export class QueueUpdateItemsRequest {
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
public requestId: (number | null) = null;
|
requestId: Nullable<number> = null;
|
||||||
public sessionId: (string | null) = null;
|
sessionId: Nullable<string> = null;
|
||||||
public type = "QUEUE_UPDATE";
|
type = "QUEUE_UPDATE";
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public items: QueueItem[]) {}
|
public items: QueueItem[]) {}
|
||||||
@@ -345,40 +345,40 @@ export class QueueUpdateItemsRequest {
|
|||||||
|
|
||||||
|
|
||||||
export class SeekRequest {
|
export class SeekRequest {
|
||||||
public currentTime: (number | null) = null;
|
currentTime: Nullable<number> = null;
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
public resumeState: (string | null) = null;
|
resumeState: Nullable<string> = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class StopRequest {
|
export class StopRequest {
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class TextTrackStyle {
|
export class TextTrackStyle {
|
||||||
public backgroundColor: (string | null) = null;
|
backgroundColor: Nullable<string> = null;
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
public edgeColor: (string | null) = null;
|
edgeColor: Nullable<string> = null;
|
||||||
public edgeType: (string | null) = null;
|
edgeType: Nullable<string> = null;
|
||||||
public fontFamily: (string | null) = null;
|
fontFamily: Nullable<string> = null;
|
||||||
public fontGenericFamily: (string | null) = null;
|
fontGenericFamily: Nullable<string> = null;
|
||||||
public fontScale: (number | null) = null;
|
fontScale: Nullable<number> = null;
|
||||||
public fontStyle: (string | null) = null;
|
fontStyle: Nullable<string> = null;
|
||||||
public foregroundColor: (string | null) = null;
|
foregroundColor: Nullable<string> = null;
|
||||||
public windowColor: (string | null) = null;
|
windowColor: Nullable<string> = null;
|
||||||
public windowRoundedCornerRadius: (number | null) = null;
|
windowRoundedCornerRadius: Nullable<number> = null;
|
||||||
public windowType: (string | null) = null;
|
windowType: Nullable<string> = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class Track {
|
export class Track {
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
public language: (string | null) = null;
|
language: Nullable<string> = null;
|
||||||
public name: (string | null) = null;
|
name: Nullable<string> = null;
|
||||||
public subtype: (string | null) = null;
|
subtype: Nullable<string> = null;
|
||||||
public trackContentId: (string | null) = null;
|
trackContentId: Nullable<string> = null;
|
||||||
public trackContentType: (string | null) = null;
|
trackContentType: Nullable<string> = null;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public trackId: number
|
public trackId: number
|
||||||
@@ -387,23 +387,23 @@ export class Track {
|
|||||||
|
|
||||||
|
|
||||||
export class TvShowMediaMetadata {
|
export class TvShowMediaMetadata {
|
||||||
public episode: (number | undefined) = undefined;
|
episode?: number;
|
||||||
public episodeNumber: (number | undefined) = undefined;
|
episodeNumber?: number;
|
||||||
public episodeTitle: (string | undefined) = undefined;
|
episodeTitle?: string;
|
||||||
public images: (Image[] | undefined) = undefined;
|
images?: Image[];
|
||||||
public metadataType: number = MetadataType.TV_SHOW;
|
metadataType: number = MetadataType.TV_SHOW;
|
||||||
public originalAirdate: (string | undefined) = undefined;
|
originalAirdate?: string;
|
||||||
public releaseYear: (number | undefined) = undefined;
|
releaseYear?: number;
|
||||||
public season: (number | undefined) = undefined;
|
season?: number;
|
||||||
public seasonNumber: (number | undefined) = undefined;
|
seasonNumber?: number;
|
||||||
public seriesTitle: (string | undefined) = undefined;
|
seriesTitle?: string;
|
||||||
public title: (string | undefined) = undefined;
|
title?: string;
|
||||||
public type: number = MetadataType.TV_SHOW;
|
type: number = MetadataType.TV_SHOW;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export class UserActionState {
|
export class UserActionState {
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public userAction: UserAction) {}
|
public userAction: UserAction) {}
|
||||||
@@ -411,8 +411,8 @@ export class UserActionState {
|
|||||||
|
|
||||||
|
|
||||||
export class VastAdsRequest {
|
export class VastAdsRequest {
|
||||||
public adsResponse?: string;
|
adsResponse?: string;
|
||||||
public adTagUrl?: string;
|
adTagUrl?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -425,7 +425,7 @@ export class VideoInformation {
|
|||||||
|
|
||||||
|
|
||||||
export class VolumeRequest {
|
export class VolumeRequest {
|
||||||
public customData: any = null;
|
customData: any = null;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
public volume: Volume) {}
|
public volume: Volume) {}
|
||||||
|
|||||||
Reference in New Issue
Block a user