@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;
@@ -1394,6 +1396,7 @@ export declare class FaustAudioWorkletNode<Poly extends boolean = false> extends
1394
1396
  protected fUICallback: UIHandler;
1395
1397
  protected fDescriptor: FaustUIInputItem[];
1396
1398
  protected fCommunicator: FaustAudioWorkletNodeCommunicator;
1399
+ protected fParamAliases: Record<string, string>;
1397
1400
  constructor(context: BaseAudioContext, name: string, factory: LooseFaustDspFactory, options?: Partial<FaustAudioWorkletNodeOptions<Poly>>);
1398
1401
  protected handleMessageAux: (e: MessageEvent) => void;
1399
1402
  private handleDeviceMotion;
package/dist/cjs/index.js CHANGED
@@ -2555,11 +2555,25 @@ export default ${(_b = jsCode.match(jsCodeHead)) == null ? void 0 : _b[1]};
2555
2555
  this.fPathTable = {};
2556
2556
  this.fUICallback = (item) => {
2557
2557
  if (item.type === "hbargraph" || item.type === "vbargraph") {
2558
+ const registerPath = (alias) => {
2559
+ if (this.fPathTable[alias] === void 0) {
2560
+ this.fPathTable[alias] = item.index;
2561
+ }
2562
+ };
2558
2563
  this.fOutputsItems.push(item.address);
2559
- this.fPathTable[item.address] = item.index;
2564
+ registerPath(item.address);
2565
+ registerPath(item.shortname);
2566
+ registerPath(item.label);
2560
2567
  } else if (item.type === "vslider" || item.type === "hslider" || item.type === "button" || item.type === "checkbox" || item.type === "nentry") {
2568
+ const registerPath = (alias) => {
2569
+ if (this.fPathTable[alias] === void 0) {
2570
+ this.fPathTable[alias] = item.index;
2571
+ }
2572
+ };
2561
2573
  this.fInputsItems.push(item.address);
2562
- this.fPathTable[item.address] = item.index;
2574
+ registerPath(item.address);
2575
+ registerPath(item.shortname);
2576
+ registerPath(item.label);
2563
2577
  this.fDescriptor.push(item);
2564
2578
  if (!item.meta) return;
2565
2579
  item.meta.forEach((meta) => {
@@ -4764,11 +4778,19 @@ export default ${(_b = jsCode.match(jsCodeHead)) == null ? void 0 : _b[1]};
4764
4778
  this.fComputeHandler = null;
4765
4779
  this.fPlotHandler = null;
4766
4780
  this.fDescriptor = [];
4781
+ this.fParamAliases = {};
4767
4782
  this.fInputsItems = [];
4768
4783
  this.fUICallback = (item) => {
4769
4784
  if (item.type === "vslider" || item.type === "hslider" || item.type === "button" || item.type === "checkbox" || item.type === "nentry") {
4770
4785
  this.fInputsItems.push(item.address);
4771
4786
  this.fDescriptor.push(item);
4787
+ const registerAlias = (alias) => {
4788
+ if (!this.fParamAliases[alias]) {
4789
+ this.fParamAliases[alias] = item.address;
4790
+ }
4791
+ };
4792
+ registerAlias(item.shortname);
4793
+ registerAlias(item.label);
4772
4794
  if (!item.meta) return;
4773
4795
  item.meta.forEach((meta) => {
4774
4796
  const { midi, acc, gyr } = meta;
@@ -4923,13 +4945,14 @@ export default ${(_b = jsCode.match(jsCodeHead)) == null ? void 0 : _b[1]};
4923
4945
  });
4924
4946
  }
4925
4947
  setParamValue(path, value) {
4926
- const e = { type: "param", data: { path, value } };
4927
- this.port.postMessage(e);
4928
- const param = this.parameters.get(path);
4948
+ const resolved = this.fParamAliases[path] || path;
4949
+ this.port.postMessage({ type: "param", data: { path: resolved, value } });
4950
+ const param = this.parameters.get(resolved);
4929
4951
  if (param) param.setValueAtTime(value, this.context.currentTime);
4930
4952
  }
4931
4953
  getParamValue(path) {
4932
- const param = this.parameters.get(path);
4954
+ const resolved = this.fParamAliases[path] || path;
4955
+ const param = this.parameters.get(resolved);
4933
4956
  return param ? param.value : 0;
4934
4957
  }
4935
4958
  getParams() {