webpd
Version:
WebPd is a compiler for audio programming language Pure Data allowing to run .pd patches on web pages.
45 lines (44 loc) • 1.33 kB
TypeScript
import { AudioSettings, CompilationSettings, DspGraph, NodeImplementations } from '@webpd/compiler';
import { PdJson } from '@webpd/pd-parser';
import { AbstractionLoader } from '../compile-dsp-graph/instantiate-abstractions';
import { NodeBuilders } from '../compile-dsp-graph/types';
import { PdGuiNode } from '../pd-gui/types';
export type WasmBuffer = ArrayBuffer;
export interface Artefacts {
pd?: string;
pdJson?: PdJson.Pd;
dspGraph?: {
graph: DspGraph.Graph;
arrays: DspGraph.Arrays;
pd: PdJson.Pd;
};
javascript?: string;
assemblyscript?: string;
wasm?: ArrayBuffer;
wav?: Uint8Array;
app?: {
[filename: string]: string | ArrayBuffer;
};
}
export interface RenderAudioSettings {
sampleRate: number;
blockSize: number;
previewDurationSeconds: number;
}
export interface BuildSettings {
audioSettings: AudioSettings;
renderAudioSettings: RenderAudioSettings;
nodeBuilders: NodeBuilders;
nodeImplementations: NodeImplementations;
abstractionLoader: AbstractionLoader;
io?: CompilationSettings['io'];
}
export interface WebPdMetadata {
graph: DspGraph.Graph;
pdNodes: {
[patchId: PdJson.GlobalId]: {
[pdNodeId: PdJson.LocalId]: PdJson.Node;
};
};
pdGui: Array<PdGuiNode>;
}