Improve receiver status handling

This commit is contained in:
hensm
2021-04-27 08:14:02 +01:00
parent dcd6caf1b2
commit c6270289f7
3 changed files with 67 additions and 40 deletions

View File

@@ -1,22 +1,23 @@
"use strict";
export interface ReceiverStatus {
volume: {
muted: boolean;
stepInterval: number;
controlType: string;
level: number;
};
applications?: Array<{
displayName: string;
statusText: string;
transportId: string;
isIdleScreen: boolean;
sessionId: string;
namespaces: Array<{ name: string }>;
appId: string;
}>;
userEq?: {};
applications?: Array<{
appId: string
, appType: string
, displayName: string
, iconUrl: string
, isIdleScreen: boolean
, launchedFromCloud: boolean
, namespaces: Array<{ name: string }>
, sessionId: string
, statusText: string
, transportId: string
, universalAppId: string
}>
, isActiveInput: boolean
, isStandBy: boolean
, userEq: unknown
, volume: Volume
}
export interface MediaStatus {
@@ -84,3 +85,20 @@ export interface Receiver {
port: number;
status?: ReceiverStatus;
}
export enum VolumeControlType {
ATTENUATION = "attenuation"
, FIXED = "fixed"
, MASTER = "master"
}
export class Volume {
public controlType?: VolumeControlType;
public stepInterval?: number;
constructor(
public level: (number | null) = null
, public muted: (boolean | null) = null) {}
}