@opendaw/studio-core 0.0.56 → 0.0.57

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 (127) hide show
  1. package/dist/AudioOfflineRenderer.d.ts.map +1 -1
  2. package/dist/AudioOfflineRenderer.js +30 -17
  3. package/dist/EffectBox.d.ts +2 -2
  4. package/dist/EffectBox.d.ts.map +1 -1
  5. package/dist/EffectFactories.d.ts +3 -0
  6. package/dist/EffectFactories.d.ts.map +1 -1
  7. package/dist/EffectFactories.js +40 -27
  8. package/dist/EffectFactory.d.ts +3 -2
  9. package/dist/EffectFactory.d.ts.map +1 -1
  10. package/dist/Engine.d.ts +2 -0
  11. package/dist/Engine.d.ts.map +1 -1
  12. package/dist/EngineFacade.d.ts +2 -0
  13. package/dist/EngineFacade.d.ts.map +1 -1
  14. package/dist/EngineFacade.js +2 -0
  15. package/dist/EngineWorklet.d.ts +2 -0
  16. package/dist/EngineWorklet.d.ts.map +1 -1
  17. package/dist/EngineWorklet.js +13 -1
  18. package/dist/ExternalLib.d.ts +6 -0
  19. package/dist/ExternalLib.d.ts.map +1 -0
  20. package/dist/ExternalLib.js +11 -0
  21. package/dist/FilePickerAcceptTypes.d.ts +1 -0
  22. package/dist/FilePickerAcceptTypes.d.ts.map +1 -1
  23. package/dist/FilePickerAcceptTypes.js +4 -0
  24. package/dist/Preferences.d.ts +2 -0
  25. package/dist/Preferences.d.ts.map +1 -1
  26. package/dist/Preferences.js +2 -1
  27. package/dist/capture/RecordAudio.d.ts +1 -1
  28. package/dist/capture/RecordAudio.d.ts.map +1 -1
  29. package/dist/capture/RecordAudio.js +4 -5
  30. package/dist/capture/RecordMidi.d.ts +1 -1
  31. package/dist/capture/RecordMidi.d.ts.map +1 -1
  32. package/dist/capture/RecordMidi.js +1 -2
  33. package/dist/capture/Recording.js +2 -2
  34. package/dist/dawproject/AudioUnitExportLayout.d.ts.map +1 -1
  35. package/dist/dawproject/AudioUnitExportLayout.js +1 -1
  36. package/dist/dawproject/BuiltinDevices.d.ts +3 -3
  37. package/dist/dawproject/BuiltinDevices.d.ts.map +1 -1
  38. package/dist/dawproject/BuiltinDevices.js +1 -1
  39. package/dist/dawproject/DawProject.d.ts +3 -3
  40. package/dist/dawproject/DawProject.d.ts.map +1 -1
  41. package/dist/dawproject/DawProject.js +6 -5
  42. package/dist/dawproject/DawProjectExporter.d.ts +2 -2
  43. package/dist/dawproject/DawProjectExporter.d.ts.map +1 -1
  44. package/dist/dawproject/DawProjectExporter.js +5 -6
  45. package/dist/dawproject/DawProjectExporter.test.js +24 -28
  46. package/dist/dawproject/DawProjectImporter.d.ts.map +1 -1
  47. package/dist/dawproject/DawProjectImporter.js +3 -6
  48. package/dist/dawproject/DawProjectService.d.ts.map +1 -1
  49. package/dist/dawproject/DawProjectService.js +11 -1
  50. package/dist/dawproject/DeviceIO.d.ts +1 -1
  51. package/dist/dawproject/DeviceIO.d.ts.map +1 -1
  52. package/dist/dawproject/DeviceIO.js +2 -2
  53. package/dist/index.d.ts +1 -9
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +1 -9
  56. package/dist/processors.js +19 -17
  57. package/dist/processors.js.map +4 -4
  58. package/dist/project/Project.d.ts +2 -2
  59. package/dist/project/Project.d.ts.map +1 -1
  60. package/dist/project/Project.js +18 -64
  61. package/dist/project/ProjectApi.d.ts +5 -8
  62. package/dist/project/ProjectApi.d.ts.map +1 -1
  63. package/dist/project/ProjectApi.js +8 -59
  64. package/dist/project/ProjectBundle.d.ts.map +1 -1
  65. package/dist/project/ProjectBundle.js +3 -2
  66. package/dist/project/ProjectMigration.d.ts.map +1 -1
  67. package/dist/project/ProjectMigration.js +64 -3
  68. package/dist/project/ProjectStorage.js +2 -2
  69. package/dist/project/index.d.ts +0 -1
  70. package/dist/project/index.d.ts.map +1 -1
  71. package/dist/project/index.js +0 -1
  72. package/dist/samples/OpenSampleAPI.d.ts.map +1 -1
  73. package/dist/samples/OpenSampleAPI.js +6 -0
  74. package/dist/samples/SampleService.js +1 -1
  75. package/dist/soundfont/DefaultSoundfontLoader.d.ts.map +1 -1
  76. package/dist/soundfont/DefaultSoundfontLoader.js +3 -2
  77. package/dist/soundfont/SoundfontService.d.ts.map +1 -1
  78. package/dist/soundfont/SoundfontService.js +2 -2
  79. package/dist/ui/RegionClipResolver.d.ts +37 -0
  80. package/dist/ui/RegionClipResolver.d.ts.map +1 -0
  81. package/dist/ui/RegionClipResolver.js +179 -0
  82. package/dist/ui/RegionClipResolver.test.d.ts +2 -0
  83. package/dist/ui/RegionClipResolver.test.d.ts.map +1 -0
  84. package/dist/ui/RegionClipResolver.test.js +166 -0
  85. package/dist/ui/RegionModifyStrategies.d.ts +25 -0
  86. package/dist/ui/RegionModifyStrategies.d.ts.map +1 -0
  87. package/dist/ui/RegionModifyStrategies.js +25 -0
  88. package/dist/ui/index.d.ts +2 -0
  89. package/dist/ui/index.d.ts.map +1 -1
  90. package/dist/ui/index.js +2 -0
  91. package/dist/workers-main.js +4 -2
  92. package/dist/workers-main.js.map +3 -3
  93. package/dist/ysync/YService.js +2 -2
  94. package/package.json +15 -15
  95. package/dist/AudioUnitOrdering.d.ts +0 -3
  96. package/dist/AudioUnitOrdering.d.ts.map +0 -1
  97. package/dist/AudioUnitOrdering.js +0 -7
  98. package/dist/ColorCodes.d.ts +0 -7
  99. package/dist/ColorCodes.d.ts.map +0 -1
  100. package/dist/ColorCodes.js +0 -32
  101. package/dist/Colors.d.ts +0 -15
  102. package/dist/Colors.d.ts.map +0 -1
  103. package/dist/Colors.js +0 -23
  104. package/dist/InstrumentBox.d.ts +0 -3
  105. package/dist/InstrumentBox.d.ts.map +0 -1
  106. package/dist/InstrumentBox.js +0 -1
  107. package/dist/InstrumentFactories.d.ts +0 -33
  108. package/dist/InstrumentFactories.d.ts.map +0 -1
  109. package/dist/InstrumentFactories.js +0 -122
  110. package/dist/InstrumentFactory.d.ts +0 -13
  111. package/dist/InstrumentFactory.d.ts.map +0 -1
  112. package/dist/InstrumentFactory.js +0 -1
  113. package/dist/InstrumentOptions.d.ts +0 -9
  114. package/dist/InstrumentOptions.d.ts.map +0 -1
  115. package/dist/InstrumentOptions.js +0 -1
  116. package/dist/InstrumentProduct.d.ts +0 -8
  117. package/dist/InstrumentProduct.d.ts.map +0 -1
  118. package/dist/InstrumentProduct.js +0 -1
  119. package/dist/project/ProjectUtils.d.ts +0 -12
  120. package/dist/project/ProjectUtils.d.ts.map +0 -1
  121. package/dist/project/ProjectUtils.js +0 -153
  122. package/dist/utils/AutofitUtils.d.ts +0 -7
  123. package/dist/utils/AutofitUtils.d.ts.map +0 -1
  124. package/dist/utils/AutofitUtils.js +0 -78
  125. package/dist/utils/index.d.ts +0 -2
  126. package/dist/utils/index.d.ts.map +0 -1
  127. package/dist/utils/index.js +0 -1
@@ -1,78 +0,0 @@
1
- import { AudioPlayback } from "@opendaw/studio-enums";
2
- import { PPQN } from "@opendaw/lib-dsp";
3
- import { ArrayMultimap, isNull, Iterables } from "@opendaw/lib-std";
4
- export var AutofitUtils;
5
- (function (AutofitUtils) {
6
- // Since we do not have an unsynchronized playback, we are going to change the region that has 'autofit' enabled.
7
- // This will cause resizing the regions to always play at absolute time (no adaption to tempo change).
8
- AutofitUtils.changeBpm = (project, newBpm, mark) => {
9
- const { editing, timelineBox: { bpm: bpmField }, rootBoxAdapter } = project;
10
- const autofitRegions = rootBoxAdapter.audioUnits.adapters()
11
- .flatMap(audioUnitBoxAdapter => audioUnitBoxAdapter.tracks.values()
12
- .map(trackBoxAdapter => trackBoxAdapter.regions.collection.asArray()
13
- .filter((regionBoxAdapter) => regionBoxAdapter.accept({
14
- visitAudioRegionBoxAdapter: (_region) => true
15
- }) ?? false)));
16
- const oldBpm = bpmField.getValue();
17
- const scale = newBpm / oldBpm;
18
- editing.modify(() => {
19
- autofitRegions.forEach(regions => {
20
- for (const [region, next] of Iterables.pairWise(regions)) {
21
- // we cannot filter them upfront because the next region would be missing as a limit
22
- if (region.box.playback.getValue() !== AudioPlayback.AudioFit) {
23
- continue;
24
- }
25
- let durationInSeconds = region.file.endInSeconds - region.file.startInSeconds;
26
- if (durationInSeconds === 0) {
27
- console.warn("AutofitUtils.changeBpm: durationInSeconds is 0. Try to access file.");
28
- const { numberOfFrames, sampleRate } = region.file.getOrCreateLoader().data
29
- .unwrap("AutofitUtils.changeBpm: durationInSeconds is 0 and audio is not loaded yet.");
30
- durationInSeconds = numberOfFrames / sampleRate;
31
- }
32
- const max = isNull(next) ? Number.POSITIVE_INFINITY : next.position;
33
- const durationInPulses = Math.min(max, PPQN.secondsToPulses(durationInSeconds, newBpm));
34
- const oldDuration = region.box.duration.getValue();
35
- const oldLoopOffset = region.box.loopOffset.getValue();
36
- const oldLoopDuration = region.box.loopDuration.getValue();
37
- const repeat = oldDuration / oldLoopDuration;
38
- region.box.duration.setValue(durationInPulses * repeat);
39
- region.box.loopDuration.setValue(durationInPulses);
40
- region.box.loopOffset.setValue(oldLoopOffset * scale);
41
- }
42
- });
43
- bpmField.setValue(newBpm);
44
- }, mark);
45
- };
46
- AutofitUtils.regionsToAutofit = (project, regions) => {
47
- if (regions.length === 0)
48
- return;
49
- const map = new ArrayMultimap();
50
- regions.forEach(region => map.add(region.trackBoxAdapter
51
- .unwrap("AutofitUtils.regionsToAutofit: Could not unwrap trackBoxAdapter"), region));
52
- const { editing, timelineBox: { bpm: bpmField } } = project;
53
- const bpm = bpmField.getValue();
54
- editing.modify(() => map.forEach((trackBoxAdapter, regions) => {
55
- for (const region of regions) {
56
- const next = trackBoxAdapter.regions.collection.greaterEqual(region.complete + 1);
57
- const max = isNull(next) ? Number.POSITIVE_INFINITY : next.position;
58
- let durationInSeconds = region.file.endInSeconds - region.file.startInSeconds;
59
- if (durationInSeconds === 0) {
60
- console.warn("AutofitUtils.regionsToAutofit: durationInSeconds is 0. Try to access file.");
61
- const { numberOfFrames, sampleRate } = region.file.getOrCreateLoader().data
62
- .unwrap("AutofitUtils.regionsToAutofit: durationInSeconds is 0 and audio is not loaded yet.");
63
- durationInSeconds = numberOfFrames / sampleRate;
64
- }
65
- const durationInPulses = Math.min(max, PPQN.secondsToPulses(durationInSeconds, bpm));
66
- const oldDuration = region.box.duration.getValue();
67
- const oldLoopOffset = region.box.loopOffset.getValue();
68
- const oldLoopDuration = region.box.loopDuration.getValue();
69
- const repeat = oldDuration / oldLoopDuration;
70
- const scale = durationInPulses / oldLoopDuration;
71
- region.box.playback.setValue(AudioPlayback.AudioFit);
72
- region.box.duration.setValue(durationInPulses * repeat);
73
- region.box.loopDuration.setValue(durationInPulses);
74
- region.box.loopOffset.setValue(oldLoopOffset * scale);
75
- }
76
- }));
77
- };
78
- })(AutofitUtils || (AutofitUtils = {}));
@@ -1,2 +0,0 @@
1
- export * from "./AutofitUtils";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -1 +0,0 @@
1
- export * from "./AutofitUtils";