@vessel-dsp/chain 0.1.20 → 0.1.22

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.
package/dist/chain.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import { InputProfileNode } from "./nodes/input-profile-node.js";
2
2
  import { MasterNode } from "./nodes/master-node.js";
3
- import type { ChainNode, ChainPreset, NodeSnapshot, SignalChainOptions } from "./types.js";
3
+ import type { ChainNode, ChainPrepareOptions, ChainPreset, NodeSnapshot, SignalChainOptions } from "./types.js";
4
4
  export declare class SignalChain {
5
5
  readonly inputProfile: InputProfileNode;
6
6
  readonly master: MasterNode;
7
7
  private nodes;
8
8
  private sampleRate;
9
+ private oversample;
9
10
  constructor(options?: SignalChainOptions);
10
11
  addNode(node: ChainNode): this;
11
12
  insertNode(node: ChainNode, index: number): this;
@@ -17,7 +18,7 @@ export declare class SignalChain {
17
18
  getNodes(): readonly ChainNode[];
18
19
  getEffectNodes(): readonly ChainNode[];
19
20
  get length(): number;
20
- prepare(sampleRate: number): void;
21
+ prepare(sampleRate: number, options?: ChainPrepareOptions): void;
21
22
  reset(): void;
22
23
  process(input: Float64Array | Float32Array): Float64Array;
23
24
  getPreset(name?: string): ChainPreset;
@@ -1 +1 @@
1
- {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../src/chain.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EACX,SAAS,EACT,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,MAAM,YAAY,CAAC;AAEpB,qBAAa,WAAW;IACvB,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAE5B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,CAAC,EAAE,kBAAkB;IASxC,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAc9B,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQhD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAYlD,YAAY,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO;IAqBpD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAU/B,UAAU,IAAI,IAAI;IAQlB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAM1C,QAAQ,IAAI,SAAS,SAAS,EAAE;IAIhC,cAAc,IAAI,SAAS,SAAS,EAAE;IAItC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IASjC,KAAK,IAAI,IAAI;IAQb,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,GAAG,YAAY;IAUzD,SAAS,CAAC,IAAI,SAAmB,GAAG,WAAW;IAmB/C,UAAU,CACT,MAAM,EAAE,WAAW,EACnB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,GAAG,SAAS,GACzD,IAAI;IAqDP,MAAM,CAAC,IAAI,SAAiB,GAAG,MAAM;IAIrC,MAAM,CAAC,QAAQ,CACd,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,GAAG,SAAS,CAAC;KAC5D,GACC,WAAW;CAyBd"}
1
+ {"version":3,"file":"chain.d.ts","sourceRoot":"","sources":["../src/chain.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,KAAK,EACX,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,MAAM,YAAY,CAAC;AAEpB,qBAAa,WAAW;IACvB,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAE5B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAK;gBAEX,OAAO,CAAC,EAAE,kBAAkB;IAWxC,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAc9B,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQhD,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;IAYlD,YAAY,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO;IAqBpD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAU/B,UAAU,IAAI,IAAI;IAQlB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAM1C,QAAQ,IAAI,SAAS,SAAS,EAAE;IAIhC,cAAc,IAAI,SAAS,SAAS,EAAE;IAItC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAUhE,KAAK,IAAI,IAAI;IAQb,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,GAAG,YAAY;IAUzD,SAAS,CAAC,IAAI,SAAmB,GAAG,WAAW;IAmB/C,UAAU,CACT,MAAM,EAAE,WAAW,EACnB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,GAAG,SAAS,GACzD,IAAI;IAqDP,MAAM,CAAC,IAAI,SAAiB,GAAG,MAAM;IAIrC,MAAM,CAAC,QAAQ,CACd,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,SAAS,GAAG,SAAS,CAAC;KAC5D,GACC,WAAW;CAyBd"}
package/dist/chain.js CHANGED
@@ -3,17 +3,22 @@ import { GainNode } from "./nodes/gain-node.js";
3
3
  import { InputProfileNode } from "./nodes/input-profile-node.js";
4
4
  import { CabinetIrNode } from "./nodes/ir-node.js";
5
5
  import { MasterNode } from "./nodes/master-node.js";
6
+ import { validateOversample } from "./oversample.js";
6
7
  export class SignalChain {
7
8
  inputProfile;
8
9
  master;
9
10
  nodes = [];
10
11
  sampleRate = 48000;
12
+ oversample = 1;
11
13
  constructor(options) {
12
14
  this.inputProfile = new InputProfileNode(options?.inputProfile);
13
15
  this.master = new MasterNode(options?.master);
14
16
  if (options?.sampleRate) {
15
17
  this.sampleRate = options.sampleRate;
16
- this.prepare(options.sampleRate);
18
+ this.prepare(options.sampleRate, { oversample: options.oversample });
19
+ }
20
+ else if (options?.oversample !== undefined) {
21
+ this.oversample = validateOversample(options.oversample);
17
22
  }
18
23
  }
19
24
  addNode(node) {
@@ -27,14 +32,14 @@ export class SignalChain {
27
32
  else {
28
33
  this.nodes.push(node);
29
34
  }
30
- node.prepare(this.sampleRate);
35
+ node.prepare(this.sampleRate, { oversample: this.oversample });
31
36
  return this;
32
37
  }
33
38
  insertNode(node, index) {
34
39
  this.removeNode(node.id);
35
40
  const targetIndex = Math.max(0, Math.min(this.nodes.length, index));
36
41
  this.nodes.splice(targetIndex, 0, node);
37
- node.prepare(this.sampleRate);
42
+ node.prepare(this.sampleRate, { oversample: this.oversample });
38
43
  return this;
39
44
  }
40
45
  moveNode(id, targetIndex) {
@@ -97,11 +102,12 @@ export class SignalChain {
97
102
  get length() {
98
103
  return this.nodes.length;
99
104
  }
100
- prepare(sampleRate) {
105
+ prepare(sampleRate, options) {
101
106
  this.sampleRate = sampleRate;
107
+ this.oversample = validateOversample(options?.oversample);
102
108
  this.inputProfile.prepare(sampleRate);
103
109
  for (const node of this.nodes) {
104
- node.prepare(sampleRate);
110
+ node.prepare(sampleRate, { oversample: this.oversample });
105
111
  }
106
112
  this.master.prepare(sampleRate);
107
113
  }
package/dist/chain.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../src/chain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAQpD,MAAM,OAAO,WAAW;IACd,YAAY,CAAmB;IAC/B,MAAM,CAAa;IAEpB,KAAK,GAAgB,EAAE,CAAC;IACxB,UAAU,GAAG,KAAK,CAAC;IAE3B,YAAY,OAA4B;QACvC,IAAI,CAAC,YAAY,GAAG,IAAI,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAClC,CAAC;IACF,CAAC;IAED,OAAO,CAAC,IAAe;QACtB,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;YACxB,oFAAoF;YACpF,oEAAoE;YACpE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;QAClC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,UAAU,CAAC,IAAe,EAAE,KAAa;QACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,QAAQ,CAAC,EAAU,EAAE,WAAmB;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,IAAI,YAAY,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAEnC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAExB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,YAAY,CAAC,UAA6B;QACzC,MAAM,QAAQ,GAAgB,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5D,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,IAAI,EAAE,CAAC;gBACV,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC;QACF,CAAC;QAED,mDAAmD;QACnD,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,UAAU,CAAC,EAAU;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3C,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,UAAU;QACT,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,CAAC,EAAU;QACjB,IAAI,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC;QAC1D,IAAI,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ;QACP,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,cAAc;QACb,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,OAAO,CAAC,UAAkB;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,KAAkC;QACzC,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE/C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,SAAS,CAAC,IAAI,GAAG,gBAAgB;QAChC,MAAM,SAAS,GAAmB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxD,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE;SACrB,CAAC,CAAC,CAAC;QAEJ,OAAO;YACN,IAAI;YACJ,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;YAC3C,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;SAC/B,CAAC;IACH,CAAC;IAED,UAAU,CACT,MAAmB,EACnB,WAA2D;QAE3D,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YAClE,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAClE,IAAI,MAAM,CAAC,YAAY,CAAC,uBAAuB,KAAK,SAAS,EAAE,CAAC;gBAC/D,IAAI,CAAC,YAAY,CAAC,oBAAoB,CACrC,MAAM,CAAC,YAAY,CAAC,uBAAuB,CAC3C,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,YAAY,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBAC9D,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAC1C,MAAM,CAAC,YAAY,CAAC,sBAAsB,CAC1C,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,YAAY,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;gBACtD,IAAI,CAAC,YAAY,CAAC,QAAQ,CACzB,gBAAgB,EAChB,MAAM,CAAC,YAAY,CAAC,cAAc,CAClC,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,YAAY,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACjD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YACxE,CAAC;QACF,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjC,IAAI,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC1B,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;oBACzB,IAAI,IAAI,EAAE,CAAC;wBACV,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC;gBACF,CAAC;gBAED,IAAI,IAAI,EAAE,CAAC;oBACV,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;oBACpB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACzB,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,CAAC,IAAI,GAAG,cAAc;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,QAAQ,CACd,OAAe,EACf,OAGC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,CAAC,CAAC;QAE5E,MAAM,cAAc,GAAG,CAAC,IAAkB,EAAyB,EAAE;YACpE,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAChC,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,uFAAuF;YACvF,sFAAsF;YACtF,2EAA2E;YAC3E,iFAAiF;YACjF,6BAA6B;YAC7B,OAAO,SAAS,CAAC;QAClB,CAAC,CAAC;QAEF,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,IAAI,cAAc,CAAC,CAAC;QACjE,OAAO,KAAK,CAAC;IACd,CAAC;CACD"}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../src/chain.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Program, SupplyResolution } from "@vessel-dsp/compiler";
2
2
  import type { SupplyProfile } from "../supply-profile.js";
3
- import type { ChainNode } from "../types.js";
3
+ import type { ChainNode, ChainPrepareOptions } from "../types.js";
4
4
  export type RuntimeNodeOptions = {
5
5
  readonly source?: string;
6
6
  };
@@ -14,6 +14,11 @@ export declare class RuntimeNode implements ChainNode {
14
14
  private program;
15
15
  private params;
16
16
  private sampleRate;
17
+ /**
18
+ * The solver oversample factor from the last `prepare()` (1 when never
19
+ * prepared with one): the solver runs at host rate x this factor.
20
+ */
21
+ private oversample;
17
22
  private source;
18
23
  private supplyResolution;
19
24
  private supplyProfile;
@@ -50,8 +55,10 @@ export declare class RuntimeNode implements ChainNode {
50
55
  * The last applied supply profile, or null until one has been applied.
51
56
  */
52
57
  getSupplyProfile(): SupplyProfile | null;
53
- prepare(sampleRate: number): void;
58
+ prepare(sampleRate: number, options?: ChainPrepareOptions): void;
54
59
  reset(): void;
60
+ /** The oversample factor from the last `prepare()` (1 by default). */
61
+ getOversample(): number;
55
62
  getParam(id: string): number | undefined;
56
63
  setParam(id: string, value: number): void;
57
64
  getParams(): Record<string, number>;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-node.d.ts","sourceRoot":"","sources":["../../src/nodes/runtime-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAItE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,kBAAkB,GAAG;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAKF,qBAAa,WAAY,YAAW,SAAS;IAC5C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,qBAAqB;IAClC,QAAQ,UAAS;IACjB,GAAG,SAAO;IAEV,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAA8B;IAE5C,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,WAAW,CAAuB;gBAGzC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,kBAAkB;IAiB7B,UAAU,IAAI,OAAO;IAIrB;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IA0C9C;;;OAGG;IACH,mBAAmB,IAAI,gBAAgB,GAAG,IAAI;IAI9C;;OAEG;IACH,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAIxC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAWjC,KAAK,IAAI,IAAI;IAYb,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAUxC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAsBzC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAanC,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,GAAG,YAAY;IA0BzD,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,YAAY;CASpB"}
1
+ {"version":3,"file":"runtime-node.d.ts","sourceRoot":"","sources":["../../src/nodes/runtime-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAItE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlE,MAAM,MAAM,kBAAkB,GAAG;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAKF,qBAAa,WAAY,YAAW,SAAS;IAC5C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,qBAAqB;IAClC,QAAQ,UAAS;IACjB,GAAG,SAAO;IAEV,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAA8B;IAE5C,OAAO,CAAC,UAAU,CAAS;IAE3B;;;OAGG;IACH,OAAO,CAAC,UAAU,CAAK;IAEvB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,WAAW,CAAuB;gBAGzC,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,kBAAkB;IAiB7B,UAAU,IAAI,OAAO;IAIrB;;;;;;;;;;;;;;;;;;OAkBG;IACH,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IA0C9C;;;OAGG;IACH,mBAAmB,IAAI,gBAAgB,GAAG,IAAI;IAI9C;;OAEG;IACH,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAIxC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAYhE,KAAK,IAAI,IAAI;IAcb,sEAAsE;IACtE,aAAa,IAAI,MAAM;IAIvB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAUxC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAsBzC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAanC,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,GAAG,YAAY;IA0BzD,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,qBAAqB;IAuC7B,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,YAAY;CASpB"}
@@ -1,6 +1,7 @@
1
1
  import { resolveSupplyStamps } from "@vessel-dsp/compiler";
2
2
  import { ReferenceRuntime } from "@vessel-dsp/runtime";
3
3
  import { customSupplyProfile } from "../supply-profile.js";
4
+ import { validateOversample } from "../oversample.js";
4
5
  const SUPPLY_VOLTS_PARAM = "supplyOpenCircuitVolts";
5
6
  const SUPPLY_OHMS_PARAM = "supplyInternalResistanceOhms";
6
7
  export class RuntimeNode {
@@ -13,6 +14,11 @@ export class RuntimeNode {
13
14
  program;
14
15
  params = {};
15
16
  sampleRate = 48000;
17
+ /**
18
+ * The solver oversample factor from the last `prepare()` (1 when never
19
+ * prepared with one): the solver runs at host rate x this factor.
20
+ */
21
+ oversample = 1;
16
22
  source;
17
23
  supplyResolution = null;
18
24
  supplyProfile = null;
@@ -95,21 +101,28 @@ export class RuntimeNode {
95
101
  getSupplyProfile() {
96
102
  return this.supplyProfile;
97
103
  }
98
- prepare(sampleRate) {
104
+ prepare(sampleRate, options) {
99
105
  this.sampleRate = sampleRate;
100
- this.runtime.prepare(sampleRate);
106
+ this.oversample = validateOversample(options?.oversample);
107
+ this.runtime.prepare(sampleRate, { oversample: this.oversample });
101
108
  if (this.supplyProfile !== null && this.supplyResolution !== null) {
102
109
  this.applyProfileToRuntime(this.supplyProfile, this.supplyResolution);
103
110
  }
104
111
  }
105
112
  reset() {
106
113
  if (this.sampleRate > 0) {
107
- this.runtime.prepare(this.sampleRate);
114
+ this.runtime.prepare(this.sampleRate, {
115
+ oversample: this.oversample,
116
+ });
108
117
  if (this.supplyProfile !== null && this.supplyResolution !== null) {
109
118
  this.applyProfileToRuntime(this.supplyProfile, this.supplyResolution);
110
119
  }
111
120
  }
112
121
  }
122
+ /** The oversample factor from the last `prepare()` (1 by default). */
123
+ getOversample() {
124
+ return this.oversample;
125
+ }
113
126
  getParam(id) {
114
127
  if (id === SUPPLY_VOLTS_PARAM) {
115
128
  return this.appliedVoltsMagnitude ?? undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-node.js","sourceRoot":"","sources":["../../src/nodes/runtime-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-node.js","sourceRoot":"","sources":["../../src/nodes/runtime-node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Validate a caller-supplied oversample factor with exactly the runtime's
3
+ * rule (`ReferenceRuntime.prepare`, `V2WasmEngine.prepare`): floored,
4
+ * minimum 1, non-finite refused. `undefined` (absent) is 1, today's
5
+ * behaviour. Shared by `SignalChain` and `RuntimeNode` so the chain can
6
+ * never hand the runtime a factor it would refuse.
7
+ */
8
+ export declare function validateOversample(oversample: number | undefined): number;
9
+ //# sourceMappingURL=oversample.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oversample.d.ts","sourceRoot":"","sources":["../src/oversample.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAQzE"}
@@ -0,0 +1,16 @@
1
+ import { RuntimeError } from "@vessel-dsp/runtime";
2
+ /**
3
+ * Validate a caller-supplied oversample factor with exactly the runtime's
4
+ * rule (`ReferenceRuntime.prepare`, `V2WasmEngine.prepare`): floored,
5
+ * minimum 1, non-finite refused. `undefined` (absent) is 1, today's
6
+ * behaviour. Shared by `SignalChain` and `RuntimeNode` so the chain can
7
+ * never hand the runtime a factor it would refuse.
8
+ */
9
+ export function validateOversample(oversample) {
10
+ const factor = Math.max(1, Math.floor(oversample ?? 1));
11
+ if (!Number.isFinite(factor)) {
12
+ throw new RuntimeError(`oversample must be a finite integer of at least 1, got ${String(oversample)}`);
13
+ }
14
+ return factor;
15
+ }
16
+ //# sourceMappingURL=oversample.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oversample.js","sourceRoot":"","sources":["../src/oversample.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA8B;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,YAAY,CACrB,0DAA0D,MAAM,CAAC,UAAU,CAAC,EAAE,CAC9E,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}
package/dist/types.d.ts CHANGED
@@ -28,7 +28,7 @@ export interface ChainNode {
28
28
  readonly kind: string;
29
29
  bypassed: boolean;
30
30
  mix: number;
31
- prepare(sampleRate: number): void;
31
+ prepare(sampleRate: number, options?: ChainPrepareOptions): void;
32
32
  process(input: Float64Array | Float32Array): Float64Array;
33
33
  reset(): void;
34
34
  getParam(id: string): number | undefined;
@@ -58,9 +58,28 @@ export interface ChainPreset {
58
58
  }
59
59
  export interface SignalChainOptions {
60
60
  sampleRate?: number;
61
+ /**
62
+ * Solver oversample factor for circuit nodes, forwarded to every node
63
+ * on `prepare` (only `RuntimeNode` reads it today). 1 (or absent) is
64
+ * today's behaviour: the solver runs at the host rate.
65
+ */
66
+ oversample?: number;
61
67
  inputProfile?: Partial<InputProfileConfig>;
62
68
  master?: Partial<MasterConfig>;
63
69
  }
70
+ /**
71
+ * Per-`prepare` options, forwarded to every node. Only circuit-runtime
72
+ * nodes read `oversample`; every other node ignores it.
73
+ */
74
+ export type ChainPrepareOptions = {
75
+ /**
76
+ * Solver oversample factor (host x oversample is the solver rate).
77
+ * Validated like `ReferenceRuntime.prepare`: floored, minimum 1,
78
+ * non-finite refused. Powers of two run the band-limited resampler;
79
+ * any other factor keeps the legacy hold-and-last path.
80
+ */
81
+ readonly oversample?: number;
82
+ };
64
83
  export type CableLengthPreset = "15cm" | "30cm" | "50cm" | "1m" | "3m" | "6m" | "10m" | number;
65
84
  export declare function parseCableLengthMeters(value: CableLengthPreset | string | number | undefined, fallbackMeters?: number): number;
66
85
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GACnB,aAAa,GACb,WAAW,GACX,QAAQ,GACR,OAAO,GACP,QAAQ,CAAC;AAEZ,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wDAAwD;IACxD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4FAA4F;IAC5F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC5B,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;IAC1D,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;;OAIG;IACH,OAAO,CAAC,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,KAAK,CAAC;IACf,YAAY,EAAE,kBAAkB,CAAC;IACjC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,iBAAiB,GAC1B,MAAM,GACN,MAAM,GACN,MAAM,GACN,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,MAAM,CAAC;AAEV,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,EACtD,cAAc,SAAM,GAClB,MAAM,CAkBR"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GACnB,aAAa,GACb,WAAW,GACX,QAAQ,GACR,OAAO,GACP,QAAQ,CAAC;AAEZ,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wDAAwD;IACxD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,4FAA4F;IAC5F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC5B,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACjE,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;IAC1D,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;;OAIG;IACH,OAAO,CAAC,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,KAAK,CAAC;IACf,YAAY,EAAE,kBAAkB,CAAC;IACjC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAC1B,MAAM,GACN,MAAM,GACN,MAAM,GACN,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,MAAM,CAAC;AAEV,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,EACtD,cAAc,SAAM,GAClB,MAAM,CAkBR"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAqFA,MAAM,UAAU,sBAAsB,CACrC,KAAsD,EACtD,cAAc,GAAG,GAAG;IAEpB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,cAAc,CAAC;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;IAC1D,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;IACpD,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;IAC7D,CAAC;IACD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAyGA,MAAM,UAAU,sBAAsB,CACrC,KAAsD,EACtD,cAAc,GAAG,GAAG;IAEpB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,cAAc,CAAC;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;IAC1D,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;IACpD,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;IAC7D,CAAC;IACD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC;AACpD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vessel-dsp/chain",
3
- "version": "0.1.20",
3
+ "version": "0.1.22",
4
4
  "description": "Headless audio signal chain graph engine for VesselDSP circuits, guitar profiling, amp shaping, and cabinet IRs.",
5
5
  "keywords": [
6
6
  "dsp",
@@ -57,9 +57,9 @@
57
57
  "typecheck": "tsc --noEmit -p tsconfig.json"
58
58
  },
59
59
  "dependencies": {
60
- "@vessel-dsp/compiler": "0.17.0",
61
- "@vessel-dsp/core": "0.17.0",
62
- "@vessel-dsp/runtime": "0.14.1"
60
+ "@vessel-dsp/compiler": "0.18.1",
61
+ "@vessel-dsp/core": "0.17.1",
62
+ "@vessel-dsp/runtime": "0.15.1"
63
63
  },
64
64
  "publishConfig": {
65
65
  "access": "public"