wam-extensions
Version:
Unofficial extensions to the Web Audio Module 2 API
27 lines (20 loc) • 702 B
text/typescript
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)
}
}