UNPKG

wam-extensions

Version:

Unofficial extensions to the Web Audio Module 2 API

27 lines (20 loc) 702 B
import { WamParameterInfo } from "@webaudiomodules/api" export type ModulationTargetDelegate = { setModulationTarget: (param: WamParameterInfo) => void } export class ModulationTargetExtension { delegates: Map<string, ModulationTargetDelegate> constructor() { this.delegates = new Map() } setModulationTargetDelegate(pluginId: string, delegate?: ModulationTargetDelegate) { if (delegate) { this.delegates.set(pluginId, delegate) } else { this.delegates.delete(pluginId) } } getModulationTargetDelegate(pluginId: string): ModulationTargetDelegate | undefined { return this.delegates.get(pluginId) } }