UNPKG

@geheimgang188/fmod-service-api

Version:
66 lines (65 loc) 2.24 kB
import { IControlFmod } from '../ports/i-control-fmod'; import { TypedEmitter } from 'tiny-typed-emitter'; import { ILogger } from './i-logger'; import { ConnectionEvents, IConnect, IConnectEvents } from '../ports/i-connect'; import { IConfigureLogging } from '../ports/i-configure-logging'; export declare enum ConnectionState { Disconnected = "Disconnected", Connecting = "Connecting", Connected = "Connected", Disconnecting = "Disconnecting" } export interface FmodZeromqApiArgs { logger?: ILogger; heartbeatIntervalMillis?: number; socketStatusIntervalMillis?: number; } export declare class FmodZeromqApi extends TypedEmitter<ConnectionEvents> implements IControlFmod, IConnect, IConnectEvents, IConfigureLogging { private readonly _socketStatusInterval; private _socketStatusPoll; private readonly _heartbeatInterval; private _heartbeatPoll; private _lastId; private _socket; private readonly _zmqAddress; private readonly _logger; private readonly _sm; private readonly _socketSempahore; private _verboseLogging; constructor(address: string, args?: FmodZeromqApiArgs); get connectionState(): ConnectionState; get verboseLogging(): boolean; set verboseLogging(verbose: boolean); connect(): void; disconnect(): void; /** * Start an event; it can be stopped again * @param event */ start(event: string): Promise<void>; /** * Stop a running event * @param event */ stop(event: string): Promise<void>; stopStartedEvents(): Promise<void>; /** * Play an event (fire-and-forget) * @param event */ play(event: string): Promise<void>; loadBank(bankName: string): Promise<void>; unloadBank(bankName: string): Promise<void>; setParameter(eventId: string, name: string, value: number): Promise<void>; playVoice(eventId: string, key: string): Promise<void>; isPlaying(eventId: string): Promise<boolean>; listLoadedBankPaths(): Promise<string[]>; private doConnect; private doDisconnect; private sendCommand; private checkHeartbeat; private onConnecting; private onConnected; private onDisconnecting; private onDisconnected; }