UNPKG

@geheimgang188/fmod-service-api

Version:
51 lines (50 loc) 1.86 kB
import { IRequireBank } from './ports/i-require-bank'; import { FmodParameter } from './fmod-types'; import { IFmodApi } from '../ports/i-fmod-api'; import { ILogger } from '../api/i-logger'; import { FmodEventType } from './interfaces/fmod-event-type'; import { MarkerData } from '../api/marker-data'; export declare class FmodEvent { readonly id: string; readonly eventName: string; readonly bankName: string; readonly additionalBankRequirements: string[]; private readonly _logger; private _api; private _bankLoader; private readonly _eventType; private readonly _markerListeners; readonly params: FmodParameter[]; constructor(name: string, bankName: string, additionalBankRequirements: string[], eventType: FmodEventType, logger?: ILogger); init(api: IFmodApi, bankLoader: IRequireBank): void; get api(): IFmodApi; get eventType(): FmodEventType; play(): Promise<void>; /** * Plays an event that contains a programmer instrument * @param voiceKey Key to pass to the programmer instrument */ playVoice(voiceKey: string): Promise<void>; /** * @param voiceKey Key used for the programmer instrument * @returns Number of stopped voices */ stopVoice(voiceKey: string): Promise<number>; start(): Promise<void>; /** * @returns Number of stopped instances */ stop(): Promise<number>; /** * Subscribe to marker events for this specific FMOD event. * Marker events occur when playback in FMOD runs over e.g. a destination marker. * * Only markers whose event path matches this event’s ID will be forwarded. */ onMarker(cb: (data: MarkerData) => void): void; /** * Unsubscribe a marker event callback. */ offMarker(cb: (data: MarkerData) => void): void; private ensureBankLoaded; }