mirror of
https://github.com/Pax1601/DCSOlympus.git
synced 2025-10-29 16:56:34 +00:00
33 lines
645 B
TypeScript
33 lines
645 B
TypeScript
import { AudioSinksChangedEvent } from "../events";
|
|
import { getApp } from "../olympusapp";
|
|
|
|
/* Base audio sink class */
|
|
export abstract class AudioSink {
|
|
#name: string;
|
|
#gainNode: GainNode;
|
|
|
|
constructor() {
|
|
this.#gainNode = getApp().getAudioManager().getAudioContext().createGain();
|
|
}
|
|
|
|
setName(name) {
|
|
this.#name = name;
|
|
}
|
|
|
|
getName() {
|
|
return this.#name;
|
|
}
|
|
|
|
disconnect() {
|
|
this.getInputNode().disconnect();
|
|
AudioSinksChangedEvent.dispatch(getApp().getAudioManager().getSinks());
|
|
}
|
|
|
|
getInputNode() {
|
|
return this.#gainNode;
|
|
}
|
|
|
|
abstract setPtt(ptt: boolean): void;
|
|
abstract getPtt(): boolean;
|
|
}
|