@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.
Files changed (67) hide show
  1. package/dist/AudioOfflineRenderer.d.ts +1 -2
  2. package/dist/AudioOfflineRenderer.d.ts.map +1 -1
  3. package/dist/AudioOfflineRenderer.js +10 -3
  4. package/dist/EffectBox.d.ts +2 -2
  5. package/dist/EffectBox.d.ts.map +1 -1
  6. package/dist/EffectFactories.d.ts +6 -0
  7. package/dist/EffectFactories.d.ts.map +1 -1
  8. package/dist/EffectFactories.js +29 -24
  9. package/dist/EffectFactory.d.ts +1 -1
  10. package/dist/EffectFactory.d.ts.map +1 -1
  11. package/dist/EffectParameterDefaults.d.ts +5 -0
  12. package/dist/EffectParameterDefaults.d.ts.map +1 -0
  13. package/dist/EffectParameterDefaults.js +27 -0
  14. package/dist/Engine.d.ts +1 -1
  15. package/dist/Engine.d.ts.map +1 -1
  16. package/dist/EngineFacade.d.ts +1 -1
  17. package/dist/EngineFacade.d.ts.map +1 -1
  18. package/dist/EngineFacade.js +1 -1
  19. package/dist/EngineWorklet.d.ts +1 -1
  20. package/dist/EngineWorklet.d.ts.map +1 -1
  21. package/dist/EngineWorklet.js +3 -2
  22. package/dist/Preferences.d.ts +20 -0
  23. package/dist/Preferences.d.ts.map +1 -0
  24. package/dist/Preferences.js +46 -0
  25. package/dist/capture/CaptureDevices.js +2 -2
  26. package/dist/capture/RecordTrack.d.ts +2 -2
  27. package/dist/capture/RecordTrack.d.ts.map +1 -1
  28. package/dist/capture/Recording.d.ts +1 -1
  29. package/dist/capture/Recording.d.ts.map +1 -1
  30. package/dist/capture/Recording.js +1 -1
  31. package/dist/dawproject/BuiltinDevices.d.ts.map +1 -1
  32. package/dist/dawproject/BuiltinDevices.js +3 -2
  33. package/dist/dawproject/{DawProjectImport.d.ts → DawProjectImporter.d.ts} +1 -1
  34. package/dist/dawproject/DawProjectImporter.d.ts.map +1 -0
  35. package/dist/dawproject/{DawProjectImport.js → DawProjectImporter.js} +17 -5
  36. package/dist/dawproject/DawProjectImporter.test.d.ts +2 -0
  37. package/dist/dawproject/DawProjectImporter.test.d.ts.map +1 -0
  38. package/dist/dawproject/{DawProjectImport.test.js → DawProjectImporter.test.js} +1 -1
  39. package/dist/dawproject/DawProjectService.js +1 -1
  40. package/dist/dawproject/index.d.ts +1 -1
  41. package/dist/dawproject/index.d.ts.map +1 -1
  42. package/dist/dawproject/index.js +1 -1
  43. package/dist/index.d.ts +1 -0
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +1 -0
  46. package/dist/midi/MIDILearning.d.ts +1 -1
  47. package/dist/midi/MIDILearning.d.ts.map +1 -1
  48. package/dist/midi/MIDILearning.js +22 -3
  49. package/dist/processors.js +12 -12
  50. package/dist/processors.js.map +4 -4
  51. package/dist/project/Project.d.ts +10 -6
  52. package/dist/project/Project.d.ts.map +1 -1
  53. package/dist/project/Project.js +43 -30
  54. package/dist/project/ProjectMigration.d.ts.map +1 -1
  55. package/dist/project/ProjectMigration.js +10 -1
  56. package/dist/project/Recovery.d.ts +9 -0
  57. package/dist/project/Recovery.d.ts.map +1 -0
  58. package/dist/project/Recovery.js +49 -0
  59. package/dist/project/index.d.ts +1 -0
  60. package/dist/project/index.d.ts.map +1 -1
  61. package/dist/project/index.js +1 -0
  62. package/dist/workers-main.js +2 -2
  63. package/dist/workers-main.js.map +4 -4
  64. package/package.json +49 -49
  65. package/dist/dawproject/DawProjectImport.d.ts.map +0 -1
  66. package/dist/dawproject/DawProjectImport.test.d.ts +0 -2
  67. package/dist/dawproject/DawProjectImport.test.d.ts.map +0 -1
@@ -1,4 +1,4 @@
1
1
  export * from "./DawProject";
2
2
  export * from "./DawProjectExporter";
3
- export * from "./DawProjectImport";
3
+ export * from "./DawProjectImporter";
4
4
  export * from "./DawProjectService";
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";
@@ -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/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,EAGJ,SAAS,EAET,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,oBAAoB,CAAA;AAG1C,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;CAgDpB"}
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
- project.editing.modify(() => adapter.setValue(adapter.valueMapping.y(MidiData.asValue(data))), false);
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: () => registration.terminate()
101
+ terminate: () => {
102
+ pendingValue = null;
103
+ registration.terminate();
104
+ }
86
105
  };
87
106
  }
88
107
  }