@libraz/libsonare 1.0.4 → 1.2.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.
- package/README.md +299 -2
- package/dist/index.d.ts +1649 -202
- package/dist/index.js +2101 -994
- package/dist/index.js.map +1 -1
- package/dist/sonare-rt-module.js +2 -0
- package/dist/sonare-rt.js +2 -0
- package/dist/sonare-rt.wasm +0 -0
- package/dist/sonare.js +1 -1
- package/dist/sonare.wasm +0 -0
- package/dist/worklet.d.ts +447 -0
- package/dist/worklet.js +2078 -0
- package/dist/worklet.js.map +1 -0
- package/package.json +24 -27
- package/src/index.ts +3670 -0
- package/src/public_types.ts +852 -0
- package/src/sonare-rt.d.ts +93 -0
- package/src/sonare.js.d.ts +1332 -0
- package/src/stream_types.ts +133 -0
- package/src/wasm_types.ts +1248 -0
- package/src/worklet.ts +2140 -0
- package/README.npm.md +0 -114
- package/dist/index.d.ts.map +0 -1
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the standalone realtime WASM module (`sonare-rt`).
|
|
3
|
+
*
|
|
4
|
+
* This is a DELIBERATELY REDUCED surface optimized for the AudioWorklet hot
|
|
5
|
+
* path: a thin C ABI over {@link RealtimeEngine} that avoids embind, JS `val`
|
|
6
|
+
* marshalling, and string handling so the audio render quantum stays
|
|
7
|
+
* allocation- and GC-free. Use the full {@link RealtimeEngine} class from the
|
|
8
|
+
* main `sonare` bundle when you need the complete feature set.
|
|
9
|
+
*
|
|
10
|
+
* Omitted here (available only on the full embind `RealtimeEngine`):
|
|
11
|
+
* - Parameter registry & automation: `addParameter`, `parameterInfo`,
|
|
12
|
+
* `setAutomationLane`, `automationLaneCount`, `setParameter`,
|
|
13
|
+
* `setParameterSmoothed`.
|
|
14
|
+
* - Transport read-back: `getTransportState` (transport is driven from the
|
|
15
|
+
* worklet; state is mirrored on the main thread there).
|
|
16
|
+
* - Markers beyond seek: `setMarkers`, `markerCount`, `marker`,
|
|
17
|
+
* `setLoopFromMarkers`, `setTimeSignature`, `countInEndSample`.
|
|
18
|
+
* - Graph topology: `setGraph`, `graphNodeCount`, `graphConnectionCount`.
|
|
19
|
+
* - Clip scheduling: `setClips`, `clipCount`, `freezeOffline`.
|
|
20
|
+
* - Capture read-back & offline rendering: `setCaptureBuffer`, `captureStatus`,
|
|
21
|
+
* `capturedAudio`, `resetCapture`, `renderOffline`, `bounceOffline`.
|
|
22
|
+
* - Meter telemetry: `drainMeterTelemetry`.
|
|
23
|
+
*
|
|
24
|
+
* The exposed surface intentionally covers only transport, tempo/loop, marker
|
|
25
|
+
* seek, metronome, capture arming/punch, block processing, and basic telemetry
|
|
26
|
+
* drain.
|
|
27
|
+
*/
|
|
28
|
+
export interface SonareRtModuleOptions {
|
|
29
|
+
locateFile?: (path: string, scriptDirectory: string) => string;
|
|
30
|
+
wasmBinary?: ArrayBuffer | Uint8Array;
|
|
31
|
+
wasmMemory?: WebAssembly.Memory;
|
|
32
|
+
print?: (...args: unknown[]) => void;
|
|
33
|
+
printErr?: (...args: unknown[]) => void;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface SonareRtModule {
|
|
37
|
+
_malloc(size: number): number;
|
|
38
|
+
_free(ptr: number): void;
|
|
39
|
+
_sonare_rt_engine_abi_version(): number;
|
|
40
|
+
_sonare_rt_engine_create(): number;
|
|
41
|
+
_sonare_rt_engine_destroy(engine: number): void;
|
|
42
|
+
_sonare_rt_engine_prepare(
|
|
43
|
+
engine: number,
|
|
44
|
+
sampleRate: number,
|
|
45
|
+
maxBlockSize: number,
|
|
46
|
+
commandCapacity: number,
|
|
47
|
+
telemetryCapacity: number,
|
|
48
|
+
): number;
|
|
49
|
+
_sonare_rt_engine_play(engine: number, renderFrame: bigint): number;
|
|
50
|
+
_sonare_rt_engine_stop(engine: number, renderFrame: bigint): number;
|
|
51
|
+
_sonare_rt_engine_seek_sample(
|
|
52
|
+
engine: number,
|
|
53
|
+
timelineSample: bigint,
|
|
54
|
+
renderFrame: bigint,
|
|
55
|
+
): number;
|
|
56
|
+
_sonare_rt_engine_seek_ppq(engine: number, ppq: number, renderFrame: bigint): number;
|
|
57
|
+
_sonare_rt_engine_set_tempo(engine: number, bpm: number): number;
|
|
58
|
+
_sonare_rt_engine_set_loop(
|
|
59
|
+
engine: number,
|
|
60
|
+
startPpq: number,
|
|
61
|
+
endPpq: number,
|
|
62
|
+
enabled: number,
|
|
63
|
+
): number;
|
|
64
|
+
_sonare_rt_engine_seek_marker(engine: number, markerId: number, renderFrame: bigint): number;
|
|
65
|
+
_sonare_rt_engine_set_metronome_enabled(
|
|
66
|
+
engine: number,
|
|
67
|
+
enabled: number,
|
|
68
|
+
beatGain: number,
|
|
69
|
+
accentGain: number,
|
|
70
|
+
clickSamples: number,
|
|
71
|
+
): number;
|
|
72
|
+
_sonare_rt_engine_set_capture_armed(engine: number, armed: number): number;
|
|
73
|
+
_sonare_rt_engine_set_capture_punch(
|
|
74
|
+
engine: number,
|
|
75
|
+
startSample: bigint,
|
|
76
|
+
endSample: bigint,
|
|
77
|
+
enabled: number,
|
|
78
|
+
): number;
|
|
79
|
+
_sonare_rt_engine_process(
|
|
80
|
+
engine: number,
|
|
81
|
+
channelsPtr: number,
|
|
82
|
+
numChannels: number,
|
|
83
|
+
numFrames: number,
|
|
84
|
+
): void;
|
|
85
|
+
_sonare_rt_engine_drain_telemetry(
|
|
86
|
+
engine: number,
|
|
87
|
+
typesErrorsValuesPtr: number,
|
|
88
|
+
frameValuesPtr: number,
|
|
89
|
+
maxRecords: number,
|
|
90
|
+
): number;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export default function SonareRt(options?: SonareRtModuleOptions): Promise<SonareRtModule>;
|