@opendaw/studio-core 0.0.44 → 0.0.45
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/dist/AudioOfflineRenderer.d.ts +1 -2
- package/dist/AudioOfflineRenderer.d.ts.map +1 -1
- package/dist/AudioOfflineRenderer.js +10 -3
- package/dist/EffectBox.d.ts +2 -2
- package/dist/EffectBox.d.ts.map +1 -1
- package/dist/EffectFactories.d.ts +6 -0
- package/dist/EffectFactories.d.ts.map +1 -1
- package/dist/EffectFactories.js +29 -24
- package/dist/EffectFactory.d.ts +1 -1
- package/dist/EffectFactory.d.ts.map +1 -1
- package/dist/EffectParameterDefaults.d.ts +5 -0
- package/dist/EffectParameterDefaults.d.ts.map +1 -0
- package/dist/EffectParameterDefaults.js +27 -0
- package/dist/Engine.d.ts +1 -1
- package/dist/Engine.d.ts.map +1 -1
- package/dist/EngineFacade.d.ts +1 -1
- package/dist/EngineFacade.d.ts.map +1 -1
- package/dist/EngineFacade.js +1 -1
- package/dist/EngineWorklet.d.ts +1 -1
- package/dist/EngineWorklet.d.ts.map +1 -1
- package/dist/EngineWorklet.js +3 -2
- package/dist/Preferences.d.ts +20 -0
- package/dist/Preferences.d.ts.map +1 -0
- package/dist/Preferences.js +46 -0
- package/dist/capture/CaptureDevices.js +2 -2
- package/dist/capture/RecordTrack.d.ts +2 -2
- package/dist/capture/RecordTrack.d.ts.map +1 -1
- package/dist/capture/Recording.d.ts +1 -1
- package/dist/capture/Recording.d.ts.map +1 -1
- package/dist/capture/Recording.js +1 -1
- package/dist/dawproject/BuiltinDevices.d.ts.map +1 -1
- package/dist/dawproject/BuiltinDevices.js +3 -2
- package/dist/dawproject/{DawProjectImport.d.ts → DawProjectImporter.d.ts} +1 -1
- package/dist/dawproject/DawProjectImporter.d.ts.map +1 -0
- package/dist/dawproject/{DawProjectImport.js → DawProjectImporter.js} +17 -5
- package/dist/dawproject/DawProjectImporter.test.d.ts +2 -0
- package/dist/dawproject/DawProjectImporter.test.d.ts.map +1 -0
- package/dist/dawproject/{DawProjectImport.test.js → DawProjectImporter.test.js} +1 -1
- package/dist/dawproject/DawProjectService.js +1 -1
- package/dist/dawproject/index.d.ts +1 -1
- package/dist/dawproject/index.d.ts.map +1 -1
- package/dist/dawproject/index.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/midi/MIDILearning.d.ts +1 -1
- package/dist/midi/MIDILearning.d.ts.map +1 -1
- package/dist/midi/MIDILearning.js +22 -3
- package/dist/processors.js +12 -12
- package/dist/processors.js.map +4 -4
- package/dist/project/Project.d.ts +10 -6
- package/dist/project/Project.d.ts.map +1 -1
- package/dist/project/Project.js +43 -30
- package/dist/project/ProjectMigration.d.ts.map +1 -1
- package/dist/project/ProjectMigration.js +10 -1
- package/dist/project/Recovery.d.ts +9 -0
- package/dist/project/Recovery.d.ts.map +1 -0
- package/dist/project/Recovery.js +49 -0
- package/dist/project/index.d.ts +1 -0
- package/dist/project/index.d.ts.map +1 -1
- package/dist/project/index.js +1 -0
- package/dist/workers-main.js +2 -2
- package/dist/workers-main.js.map +4 -4
- package/package.json +49 -49
- package/dist/dawproject/DawProjectImport.d.ts.map +0 -1
- package/dist/dawproject/DawProjectImport.test.d.ts +0 -2
- package/dist/dawproject/DawProjectImport.test.d.ts.map +0 -1
package/dist/dawproject/index.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export * from "./InstrumentProduct";
|
|
|
29
29
|
export * from "./MeterWorklet";
|
|
30
30
|
export * from "./Mixer";
|
|
31
31
|
export * from "./PeaksWriter";
|
|
32
|
+
export * from "./Preferences";
|
|
32
33
|
export * from "./RenderQuantum";
|
|
33
34
|
export * from "./WavFile";
|
|
34
35
|
export * from "./Workers";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,MAAM,CAAA;AACpB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AAEvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,MAAM,CAAA;AACpB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AAEvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -29,6 +29,7 @@ export * from "./InstrumentProduct";
|
|
|
29
29
|
export * from "./MeterWorklet";
|
|
30
30
|
export * from "./Mixer";
|
|
31
31
|
export * from "./PeaksWriter";
|
|
32
|
+
export * from "./Preferences";
|
|
32
33
|
export * from "./RenderQuantum";
|
|
33
34
|
export * from "./WavFile";
|
|
34
35
|
export * from "./Workers";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { byte, JSONValue, Provider, Terminable } from "@opendaw/lib-std";
|
|
2
2
|
import { Address, AddressJSON, PrimitiveField, PrimitiveValues } from "@opendaw/lib-box";
|
|
3
3
|
import { Pointers } from "@opendaw/studio-enums";
|
|
4
|
-
import { Project } from "../project
|
|
4
|
+
import { Project } from "../project";
|
|
5
5
|
export type MIDIConnectionJSON = ({
|
|
6
6
|
type: "control";
|
|
7
7
|
controlId: byte;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MIDILearning.d.ts","sourceRoot":"","sources":["../../src/midi/MIDILearning.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,IAAI,
|
|
1
|
+
{"version":3,"file":"MIDILearning.d.ts","sourceRoot":"","sources":["../../src/midi/MIDILearning.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,IAAI,EAIJ,SAAS,EAGT,QAAQ,EAGR,UAAU,EAEb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAA;AAEtF,OAAO,EAAC,QAAQ,EAAC,MAAM,uBAAuB,CAAA;AAE9C,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAA;AAIlC,MAAM,MAAM,kBAAkB,GAAG,CAAC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,IAAI,CAAA;CAAE,CAAC,GACjE;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,GACvC,SAAS,CAAA;AAEf,MAAM,WAAW,cAAe,SAAQ,UAAU;IAC9C,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACvB,MAAM,IAAI,kBAAkB,CAAA;CAC/B;AAID,qBAAa,YAAa,YAAW,UAAU;;gBAM/B,OAAO,EAAE,OAAO;IAK5B,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAC5C,oBAAoB,CAAC,OAAO,EAAE,OAAO;IAE/B,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,eAAe,EAAE,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC;IAsB/F,MAAM,IAAI,aAAa,CAAC,kBAAkB,CAAC;IAI3C,SAAS,IAAI,IAAI;CAiEpB"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Errors, isDefined, RuntimeNotifier, Terminator } from "@opendaw/lib-std";
|
|
1
|
+
import { Errors, isDefined, isNotNull, RuntimeNotifier, Terminator } from "@opendaw/lib-std";
|
|
2
2
|
import { Address } from "@opendaw/lib-box";
|
|
3
3
|
import { MidiData } from "@opendaw/lib-midi";
|
|
4
4
|
import { MidiDevices } from "./MidiDevices";
|
|
5
|
+
import { AnimationFrame } from "@opendaw/lib-dom";
|
|
5
6
|
export class MIDILearning {
|
|
6
7
|
#terminator = new Terminator();
|
|
7
8
|
#project;
|
|
@@ -72,6 +73,8 @@ export class MIDILearning {
|
|
|
72
73
|
}
|
|
73
74
|
#createMidiControlObserver(project, adapter, controlId) {
|
|
74
75
|
const registration = adapter.registerMidiControl();
|
|
76
|
+
let pendingValue = null;
|
|
77
|
+
const update = (value) => project.editing.modify(() => adapter.setValue(adapter.valueMapping.y(value)), false);
|
|
75
78
|
return {
|
|
76
79
|
observer: (event) => {
|
|
77
80
|
const data = event.data;
|
|
@@ -79,10 +82,26 @@ export class MIDILearning {
|
|
|
79
82
|
return;
|
|
80
83
|
}
|
|
81
84
|
if (MidiData.isController(data) && MidiData.readParam1(data) === controlId) {
|
|
82
|
-
|
|
85
|
+
const value = MidiData.asValue(data);
|
|
86
|
+
if (pendingValue === null) {
|
|
87
|
+
update(value);
|
|
88
|
+
pendingValue = value;
|
|
89
|
+
AnimationFrame.once(() => {
|
|
90
|
+
if (isNotNull(pendingValue)) {
|
|
91
|
+
update(pendingValue);
|
|
92
|
+
pendingValue = null;
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
pendingValue = value;
|
|
98
|
+
}
|
|
83
99
|
}
|
|
84
100
|
},
|
|
85
|
-
terminate: () =>
|
|
101
|
+
terminate: () => {
|
|
102
|
+
pendingValue = null;
|
|
103
|
+
registration.terminate();
|
|
104
|
+
}
|
|
86
105
|
};
|
|
87
106
|
}
|
|
88
107
|
}
|