Tone.js/Tone/signal/SignalOperator.ts

33 lines
802 B
TypeScript
Raw Permalink Normal View History

2024-05-03 14:10:40 +00:00
import { optionsFromArguments } from "../core/util/Defaults.js";
2024-05-03 15:09:28 +00:00
import {
InputNode,
ToneAudioNode,
ToneAudioNodeOptions,
} from "../core/context/ToneAudioNode.js";
2024-05-03 14:10:40 +00:00
import { connectSignal } from "./Signal.js";
2019-11-14 00:34:55 +00:00
export type SignalOperatorOptions = ToneAudioNodeOptions;
/**
* A signal operator has an input and output and modifies the signal.
*/
2024-05-03 15:09:28 +00:00
export abstract class SignalOperator<
Options extends SignalOperatorOptions,
> extends ToneAudioNode<Options> {
constructor(options?: Partial<Options>);
constructor() {
2024-05-03 15:09:28 +00:00
super(
Object.assign(
optionsFromArguments(SignalOperator.getDefaults(), arguments, [
"context",
])
)
);
}
2019-11-17 18:09:19 +00:00
connect(destination: InputNode, outputNum = 0, inputNum = 0): this {
connectSignal(this, destination, outputNum, inputNum);
return this;
}
}