Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug fix for Chromium #99

Merged
merged 6 commits into from
Oct 17, 2024
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
submodules: true

- name: Install Dependencies
run: yarn install
run: yarn install || yarn install

- name: Initialize dependencies
run: yarn lerna bootstrap
Expand Down
1 change: 1 addition & 0 deletions packages/BigMuff/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.faust-bigmuff",
"name": "Faust BigMuff",
"vendor": "Michel Buffa",
"description": "",
Expand Down
19 changes: 10 additions & 9 deletions packages/GuitarAmpSim60s/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
{
"name": "GuitarAmpSim60s",
"vendor": "Michel Buffa",
"description": "TODO",
"version": "1.0.0",
"apiVersion": "2.0.0",
"keywords": ["faust"],
"isInstrument": false,
"website": ""
}
"identifier": "com.webaudiomodules.wam-examples.guitarampsim60s",
"name": "GuitarAmpSim60s",
"vendor": "Michel Buffa",
"description": "TODO",
"version": "1.0.0",
"apiVersion": "2.0.0",
"keywords": ["faust"],
"isInstrument": false,
"website": ""
}
1 change: 1 addition & 0 deletions packages/StonePhaserStereo/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.stonephaser",
"name": "StonePhaser",
"vendor": "WebAudioModule",
"description": "StonePhaser Stereo written in Faust",
Expand Down
1 change: 1 addition & 0 deletions packages/TS9_OverdriveFaustGenerated/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.ts9overdrive",
"name": "TS9 Overdrive",
"vendor": "WebAudioModule",
"description": "Overdrive written in Faust",
Expand Down
1 change: 1 addition & 0 deletions packages/VirtualMidiKeyboardNoSound/src/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.virtual-midi-keyboard",
"name": "VirtualMidiKeyboardNoSound",
"vendor": "WebAudioModule",
"description": "Midi Virtual keyboard",
Expand Down
2 changes: 1 addition & 1 deletion packages/WamExample/src/WamExampleProcessor.js
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ const getWamExampleProcessor = (moduleId) => {
}
}
try {
registerProcessor('WebAudioModuleWamExample', WamExampleProcessor);
registerProcessor(moduleId, WamExampleProcessor);
} catch (error) {
console.warn(error);
}
Expand Down
1 change: 1 addition & 0 deletions packages/WamExample/src/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.wam-example",
"name": "WamExample",
"vendor": "WebAudioModule",
"description": "Simple example using WebAudioModule, WamNode, and WamProcessor classes.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@
}
}
try {
registerProcessor('WebAudioModuleWamExampleTemplate', WamExampleTemplateProcessor);
registerProcessor(moduleId, WamExampleTemplateProcessor);
} catch (error) {
console.warn(error);
}
Expand Down
1 change: 1 addition & 0 deletions packages/WamExampleTemplate/src/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.template",
"name": "WamExampleTemplate",
"vendor": "WebAudioModule",
"description": "Simple example template for WebAudioModule, WamNode, and WamProcessor classes.",
Expand Down
2 changes: 1 addition & 1 deletion packages/api
3 changes: 2 additions & 1 deletion packages/csoundPitchShifter/src/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
{
"identifier": "com.webaudiomodules.wam-examples.csound-pitchshifter",
"name": "Csound PitchShifter",
"vendor": "Steven Yi",
"description": "",
"version": "1.0.0",
"apiVersion": "2.0.0",
"thumbnail": "screenshot.png",
"keywords": ["faust"],
"keywords": ["csound"],
"isInstrument": false,
"website": ""
}
1 change: 1 addition & 0 deletions packages/disto_machine/src/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.distomachine-nobuilder",
"name": "DistoMachine (No builder)",
"vendor": "WebAudioModule",
"description": "DistoMachine written in native WebAudio nodes",
Expand Down
1 change: 1 addition & 0 deletions packages/faustFlute/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.faust-flute",
"name": "Faust Flute MIDI",
"vendor": "Grame",
"description": "Faust MIDI Instrument",
Expand Down
1 change: 1 addition & 0 deletions packages/faustPingPongDelay/plugin/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.faust-pingpongdelay",
"name": "Faust PingPongDelay",
"vendor": "Shihong Ren",
"description": "A PingPongDelay written in Faust with its default UI",
Expand Down
1 change: 1 addition & 0 deletions packages/faustPingPongDelayDefaultUI/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.faust-pingpongdelay-default-ui",
"name": "Faust PingPongDelay (DefaultUI)",
"vendor": "Shihong Ren",
"description": "A PingPongDelay written in Faust with its default UI",
Expand Down
2 changes: 1 addition & 1 deletion packages/faustPingPongDelayDefaultUI/gui.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class FaustDefaultGui extends HTMLElement {
listenWindowResize: false,
});
this.faustUI.paramChangeByUI = (path, value) => {
wamNode.setParamValue(path, value);
wamNode.setParameterValues({ [path]: { value } });
};
faustNode.output_handler = (path, value) => this.faustUI.paramChangeByDSP(path, value);
$container.style.width = `${this.faustUI.minWidth}px`;
Expand Down
21 changes: 11 additions & 10 deletions packages/graphicEqualizer/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
{
"name": "Equalizer",
"vendor": "Wasabi",
"description": "TODO",
"version": "1.0.0",
"apiVersion": "2.0.0",
"thumbnail": "assets/equal.png",
"keywords": ["equalizer", "mixing"],
"isInstrument": false,
"website": ""
}
"identifier": "com.webaudiomodules.wam-examples.graphic-equalizer",
"name": "Equalizer",
"vendor": "Wasabi",
"description": "TODO",
"version": "1.0.0",
"apiVersion": "2.0.0",
"thumbnail": "assets/equal.png",
"keywords": ["equalizer", "mixing"],
"isInstrument": false,
"website": ""
}
1 change: 1 addition & 0 deletions packages/livegain/src/livegain/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.livegain",
"name": "LiveGain",
"vendor": "Shihong Ren",
"description": "TypeScript/React LiveGain WebAudioModule",
Expand Down
16 changes: 11 additions & 5 deletions packages/livegain/src/livegain/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,19 @@ import { createElement, destroyElement } from "../gui";
import Node from "./LiveGainNode";
import UI from "./LiveGainUI";

const getBaseUrl = (relativeUrl: URL) => {
const baseUrl = relativeUrl.href.substring(0, relativeUrl.href.lastIndexOf("/"));
return baseUrl;
};

export type Parameters = "gain" | "frameRate" | "speedLim" | "min" | "max" | "step" | "orientation" | "metering";
export class LiveGainModule extends WebAudioModule<Node> {
static descriptor = {
name: "LiveGain",
vendor: "WebAudioModule"
};

_baseUrl = getBaseUrl(new URL(".", import.meta.url));
_descriptorUrl = `${this._baseUrl}/descriptor.json`;
async initialize(state?: any) {
await this._loadDescriptor();
return super.initialize(state);
}
async createAudioNode(initialState?: any) {
const node = new Node(this.audioContext);
const inputGainNode = this.audioContext.createGain();
Expand Down
1 change: 1 addition & 0 deletions packages/livegain/src/oscilloscope/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.oscilloscope",
"name": "Oscilloscope",
"vendor": "Shihong Ren",
"description": "TypeScript/React Oscilloscope WebAudioModule",
Expand Down
16 changes: 11 additions & 5 deletions packages/livegain/src/oscilloscope/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,19 @@ import SpectralAnalyserNode from "../worklets/SpectralAnalyser";
import { createElement, destroyElement } from "../gui";
import UI from "./OscilloscopeUI";

const getBaseUrl = (relativeUrl: URL) => {
const baseUrl = relativeUrl.href.substring(0, relativeUrl.href.lastIndexOf("/"));
return baseUrl;
};

export type Parameters = "frameRate" | "windowSize" | "interleaved" | "showStats";
export class OscilloscopeModule extends WebAudioModule<Node> {
static descriptor = {
name: "Oscilloscope",
vendor: "WebAudioModule"
};

_baseUrl = getBaseUrl(new URL(".", import.meta.url));
_descriptorUrl = `${this._baseUrl}/descriptor.json`;
async initialize(state?: any) {
await this._loadDescriptor();
return super.initialize(state);
}
async createAudioNode(initialState?: any) {
const node = new Node(this.audioContext);
const outGainNode = this.audioContext.createGain();
Expand Down
1 change: 1 addition & 0 deletions packages/livegain/src/spectrogram/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.spectrogram",
"name": "Spectrogram",
"vendor": "Shihong Ren",
"description": "TypeScript/React Spectrogram WebAudioModule",
Expand Down
16 changes: 11 additions & 5 deletions packages/livegain/src/spectrogram/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,19 @@ import SpectralAnalyserNode from "../worklets/SpectralAnalyser";
import { createElement, destroyElement } from "../gui";
import UI from "./SpectrogramUI";

const getBaseUrl = (relativeUrl: URL) => {
const baseUrl = relativeUrl.href.substring(0, relativeUrl.href.lastIndexOf("/"));
return baseUrl;
};

export type Parameters = "frameRate" | "windowSize" | "fftSize" | "fftOverlap" | "windowFunction";
export class SpectrogramModule extends WebAudioModule<Node> {
static descriptor = {
name: "Spectrogram",
vendor: "WebAudioModule"
};

_baseUrl = getBaseUrl(new URL(".", import.meta.url));
_descriptorUrl = `${this._baseUrl}/descriptor.json`;
async initialize(state?: any) {
await this._loadDescriptor();
return super.initialize(state);
}
async createAudioNode(initialState?: any) {
const node = new Node(this.audioContext);
const outGainNode = this.audioContext.createGain();
Expand Down
1 change: 1 addition & 0 deletions packages/livegain/src/spectroscope/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.spectroscope",
"name": "Spectroscope",
"vendor": "Shihong Ren",
"description": "TypeScript/React Spectroscope WebAudioModule",
Expand Down
16 changes: 11 additions & 5 deletions packages/livegain/src/spectroscope/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,19 @@ import SpectralAnalyserNode from "../worklets/SpectralAnalyser";
import { createElement, destroyElement } from "../gui";
import UI from "./SpectroscopeUI";

const getBaseUrl = (relativeUrl: URL) => {
const baseUrl = relativeUrl.href.substring(0, relativeUrl.href.lastIndexOf("/"));
return baseUrl;
};

export type Parameters = "frameRate" | "windowSize" | "fftSize" | "fftOverlap" | "windowFunction";
export class SpectroscopeModule extends WebAudioModule<Node> {
static descriptor = {
name: "Spectroscope",
vendor: "WebAudioModule"
};

_baseUrl = getBaseUrl(new URL(".", import.meta.url));
_descriptorUrl = `${this._baseUrl}/descriptor.json`;
async initialize(state?: any) {
await this._loadDescriptor();
return super.initialize(state);
}
async createAudioNode(initialState?: any) {
const node = new Node(this.audioContext);
const outGainNode = this.audioContext.createGain();
Expand Down
11 changes: 9 additions & 2 deletions packages/livegain/webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,16 @@ module.exports = (env, argv) => {
path: path.resolve(__dirname, 'dist'),
// library: 'JSPatcher',
libraryTarget: 'module',
// chunkFilename: 'js/[chunkhash].js'
// chunkFilename: 'js/[chunkhash].js',
publicPath: "auto"
},
module: {
parser: {
javascript: {
importMeta: false,
url: false
}
},
rules: [{
test: /\.worklet\.(ts|js)$/,
use: [{
Expand All @@ -50,7 +57,7 @@ module.exports = (env, argv) => {
loader: 'esbuild-loader',
options: {
loader: 'tsx',
target: 'es2017'
target: 'es2020'
}
},
exclude: /node_modules/
Expand Down
1 change: 1 addition & 0 deletions packages/midiOutput/src/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.midi-output",
"name": "MIDI Output",
"vendor": "WebAudioModule",
"description": "use WebMIDI API for output",
Expand Down
5 changes: 5 additions & 0 deletions packages/midiOutput/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ class MidiOutput extends WebAudioModule {
_baseUrl = getBaseUrl(new URL('.', import.meta.url));
_descriptorUrl = `${this._baseUrl}/descriptor.json`;

async initialize(state) {
await this._loadDescriptor();
return super.initialize(state);
}

/**
* @param {any} initialState
*/
Expand Down
1 change: 1 addition & 0 deletions packages/midiSequencer/src/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.midi-sequencer",
"name": "MIDI Sequencer",
"vendor": "WebAudioModule",
"description": "MIDI Sequencer (WAM events)",
Expand Down
4 changes: 4 additions & 0 deletions packages/midiSequencer/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ const getBaseUrl = (relativeUrl: URL) => {
class MidiSequencer extends WebAudioModule<MidiSequencerNode> {
_baseUrl = getBaseUrl(new URL(".", import.meta.url));
_descriptorUrl = `${this._baseUrl}/descriptor.json`;
async initialize(state?: any) {
await this._loadDescriptor();
return super.initialize(state);
}
async createAudioNode(initialState: any) {
await MidiSequencerNode.addModules(this.audioContext, this.moduleId);
const node: MidiSequencerNode = new MidiSequencerNode(this, {});
Expand Down
2 changes: 1 addition & 1 deletion packages/obxd/WasmProcessor.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
for (var c=0; c<numChannels; c++) {
let waaout = outputs[i][c];
let wamout = this.audiobufs[1][i*numChannels+c];
waaout.set(this.WAM.HEAPF32.subarray(wamout, wamout + this.bufsize));
waaout?.set(this.WAM.HEAPF32.subarray(wamout, wamout + this.bufsize));
}
}

Expand Down
1 change: 1 addition & 0 deletions packages/obxd/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.obxd",
"name": "OBXD",
"vendor": "Jari Kleimola 2017-2020 ([email protected])",
"description": "",
Expand Down
1 change: 1 addition & 0 deletions packages/pedalboard/src/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.pedalboard",
"name": "Pedalboard",
"vendor": "WebAudioModule",
"description": "A rack to load multiple WAMs",
Expand Down
1 change: 1 addition & 0 deletions packages/pingpongdelay/src/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.pingpongdelay",
"name": "PingPongDelay",
"vendor": "WebAudioModule",
"description": "A PingPongDelay written in native WebAudio nodes",
Expand Down
1 change: 1 addition & 0 deletions packages/quadrafuzz/src/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.quadrafuzz",
"name": "Quadrafuzz",
"vendor": "WebAudioModule",
"description": "Quadrafuzz written in native WebAudio nodes",
Expand Down
1 change: 1 addition & 0 deletions packages/quadrafuzz_without_builder/src/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.quadrafuzz-nobuilder",
"name": "Quadrafuzz (No builder)",
"vendor": "WebAudioModule",
"description": "Quadrafuzz written in native WebAudio nodes",
Expand Down
1 change: 1 addition & 0 deletions packages/randomnote/descriptor.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"identifier": "com.webaudiomodules.wam-examples.random-note-gen",
"name": "Random Note Generator",
"vendor": "WebAudioModule",
"description": "Generate Random MIDI Notes",
Expand Down
2 changes: 1 addition & 1 deletion packages/sdk
2 changes: 1 addition & 1 deletion packages/sdk-parammgr
Submodule sdk-parammgr updated 64 files
+429 −1 dist/index.d.ts
+227 −15 dist/index.js
+3 −3 dist/index.js.map
+3 −3 docs/typedoc/assets/highlight.css
+0 −1,043 docs/typedoc/assets/icons.css
+ docs/typedoc/assets/icons.png
+ docs/typedoc/assets/[email protected]
+59 −52 docs/typedoc/assets/main.js
+1 −0 docs/typedoc/assets/navigation.js
+1 −1 docs/typedoc/assets/search.js
+829 −828 docs/typedoc/assets/style.css
+ docs/typedoc/assets/widgets.png
+ docs/typedoc/assets/[email protected]
+9 −12 docs/typedoc/classes/AudioWorkletRegister.html
+1 −0 docs/typedoc/hierarchy.html
+9 −25 docs/typedoc/index.html
+6 −1 docs/typedoc/interfaces/AudioParamDescriptor.html
+9 −1 docs/typedoc/interfaces/AudioWorkletGlobalScope.html
+57 −37 docs/typedoc/interfaces/CompositeAudioNode.html
+12 −11 docs/typedoc/interfaces/InternalParameterDescriptor.html
+4 −1 docs/typedoc/interfaces/MessagePortRequest.html
+4 −1 docs/typedoc/interfaces/MessagePortResponse.html
+27 −3 docs/typedoc/interfaces/MgrAudioParam.html
+11 −7 docs/typedoc/interfaces/ParamMgrAudioWorkletOptions.html
+3 −1 docs/typedoc/interfaces/ParamMgrCallFromProcessor.html
+12 −13 docs/typedoc/interfaces/ParamMgrCallToProcessor.html
+125 −84 docs/typedoc/interfaces/ParamMgrNode.html
+6 −1 docs/typedoc/interfaces/ParamMgrNodeMsgIn.html
+6 −1 docs/typedoc/interfaces/ParamMgrNodeMsgOut.html
+10 −1 docs/typedoc/interfaces/ParamMgrOptions.html
+18 −13 docs/typedoc/interfaces/ParamMgrProcessor.html
+5 −5 docs/typedoc/interfaces/ParameterMappingTarget.html
+6 −1 docs/typedoc/interfaces/ParametersMappingConfiguratorOptions.html
+6 −1 docs/typedoc/interfaces/TypedAudioParamDescriptor.html
+27 −3 docs/typedoc/interfaces/TypedAudioWorkletNode.html
+9 −1 docs/typedoc/interfaces/TypedAudioWorkletNodeOptions.html
+3 −1 docs/typedoc/interfaces/TypedAudioWorkletProcessor.html
+1 −1 docs/typedoc/interfaces/TypedEventListener.html
+2 −1 docs/typedoc/interfaces/TypedEventListenerObject.html
+4 −1 docs/typedoc/interfaces/TypedEventTarget.html
+71 −37 docs/typedoc/interfaces/TypedMessageEvent.html
+15 −7 docs/typedoc/interfaces/TypedMessagePort.html
+3 −1 docs/typedoc/interfaces/TypedMessagePortEventMap.html
+2 −0 docs/typedoc/interfaces/WamParamMgrSDKBaseModuleScope.html
+44 −15 docs/typedoc/modules.html
+1 −0 docs/typedoc/types/InternalParametersDescriptor.html
+1 −0 docs/typedoc/types/ParametersMapping.html
+1 −0 docs/typedoc/types/PromisifiedFunction.html
+1 −0 docs/typedoc/types/PromisifiedFunctionMap.html
+1 −0 docs/typedoc/types/TypedAudioParamMap.html
+1 −0 docs/typedoc/types/TypedEventListenerOrEventListenerObject.html
+1 −0 docs/typedoc/types/UnPromisifiedFunction.html
+1 −0 docs/typedoc/types/UnPromisifiedFunctionMap.html
+1 −0 docs/typedoc/variables/CompositeAudioNode-1.html
+1 −0 docs/typedoc/variables/MgrAudioParam-1.html
+14 −0 docs/typedoc/variables/ParamMgrFactory.html
+4 −0 docs/typedoc/variables/ParamMgrNode-1.html
+1 −0 docs/typedoc/variables/TypedAudioWorkletNode-1.html
+1 −0 docs/typedoc/variables/TypedAudioWorkletProcessor-1.html
+341 −795 package-lock.json
+7 −7 package.json
+4 −0 src/ParamMgrNode.js
+2 −2 src/ParamMgrProcessor.js
+1 −1 src/sdk
Loading
Loading