@vessel-dsp/runtime 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Binary file
@@ -1409,9 +1409,12 @@ function dbxVcaEnvelopeTerms(inputAmps, slopeVoltsPerNeper, kneeVolts) {
1409
1409
  function dbxVcaKneeVolts(vControl, kneeBaseVolts, kneeTrack) {
1410
1410
  return kneeBaseVolts + kneeTrack * (vControl - 4.65);
1411
1411
  }
1412
- function dbxVcaReleaseTc(depth01, baseSeconds, slowdown) {
1412
+ function dbxVcaReleaseTc(depth01, baseSeconds, slowdown, shape = 1, maxSeconds = Number.POSITIVE_INFINITY) {
1413
1413
  const depth = Math.min(1, Math.max(0, depth01));
1414
- return baseSeconds * Math.pow(slowdown, depth);
1414
+ return Math.min(
1415
+ maxSeconds,
1416
+ baseSeconds * Math.pow(slowdown, Math.pow(depth, shape))
1417
+ );
1415
1418
  }
1416
1419
  function dbxVcaPrimeTarget(inputAmps, refCurrentAmps) {
1417
1420
  return Math.abs(inputAmps) > refCurrentAmps ? 0 : 1;
@@ -6232,7 +6235,7 @@ var ReferenceRuntime = class {
6232
6235
  );
6233
6236
  const envPrev = state[dbxBaseIdx + 1] ?? 0;
6234
6237
  const envDepth = Math.min(1, Math.max(0, envPrev / 0.15));
6235
- const envTc = envTarget > envPrev ? stamp.attackSeconds : dbxVcaReleaseTc(envDepth, stamp.releaseSeconds, stamp.releaseSlowdown);
6238
+ const envTc = envTarget > envPrev ? stamp.attackSeconds : dbxVcaReleaseTc(envDepth, stamp.releaseSeconds, stamp.releaseSlowdown, stamp.releaseShape, stamp.releaseMaxSeconds);
6236
6239
  const envK = dbxVcaEnvelopeK(envTc, this.sampleRate);
6237
6240
  state[dbxBaseIdx + 1] = envPrev + (envTarget - envPrev) * envK;
6238
6241
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vessel-dsp/runtime",
3
- "version": "0.12.0",
3
+ "version": "0.14.0",
4
4
  "description": "Real-time MNA simulation runtime and solver console for VesselDSP Program ROMs.",
5
5
  "keywords": [
6
6
  "guitar-pedal",
@@ -58,7 +58,7 @@
58
58
  "generate-kernels": "bun scripts/generate-kernels.ts"
59
59
  },
60
60
  "dependencies": {
61
- "@vessel-dsp/compiler": "0.14.0"
61
+ "@vessel-dsp/compiler": "0.16.0"
62
62
  },
63
63
  "publishConfig": {
64
64
  "access": "public"