Add PeriodicWave & VowelNode support

This commit is contained in:
jeromew 2025-12-04 12:56:54 +00:00
parent 25c20296a1
commit d7e240e2dc

View file

@ -56,10 +56,10 @@ const lazyRegister = (o) => {
this._audioid = ++audioid; this._audioid = ++audioid;
const s = JSON.parse(initCache); const s = JSON.parse(initCache);
s.type = this.constructor.name === 'AudiographNode' ? this.constructor._parentClassName : this.constructor.name; s.type = this.constructor.name === 'AudiographNode' ? this.constructor._parentClassName : this.constructor.name;
// special case for FeedbackDelayNode // special case for subclassed AudioNodes
// it is a subclass of DelayNode created in superdough/feedbackdelay.mjs // they are implemented in superdough but hard to get a reference on here
// it is not an AudioScheduledSourceNode anyway // they are not AudioScheduledSourceNodes anyway
if (s.type !== 'FeedbackDelayNode') { if (['FeedbackDelayNode', 'VowelNode'].indexOf(s.type) === -1) {
s.hasStop = window[s.type].prototype instanceof AudioScheduledSourceNode; s.hasStop = window[s.type].prototype instanceof AudioScheduledSourceNode;
} }
s.ac = this.context?.constructor.name || 'AudioParam'; s.ac = this.context?.constructor.name || 'AudioParam';
@ -471,6 +471,7 @@ export const debugAudiograph = async (argOptions = {}) => {
// and `new GainNode(..)` patterns // and `new GainNode(..)` patterns
lazyRegister(AudioNode); lazyRegister(AudioNode);
lazyRegister(AudioParam); lazyRegister(AudioParam);
lazyRegister(PeriodicWave);
const audioNodes = [ const audioNodes = [
AudioBufferSourceNode, AudioBufferSourceNode,