Switch to tracking grace period in node pool; add negative begin and ends

This commit is contained in:
Aria 2026-01-12 17:58:20 -06:00
parent 1eb657e6fe
commit 1f1f3288a6
4 changed files with 53 additions and 75 deletions

View file

@ -18,7 +18,7 @@ import {
} from './helpers.mjs';
import { logger } from './logger.mjs';
import { getNoiseMix, getNoiseOscillator } from './noise.mjs';
import { getNodeFromPool, markWorkletAsDead, releaseNodeToPool } from './nodePools.mjs';
import { getNodeFromPool, releaseNodeToPool } from './nodePools.mjs';
const waveforms = ['triangle', 'square', 'sawtooth', 'sine', 'user', 'one'];
const waveformAliases = [
@ -185,13 +185,6 @@ export function registerSynthSounds() {
param.setValueAtTime(target, now);
});
o.port.postMessage({ type: 'initialize' });
o.port.onmessage = (e) => {
if (e.data.type === 'died') {
markWorkletAsDead(o);
o.port.postMessage({ type: 'diedACK' });
}
o.port.onmessage = null;
};
const gainAdjustment = 1 / Math.sqrt(voices);
getPitchEnvelope(o.parameters.get('detune'), value, begin, holdend);
const vibratoHandle = getVibratoOscillator(o.parameters.get('detune'), value, begin);