@libraz/libsonare 1.8.1 → 1.8.2

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 (107) hide show
  1. package/README.md +5 -5
  2. package/dist/analysis.js +2 -0
  3. package/dist/analysis.js.map +1 -1
  4. package/dist/index.d.ts +8 -2
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +1927 -140
  7. package/dist/index.js.map +1 -1
  8. package/dist/instrument_types.d.ts +27 -3
  9. package/dist/instrument_types.d.ts.map +1 -1
  10. package/dist/mastering_core.d.ts +3 -2
  11. package/dist/mastering_core.d.ts.map +1 -1
  12. package/dist/mixer.d.ts +2 -2
  13. package/dist/project.d.ts +5 -4
  14. package/dist/project.d.ts.map +1 -1
  15. package/dist/project_class.d.ts +57 -3
  16. package/dist/project_class.d.ts.map +1 -1
  17. package/dist/project_internal.d.ts +35 -1
  18. package/dist/project_internal.d.ts.map +1 -1
  19. package/dist/project_types.d.ts +10 -1
  20. package/dist/project_types.d.ts.map +1 -1
  21. package/dist/public_types.d.ts +1 -0
  22. package/dist/public_types.d.ts.map +1 -1
  23. package/dist/public_types_mastering.d.ts +1 -1
  24. package/dist/public_types_mastering.d.ts.map +1 -1
  25. package/dist/public_types_vocal_edit.d.ts +250 -0
  26. package/dist/public_types_vocal_edit.d.ts.map +1 -0
  27. package/dist/public_types_vocal_project.d.ts +63 -0
  28. package/dist/public_types_vocal_project.d.ts.map +1 -0
  29. package/dist/realtime_engine.d.ts +57 -10
  30. package/dist/realtime_engine.d.ts.map +1 -1
  31. package/dist/repair_dereverb.d.ts +1 -0
  32. package/dist/repair_dereverb.d.ts.map +1 -1
  33. package/dist/repair_noise.d.ts +1 -0
  34. package/dist/repair_noise.d.ts.map +1 -1
  35. package/dist/sonare-analysis.wasm +0 -0
  36. package/dist/sonare.d.ts +53 -0
  37. package/dist/sonare.js +1 -1
  38. package/dist/sonare.wasm +0 -0
  39. package/dist/vocal_edit.d.ts +131 -0
  40. package/dist/vocal_edit.d.ts.map +1 -0
  41. package/dist/vocal_edit_worker.d.ts +51 -0
  42. package/dist/vocal_edit_worker.d.ts.map +1 -0
  43. package/dist/vocal_edit_worker.js +1462 -0
  44. package/dist/vocal_edit_worker.js.map +1 -0
  45. package/dist/vocal_edit_worker_client.d.ts +118 -0
  46. package/dist/vocal_edit_worker_client.d.ts.map +1 -0
  47. package/dist/vocal_edit_worker_protocol.d.ts +139 -0
  48. package/dist/vocal_edit_worker_protocol.d.ts.map +1 -0
  49. package/dist/vocal_project.d.ts +17 -0
  50. package/dist/vocal_project.d.ts.map +1 -0
  51. package/dist/web_midi.d.ts +4 -0
  52. package/dist/web_midi.d.ts.map +1 -1
  53. package/dist/worker.js.map +1 -1
  54. package/dist/worklet/engine-mixer-facade.d.ts +2 -1
  55. package/dist/worklet/engine-mixer-facade.d.ts.map +1 -1
  56. package/dist/worklet/engine-node.d.ts +8 -0
  57. package/dist/worklet/engine-node.d.ts.map +1 -1
  58. package/dist/worklet/engine-processor.d.ts +2 -1
  59. package/dist/worklet/engine-processor.d.ts.map +1 -1
  60. package/dist/worklet/engine-register.d.ts.map +1 -1
  61. package/dist/worklet/engine-strips.d.ts +4 -2
  62. package/dist/worklet/engine-strips.d.ts.map +1 -1
  63. package/dist/worklet/engine.d.ts +15 -3
  64. package/dist/worklet/engine.d.ts.map +1 -1
  65. package/dist/worklet/guards.d.ts +3 -1
  66. package/dist/worklet/guards.d.ts.map +1 -1
  67. package/dist/worklet/messages.d.ts +50 -5
  68. package/dist/worklet/messages.d.ts.map +1 -1
  69. package/dist/worklet/protocol.d.ts +10 -0
  70. package/dist/worklet/protocol.d.ts.map +1 -1
  71. package/dist/worklet.d.ts +1 -1
  72. package/dist/worklet.d.ts.map +1 -1
  73. package/dist/worklet.js +223 -16
  74. package/dist/worklet.js.map +1 -1
  75. package/package.json +6 -1
  76. package/src/index.ts +33 -0
  77. package/src/instrument_types.ts +29 -3
  78. package/src/mastering_core.ts +3 -2
  79. package/src/mixer.ts +2 -2
  80. package/src/project.ts +8 -1
  81. package/src/project_class.ts +136 -1
  82. package/src/project_internal.ts +90 -0
  83. package/src/project_types.ts +11 -1
  84. package/src/public_types.ts +1 -0
  85. package/src/public_types_mastering.ts +2 -0
  86. package/src/public_types_vocal_edit.ts +289 -0
  87. package/src/public_types_vocal_project.ts +69 -0
  88. package/src/realtime_engine.ts +86 -9
  89. package/src/repair_dereverb.ts +1 -0
  90. package/src/repair_noise.ts +1 -0
  91. package/src/sonare.js.d.ts +53 -0
  92. package/src/vocal_edit.ts +885 -0
  93. package/src/vocal_edit_worker.ts +832 -0
  94. package/src/vocal_edit_worker_client.ts +812 -0
  95. package/src/vocal_edit_worker_protocol.ts +206 -0
  96. package/src/vocal_project.ts +327 -0
  97. package/src/web_midi.ts +100 -5
  98. package/src/worklet/engine-mixer-facade.ts +2 -1
  99. package/src/worklet/engine-node.ts +47 -0
  100. package/src/worklet/engine-processor.ts +46 -1
  101. package/src/worklet/engine-register.ts +3 -0
  102. package/src/worklet/engine-strips.ts +31 -4
  103. package/src/worklet/engine.ts +27 -3
  104. package/src/worklet/guards.ts +26 -0
  105. package/src/worklet/messages.ts +59 -2
  106. package/src/worklet/protocol.ts +10 -0
  107. package/src/worklet.ts +2 -0
@@ -0,0 +1,131 @@
1
+ import type { VocalAnalysis, VocalApplyRequest, VocalCapabilities, VocalCreateRequest, VocalEditOperation, VocalEditResult, VocalErrorShape, VocalHistoryState, VocalJobProgress, VocalNotesResult, VocalPitchEvaluation, VocalRenderRequest, VocalRenderResult, VocalRestoreRequest, VocalStateToken, VocalUint64 } from './public_types_vocal_edit';
2
+ /** Native symbols registered by the full vocal-edit WASM binding. */
3
+ export interface VocalWasmExports {
4
+ vocalEditApiVersion: () => number;
5
+ vocalEditAvailable: () => number;
6
+ vocalEditSessionCreate: (samples: Float32Array, sampleRate: number, options: unknown) => number;
7
+ vocalEditSessionRestore: (samples: Float32Array, sampleRate: number, state: Uint8Array, options: unknown) => number;
8
+ vocalEditSessionDestroy: (handle: number) => void;
9
+ vocalEditSessionNotes: (handle: number) => VocalNotesResult;
10
+ vocalEditDraftNotes: (handle: number) => VocalNotesResult;
11
+ vocalEditSessionToken: (handle: number) => VocalStateToken;
12
+ vocalEditDraftToken: (handle: number) => VocalStateToken;
13
+ vocalEditSessionAnalysis: (handle: number) => VocalAnalysis;
14
+ vocalEditSessionCapabilities: (handle: number) => VocalCapabilities;
15
+ vocalEditSessionOutputLength: (handle: number) => number;
16
+ vocalEditSessionHistory: (handle: number) => VocalHistoryState;
17
+ vocalEditSessionBeginEdit: (handle: number, revision: VocalUint64) => number;
18
+ vocalEditDraftApply: (handle: number, generation: VocalUint64, operations: readonly VocalEditOperation[]) => VocalEditResult;
19
+ vocalEditDraftCommit: (handle: number, revision: VocalUint64) => VocalEditResult;
20
+ vocalEditDraftCancel: (handle: number) => void;
21
+ vocalEditDraftDestroy: (handle: number) => void;
22
+ vocalEditSessionApplyHistory: (handle: number, revision: VocalUint64, redo: boolean) => VocalEditResult;
23
+ vocalEditEvaluatePitch: (handle: number, noteId: number, draft: boolean) => VocalPitchEvaluation;
24
+ vocalEditMapCoordinate: (handle: number, noteId: number, sample: number, draft: boolean, inverse: boolean) => number;
25
+ vocalEditCaptureSnapshot: (handle: number, draft: boolean) => number;
26
+ vocalEditSnapshotDestroy: (handle: number) => void;
27
+ vocalEditSnapshotOutputLength: (handle: number) => number;
28
+ vocalEditSnapshotRender: (handle: number, startSample: number, endSample: number, requestId: VocalUint64) => VocalRenderResult;
29
+ vocalEditRenderJobBegin: (handle: number, startSample: number, endSample: number, requestId: VocalUint64) => number;
30
+ vocalEditRenderJobNext: (handle: number) => boolean;
31
+ vocalEditRenderJobFinalize: (handle: number) => VocalRenderResult;
32
+ vocalEditRenderJobAbort: (handle: number) => void;
33
+ vocalEditRenderJobDestroy: (handle: number) => void;
34
+ vocalEditSessionExportState: (handle: number) => Uint8Array;
35
+ vocalEditLastErrorDetail: () => VocalErrorShape & {
36
+ readonly sequence: VocalUint64;
37
+ };
38
+ }
39
+ type RevisionArgument = VocalUint64 | {
40
+ expectedRevision?: VocalUint64;
41
+ };
42
+ /** Whether this build has the C vocal-edit surface linked. */
43
+ export declare function vocalEditAvailable(): boolean;
44
+ /** Version of the C vocal-edit ABI exposed by the loaded WASM module. */
45
+ export declare function vocalEditApiVersion(): number;
46
+ /** Analyse mono PCM, or adopt a host analysis, and open an editing session. */
47
+ export declare function createVocalEditSession(request: VocalCreateRequest): VocalEditSession;
48
+ /** Open a new session from an exported state blob and the same source PCM. */
49
+ export declare function restoreVocalEditSession(request: VocalRestoreRequest): VocalEditSession;
50
+ /** A vocal editing session. Disposing it also disposes every live draft it began. */
51
+ export declare class VocalEditSession {
52
+ private handle;
53
+ private readonly drafts;
54
+ private disposed;
55
+ /** @internal Instances are created by {@link createVocalEditSession} and {@link restoreVocalEditSession}. */
56
+ constructor(handle: number);
57
+ dispose(): void;
58
+ delete(): void;
59
+ destroy(): void;
60
+ private native;
61
+ token(): VocalStateToken;
62
+ revision(): VocalUint64;
63
+ notes(): VocalNotesResult;
64
+ analysis(): VocalAnalysis;
65
+ capabilities(): VocalCapabilities;
66
+ outputLengthSamples(): number;
67
+ history(): VocalHistoryState;
68
+ beginEdit(options?: RevisionArgument): VocalEditDraft;
69
+ undo(options?: RevisionArgument): VocalEditResult;
70
+ redo(options?: RevisionArgument): VocalEditResult;
71
+ evaluatePitch(noteId: number): VocalPitchEvaluation;
72
+ sourceSampleToDestinationSample(noteId: number, sourceSample: number): number;
73
+ destinationSampleToSourceSample(noteId: number, destinationSample: number): number;
74
+ captureRenderSnapshot(): VocalRenderSnapshot;
75
+ exportState(): Uint8Array;
76
+ /** @internal Used by the draft to remove itself from the owner set. */
77
+ _forgetDraft(draft: VocalEditDraft): void;
78
+ }
79
+ export declare class VocalEditDraft {
80
+ private handle;
81
+ private disposed;
82
+ private readonly owner;
83
+ /** @internal Instances are created by {@link VocalEditSession.beginEdit}. */
84
+ constructor(handle: number, owner: VocalEditSession);
85
+ private native;
86
+ token(): VocalStateToken;
87
+ notes(): VocalNotesResult;
88
+ apply(request: VocalApplyRequest): VocalEditResult;
89
+ commit(options?: RevisionArgument): VocalEditResult;
90
+ cancel(): void;
91
+ evaluatePitch(noteId: number): VocalPitchEvaluation;
92
+ sourceSampleToDestinationSample(noteId: number, sourceSample: number): number;
93
+ destinationSampleToSourceSample(noteId: number, destinationSample: number): number;
94
+ captureRenderSnapshot(): VocalRenderSnapshot;
95
+ dispose(): void;
96
+ delete(): void;
97
+ destroy(): void;
98
+ }
99
+ export declare class VocalRenderSnapshot {
100
+ private handle;
101
+ private disposed;
102
+ /** @internal Instances are created by a session or draft. */
103
+ constructor(handle: number);
104
+ private native;
105
+ outputLengthSamples(): number;
106
+ render(request: VocalRenderRequest): VocalRenderResult;
107
+ beginRenderJob(request: VocalRenderRequest): VocalRenderJob;
108
+ /**
109
+ * Render one native work unit per macrotask so `request.signal` can stop the
110
+ * job between units. A cancelled job publishes no partial PCM.
111
+ */
112
+ renderAsync(request: VocalRenderRequest): Promise<VocalRenderResult>;
113
+ dispose(): void;
114
+ delete(): void;
115
+ destroy(): void;
116
+ }
117
+ export declare class VocalRenderJob {
118
+ private handle;
119
+ private disposed;
120
+ /** @internal Instances are created by {@link VocalRenderSnapshot.beginRenderJob}. */
121
+ constructor(handle: number);
122
+ private native;
123
+ next(): VocalJobProgress;
124
+ finalize(): VocalRenderResult;
125
+ abort(): void;
126
+ dispose(): void;
127
+ delete(): void;
128
+ destroy(): void;
129
+ }
130
+ export type { VocalAnalysis, VocalCapabilities, VocalCreateRequest, VocalEditResult, VocalHistory, } from './public_types_vocal_edit';
131
+ //# sourceMappingURL=vocal_edit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocal_edit.d.ts","sourceRoot":"","sources":["../src/vocal_edit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAEhB,gBAAgB,EAChB,oBAAoB,EAEpB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EAEnB,eAAe,EACf,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAGnC,qEAAqE;AACrE,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB,EAAE,MAAM,MAAM,CAAC;IAClC,kBAAkB,EAAE,MAAM,MAAM,CAAC;IACjC,sBAAsB,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;IAChG,uBAAuB,EAAE,CACvB,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,OAAO,KACb,MAAM,CAAC;IACZ,uBAAuB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,gBAAgB,CAAC;IAC5D,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,gBAAgB,CAAC;IAC1D,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,eAAe,CAAC;IAC3D,mBAAmB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,eAAe,CAAC;IACzD,wBAAwB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,CAAC;IAC5D,4BAA4B,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,iBAAiB,CAAC;IACpE,4BAA4B,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACzD,uBAAuB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,iBAAiB,CAAC;IAC/D,yBAAyB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,KAAK,MAAM,CAAC;IAC7E,mBAAmB,EAAE,CACnB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,SAAS,kBAAkB,EAAE,KACtC,eAAe,CAAC;IACrB,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,KAAK,eAAe,CAAC;IACjF,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,4BAA4B,EAAE,CAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAE,OAAO,KACV,eAAe,CAAC;IACrB,sBAAsB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,oBAAoB,CAAC;IACjG,sBAAsB,EAAE,CACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,KACb,MAAM,CAAC;IACZ,wBAAwB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IACrE,wBAAwB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,6BAA6B,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,uBAAuB,EAAE,CACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,WAAW,KACnB,iBAAiB,CAAC;IACvB,uBAAuB,EAAE,CACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,WAAW,KACnB,MAAM,CAAC;IACZ,sBAAsB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACpD,0BAA0B,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,iBAAiB,CAAC;IAClE,uBAAuB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,yBAAyB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,2BAA2B,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;IAC5D,wBAAwB,EAAE,MAAM,eAAe,GAAG;QAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;KAAE,CAAC;CACtF;AAgJD,KAAK,gBAAgB,GAAG,WAAW,GAAG;IAAE,gBAAgB,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AAgMzE,8DAA8D;AAC9D,wBAAgB,kBAAkB,IAAI,OAAO,CAG5C;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AAED,+EAA+E;AAC/E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,gBAAgB,CAQpF;AAED,8EAA8E;AAC9E,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,GAAG,gBAAgB,CAkBtF;AAED,qFAAqF;AACrF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAS;IAEzB,6GAA6G;gBACjG,MAAM,EAAE,MAAM;IAK1B,OAAO,IAAI,IAAI;IAaf,MAAM,IAAI,IAAI;IAId,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,MAAM;IAQd,KAAK,IAAI,eAAe;IAIxB,QAAQ,IAAI,WAAW;IAIvB,KAAK,IAAI,gBAAgB;IAIzB,QAAQ,IAAI,aAAa;IAIzB,YAAY,IAAI,iBAAiB;IAIjC,mBAAmB,IAAI,MAAM;IAO7B,OAAO,IAAI,iBAAiB;IAK5B,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,cAAc;IASzD,IAAI,CAAC,OAAO,GAAE,gBAAqB,GAAG,eAAe;IAUrD,IAAI,CAAC,OAAO,GAAE,gBAAqB,GAAG,eAAe;IAUrD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB;IAMnD,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAW7E,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM;IAWlF,qBAAqB,IAAI,mBAAmB;IAI5C,WAAW,IAAI,UAAU;IAIzB,uEAAuE;IACvE,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;CAG1C;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IAEzC,6EAA6E;gBACjE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB;IAMnD,OAAO,CAAC,MAAM;IAQd,KAAK,IAAI,eAAe;IAIxB,KAAK,IAAI,gBAAgB;IAIzB,KAAK,CAAC,OAAO,EAAE,iBAAiB,GAAG,eAAe;IAalD,MAAM,CAAC,OAAO,GAAE,gBAAqB,GAAG,eAAe;IAQvD,MAAM,IAAI,IAAI;IAQd,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB;IAMnD,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAW7E,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM;IAWlF,qBAAqB,IAAI,mBAAmB;IAI5C,OAAO,IAAI,IAAI;IAUf,MAAM,IAAI,IAAI;IAId,OAAO,IAAI,IAAI;CAGhB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAS;IAEzB,6DAA6D;gBACjD,MAAM,EAAE,MAAM;IAK1B,OAAO,CAAC,MAAM;IAQd,mBAAmB,IAAI,MAAM;IAO7B,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,iBAAiB;IAgBtD,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,cAAc;IAgB3D;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4BpE,OAAO,IAAI,IAAI;IASf,MAAM,IAAI,IAAI;IAId,OAAO,IAAI,IAAI;CAGhB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAS;IAEzB,qFAAqF;gBACzE,MAAM,EAAE,MAAM;IAK1B,OAAO,CAAC,MAAM;IAQd,IAAI,IAAI,gBAAgB;IAIxB,QAAQ,IAAI,iBAAiB;IAM7B,KAAK,IAAI,IAAI;IAMb,OAAO,IAAI,IAAI;IASf,MAAM,IAAI,IAAI;IAId,OAAO,IAAI,IAAI;CAGhB;AAED,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,GACb,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type { VocalAnalysis, VocalCapabilities, VocalCreateRequest, VocalEditOperation, VocalEditResult, VocalHistoryState, VocalNotesResult, VocalPitchEvaluation, VocalRestoreRequest, VocalStateBytes, VocalStateToken } from './public_types_vocal_edit';
2
+ import { type VocalRenderSnapshot } from './vocal_edit';
3
+ import { type VocalWorkerRequestMessage, type VocalWorkerResponseMessage } from './vocal_edit_worker_protocol';
4
+ export interface VocalEditWorkerEndpoint {
5
+ postMessage(message: VocalWorkerResponseMessage, transfer?: Transferable[]): void;
6
+ addEventListener(type: 'message', listener: (event: MessageEvent<VocalWorkerRequestMessage>) => void): void;
7
+ }
8
+ export interface VocalEditWorkerNativeDraft {
9
+ token(): VocalStateToken;
10
+ notes(): VocalNotesResult;
11
+ apply(request: {
12
+ expectedGeneration: string;
13
+ operations: readonly VocalEditOperation[];
14
+ }): VocalEditResult;
15
+ commit(expectedRevision: string): VocalEditResult;
16
+ cancel(): void;
17
+ evaluatePitch(noteId: number): VocalPitchEvaluation;
18
+ sourceSampleToDestinationSample(noteId: number, sourceSample: number): number;
19
+ destinationSampleToSourceSample(noteId: number, destinationSample: number): number;
20
+ captureRenderSnapshot(): VocalRenderSnapshot;
21
+ exportState?(): VocalStateBytes;
22
+ dispose(): void;
23
+ }
24
+ export interface VocalEditWorkerNativeSession {
25
+ token(): VocalStateToken;
26
+ notes(): VocalNotesResult;
27
+ analysis(): VocalAnalysis;
28
+ capabilities(): VocalCapabilities;
29
+ beginEdit(expectedRevision?: string): VocalEditWorkerNativeDraft;
30
+ undo(expectedRevision?: string): VocalEditResult;
31
+ redo(expectedRevision?: string): VocalEditResult;
32
+ outputLengthSamples(): number;
33
+ history(): VocalHistoryState;
34
+ evaluatePitch(noteId: number): VocalPitchEvaluation;
35
+ sourceSampleToDestinationSample(noteId: number, sourceSample: number): number;
36
+ destinationSampleToSourceSample(noteId: number, destinationSample: number): number;
37
+ captureRenderSnapshot(): VocalRenderSnapshot;
38
+ exportState(): Uint8Array;
39
+ dispose(): void;
40
+ }
41
+ export interface VocalEditWorkerFactory {
42
+ create(request: VocalCreateRequest): VocalEditWorkerNativeSession;
43
+ restore(request: VocalRestoreRequest): VocalEditWorkerNativeSession;
44
+ }
45
+ export interface VocalEditWorkerDependencies {
46
+ factory?: VocalEditWorkerFactory;
47
+ initialize?: () => Promise<void>;
48
+ }
49
+ /** Install the dedicated vocal-edit protocol on a browser or Node endpoint. */
50
+ export declare function installVocalEditWorkerEndpoint(endpoint: VocalEditWorkerEndpoint, dependencies?: VocalEditWorkerDependencies): void;
51
+ //# sourceMappingURL=vocal_edit_worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocal_edit_worker.d.ts","sourceRoot":"","sources":["../src/vocal_edit_worker.ts"],"names":[],"mappings":"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"}