@grame/faustwasm 0.13.7 → 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.
Files changed (40) hide show
  1. package/assets/standalone/faustwasm/index.d.ts +3 -0
  2. package/assets/standalone/faustwasm/index.js +29 -6
  3. package/assets/standalone/faustwasm/index.js.map +2 -2
  4. package/dist/cjs/index.d.ts +3 -0
  5. package/dist/cjs/index.js +29 -6
  6. package/dist/cjs/index.js.map +2 -2
  7. package/dist/cjs-bundle/index.d.ts +3 -0
  8. package/dist/cjs-bundle/index.js +29 -6
  9. package/dist/cjs-bundle/index.js.map +2 -2
  10. package/dist/esm/index.d.ts +3 -0
  11. package/dist/esm/index.js +29 -6
  12. package/dist/esm/index.js.map +2 -2
  13. package/dist/esm-bundle/index.d.ts +3 -0
  14. package/dist/esm-bundle/index.js +29 -6
  15. package/dist/esm-bundle/index.js.map +2 -2
  16. package/package.json +1 -1
  17. package/src/FaustAudioWorkletNode.ts +14 -4
  18. package/src/FaustWebAudioDsp.ts +16 -2
  19. package/src/types.ts +2 -0
  20. package/test/faustlive-wasm/faustwasm/index.d.ts +3 -0
  21. package/test/faustlive-wasm/faustwasm/index.js +29 -6
  22. package/test/faustlive-wasm/faustwasm/index.js.map +2 -2
  23. package/test/node/test-param-aliases.js +73 -0
  24. package/test/organ/create-node.js +252 -0
  25. package/test/organ/dsp-meta.json +131 -0
  26. package/test/organ/dsp-module.wasm +0 -0
  27. package/test/organ/faust-pwa.js +344 -0
  28. package/test/organ/faust-ui/index.css +442 -0
  29. package/test/organ/faust-ui/index.css.map +1 -0
  30. package/test/organ/faust-ui/index.d.ts +1 -0
  31. package/test/organ/faust-ui/index.js +3756 -0
  32. package/test/organ/faust-ui/index.js.map +1 -0
  33. package/test/organ/faustwasm/index.d.ts +1730 -0
  34. package/test/organ/faustwasm/index.js +5969 -0
  35. package/test/organ/faustwasm/index.js.map +7 -0
  36. package/test/organ/icon.png +0 -0
  37. package/test/organ/index.html +76 -0
  38. package/test/organ/index.js +69 -0
  39. package/test/organ/manifest.json +17 -0
  40. package/test/organ/service-worker.js +165 -0
@@ -132,6 +132,7 @@ export interface FaustUIInputItem {
132
132
  type: FaustUIInputType;
133
133
  label: string;
134
134
  address: string;
135
+ shortname: string;
135
136
  url: string;
136
137
  index: number;
137
138
  init?: number;
@@ -144,6 +145,7 @@ export interface FaustUIOutputItem {
144
145
  type: FaustUIOutputType;
145
146
  label: string;
146
147
  address: string;
148
+ shortname: string;
147
149
  index: number;
148
150
  min?: number;
149
151
  max?: number;
@@ -1401,6 +1403,7 @@ export declare class FaustAudioWorkletNode<Poly extends boolean = false> extends
1401
1403
  protected fUICallback: UIHandler;
1402
1404
  protected fDescriptor: FaustUIInputItem[];
1403
1405
  protected fCommunicator: FaustAudioWorkletNodeCommunicator;
1406
+ protected fParamAliases: Record<string, string>;
1404
1407
  constructor(context: BaseAudioContext, name: string, factory: LooseFaustDspFactory, options?: Partial<FaustAudioWorkletNodeOptions<Poly>>);
1405
1408
  protected handleMessageAux: (e: MessageEvent) => void;
1406
1409
  private handleDeviceMotion;
@@ -8314,11 +8314,25 @@ var FaustBaseWebAudioDsp = class _FaustBaseWebAudioDsp {
8314
8314
  this.fPathTable = {};
8315
8315
  this.fUICallback = (item) => {
8316
8316
  if (item.type === "hbargraph" || item.type === "vbargraph") {
8317
+ const registerPath = (alias) => {
8318
+ if (this.fPathTable[alias] === void 0) {
8319
+ this.fPathTable[alias] = item.index;
8320
+ }
8321
+ };
8317
8322
  this.fOutputsItems.push(item.address);
8318
- this.fPathTable[item.address] = item.index;
8323
+ registerPath(item.address);
8324
+ registerPath(item.shortname);
8325
+ registerPath(item.label);
8319
8326
  } else if (item.type === "vslider" || item.type === "hslider" || item.type === "button" || item.type === "checkbox" || item.type === "nentry") {
8327
+ const registerPath = (alias) => {
8328
+ if (this.fPathTable[alias] === void 0) {
8329
+ this.fPathTable[alias] = item.index;
8330
+ }
8331
+ };
8320
8332
  this.fInputsItems.push(item.address);
8321
- this.fPathTable[item.address] = item.index;
8333
+ registerPath(item.address);
8334
+ registerPath(item.shortname);
8335
+ registerPath(item.label);
8322
8336
  this.fDescriptor.push(item);
8323
8337
  if (!item.meta) return;
8324
8338
  item.meta.forEach((meta) => {
@@ -10523,11 +10537,19 @@ var FaustAudioWorkletNode = class extends (globalThis.AudioWorkletNode || null)
10523
10537
  this.fComputeHandler = null;
10524
10538
  this.fPlotHandler = null;
10525
10539
  this.fDescriptor = [];
10540
+ this.fParamAliases = {};
10526
10541
  this.fInputsItems = [];
10527
10542
  this.fUICallback = (item) => {
10528
10543
  if (item.type === "vslider" || item.type === "hslider" || item.type === "button" || item.type === "checkbox" || item.type === "nentry") {
10529
10544
  this.fInputsItems.push(item.address);
10530
10545
  this.fDescriptor.push(item);
10546
+ const registerAlias = (alias) => {
10547
+ if (!this.fParamAliases[alias]) {
10548
+ this.fParamAliases[alias] = item.address;
10549
+ }
10550
+ };
10551
+ registerAlias(item.shortname);
10552
+ registerAlias(item.label);
10531
10553
  if (!item.meta) return;
10532
10554
  item.meta.forEach((meta) => {
10533
10555
  const { midi, acc, gyr } = meta;
@@ -10682,13 +10704,14 @@ var FaustAudioWorkletNode = class extends (globalThis.AudioWorkletNode || null)
10682
10704
  });
10683
10705
  }
10684
10706
  setParamValue(path, value) {
10685
- const e = { type: "param", data: { path, value } };
10686
- this.port.postMessage(e);
10687
- const param = this.parameters.get(path);
10707
+ const resolved = this.fParamAliases[path] || path;
10708
+ this.port.postMessage({ type: "param", data: { path: resolved, value } });
10709
+ const param = this.parameters.get(resolved);
10688
10710
  if (param) param.setValueAtTime(value, this.context.currentTime);
10689
10711
  }
10690
10712
  getParamValue(path) {
10691
- const param = this.parameters.get(path);
10713
+ const resolved = this.fParamAliases[path] || path;
10714
+ const param = this.parameters.get(resolved);
10692
10715
  return param ? param.value : 0;
10693
10716
  }
10694
10717
  getParams() {