react-native-audio-api 0.4.12 → 0.5.0-rc.1

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 (114) hide show
  1. package/android/src/main/java/com/swmansion/audioapi/AudioAPIModule.kt +7 -6
  2. package/android/src/main/java/com/swmansion/audioapi/AudioAPIPackage.kt +25 -24
  3. package/common/cpp/audioapi/HostObjects/AnalyserNodeHostObject.h +17 -41
  4. package/common/cpp/audioapi/HostObjects/AudioBufferHostObject.h +22 -32
  5. package/common/cpp/audioapi/HostObjects/AudioBufferSourceNodeHostObject.h +2 -17
  6. package/common/cpp/audioapi/HostObjects/AudioContextHostObject.h +14 -4
  7. package/common/cpp/audioapi/HostObjects/AudioParamHostObject.h +5 -8
  8. package/common/cpp/audioapi/HostObjects/BaseAudioContextHostObject.h +13 -9
  9. package/common/cpp/audioapi/HostObjects/BiquadFilterNodeHostObject.h +8 -19
  10. package/common/cpp/audioapi/core/AudioContext.cpp +14 -4
  11. package/common/cpp/audioapi/core/AudioContext.h +2 -2
  12. package/common/cpp/audioapi/core/BaseAudioContext.cpp +4 -2
  13. package/common/cpp/audioapi/core/BaseAudioContext.h +1 -1
  14. package/common/cpp/audioapi/core/effects/BiquadFilterNode.cpp +5 -6
  15. package/common/cpp/audioapi/core/effects/BiquadFilterNode.h +4 -3
  16. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.cpp +5 -11
  17. package/common/cpp/audioapi/core/sources/AudioBufferSourceNode.h +3 -31
  18. package/lib/module/api.js +1 -1
  19. package/lib/module/api.js.map +1 -1
  20. package/lib/module/api.web.js +1 -2
  21. package/lib/module/api.web.js.map +1 -1
  22. package/lib/module/core/AnalyserNode.js.map +1 -1
  23. package/lib/module/core/AudioBuffer.js.map +1 -1
  24. package/lib/module/core/AudioBufferSourceNode.js +0 -6
  25. package/lib/module/core/AudioBufferSourceNode.js.map +1 -1
  26. package/lib/module/core/AudioParam.js.map +1 -1
  27. package/lib/module/core/BaseAudioContext.js +3 -2
  28. package/lib/module/core/BaseAudioContext.js.map +1 -1
  29. package/lib/module/core/BiquadFilterNode.js.map +1 -1
  30. package/lib/module/utils/index.js +6 -0
  31. package/lib/module/utils/index.js.map +1 -0
  32. package/lib/module/web-core/AnalyserNode.js +4 -20
  33. package/lib/module/web-core/AnalyserNode.js.map +1 -1
  34. package/lib/module/web-core/AudioBuffer.js +2 -6
  35. package/lib/module/web-core/AudioBuffer.js.map +1 -1
  36. package/lib/module/web-core/AudioBufferSourceNode.js +161 -21
  37. package/lib/module/web-core/AudioBufferSourceNode.js.map +1 -1
  38. package/lib/module/web-core/AudioContext.js +7 -8
  39. package/lib/module/web-core/AudioContext.js.map +1 -1
  40. package/lib/module/web-core/AudioParam.js +1 -1
  41. package/lib/module/web-core/AudioParam.js.map +1 -1
  42. package/lib/module/web-core/BiquadFilterNode.js +1 -9
  43. package/lib/module/web-core/BiquadFilterNode.js.map +1 -1
  44. package/lib/module/web-core/custom/signalsmithStretch/README.md +1 -1
  45. package/lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs +2 -2
  46. package/lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs.map +1 -1
  47. package/lib/typescript/api.d.ts +1 -1
  48. package/lib/typescript/api.d.ts.map +1 -1
  49. package/lib/typescript/api.web.d.ts +1 -2
  50. package/lib/typescript/api.web.d.ts.map +1 -1
  51. package/lib/typescript/core/AnalyserNode.d.ts +4 -4
  52. package/lib/typescript/core/AnalyserNode.d.ts.map +1 -1
  53. package/lib/typescript/core/AudioBuffer.d.ts +3 -3
  54. package/lib/typescript/core/AudioBuffer.d.ts.map +1 -1
  55. package/lib/typescript/core/AudioBufferSourceNode.d.ts +0 -3
  56. package/lib/typescript/core/AudioBufferSourceNode.d.ts.map +1 -1
  57. package/lib/typescript/core/AudioParam.d.ts +1 -1
  58. package/lib/typescript/core/AudioParam.d.ts.map +1 -1
  59. package/lib/typescript/core/BaseAudioContext.d.ts +3 -3
  60. package/lib/typescript/core/BaseAudioContext.d.ts.map +1 -1
  61. package/lib/typescript/core/BiquadFilterNode.d.ts +1 -1
  62. package/lib/typescript/core/BiquadFilterNode.d.ts.map +1 -1
  63. package/lib/typescript/interfaces.d.ts +12 -13
  64. package/lib/typescript/interfaces.d.ts.map +1 -1
  65. package/lib/typescript/types.d.ts +3 -1
  66. package/lib/typescript/types.d.ts.map +1 -1
  67. package/lib/typescript/utils/index.d.ts +2 -0
  68. package/lib/typescript/utils/index.d.ts.map +1 -0
  69. package/lib/typescript/web-core/AnalyserNode.d.ts +4 -4
  70. package/lib/typescript/web-core/AnalyserNode.d.ts.map +1 -1
  71. package/lib/typescript/web-core/AudioBuffer.d.ts +2 -2
  72. package/lib/typescript/web-core/AudioBuffer.d.ts.map +1 -1
  73. package/lib/typescript/web-core/AudioBufferSourceNode.d.ts +58 -6
  74. package/lib/typescript/web-core/AudioBufferSourceNode.d.ts.map +1 -1
  75. package/lib/typescript/web-core/AudioContext.d.ts +3 -5
  76. package/lib/typescript/web-core/AudioContext.d.ts.map +1 -1
  77. package/lib/typescript/web-core/AudioParam.d.ts +1 -1
  78. package/lib/typescript/web-core/AudioParam.d.ts.map +1 -1
  79. package/lib/typescript/web-core/BaseAudioContext.d.ts +2 -2
  80. package/lib/typescript/web-core/BaseAudioContext.d.ts.map +1 -1
  81. package/lib/typescript/web-core/BiquadFilterNode.d.ts +1 -1
  82. package/lib/typescript/web-core/BiquadFilterNode.d.ts.map +1 -1
  83. package/package.json +8 -8
  84. package/scripts/setup-rn-audio-api-web.js +58 -0
  85. package/src/api.ts +0 -1
  86. package/src/api.web.ts +0 -2
  87. package/src/core/AnalyserNode.ts +4 -4
  88. package/src/core/AudioBuffer.ts +3 -3
  89. package/src/core/AudioBufferSourceNode.ts +0 -9
  90. package/src/core/AudioParam.ts +1 -1
  91. package/src/core/BaseAudioContext.ts +16 -5
  92. package/src/core/BiquadFilterNode.ts +3 -3
  93. package/src/interfaces.ts +14 -16
  94. package/src/types.ts +3 -1
  95. package/src/utils/index.ts +3 -0
  96. package/src/web-core/AnalyserNode.tsx +8 -30
  97. package/src/web-core/AudioBuffer.tsx +4 -14
  98. package/src/web-core/AudioBufferSourceNode.tsx +357 -31
  99. package/src/web-core/AudioContext.tsx +19 -13
  100. package/src/web-core/AudioParam.tsx +2 -6
  101. package/src/web-core/BaseAudioContext.tsx +3 -3
  102. package/src/web-core/BiquadFilterNode.tsx +6 -16
  103. package/src/web-core/custom/signalsmithStretch/README.md +1 -1
  104. package/src/web-core/custom/signalsmithStretch/SignalsmithStretch.mjs +4 -3
  105. package/common/cpp/audioapi/core/types/TimeStretchType.h +0 -7
  106. package/lib/module/web-core/StretcherNode.js +0 -64
  107. package/lib/module/web-core/StretcherNode.js.map +0 -1
  108. package/lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.js +0 -822
  109. package/lib/module/web-core/custom/signalsmithStretch/SignalsmithStretch.js.map +0 -1
  110. package/lib/typescript/web-core/StretcherNode.d.ts +0 -45
  111. package/lib/typescript/web-core/StretcherNode.d.ts.map +0 -1
  112. package/scripts/setup-custom-wasm.js +0 -104
  113. package/src/web-core/StretcherNode.tsx +0 -125
  114. package/src/web-core/custom/signalsmithStretch/SignalsmithStretch.js +0 -945
@@ -510,8 +510,7 @@ function registerWorkletProcessor(Module, audioNodeKey) {
510
510
  return result;
511
511
  },
512
512
  schedule: (objIn, adjustPrevious) => {
513
- let outputTime =
514
- 'outputTime' in objIn ? objIn.outputTime : currentTime;
513
+ let outputTime = 'output' in objIn ? objIn.output : currentTime;
515
514
 
516
515
  let latestSegment = this.timeMap[this.timeMap.length - 1];
517
516
  while (
@@ -524,13 +523,15 @@ function registerWorkletProcessor(Module, audioNodeKey) {
524
523
  let obj = {
525
524
  active: latestSegment.active,
526
525
  input: null,
527
- output: outputTime,
528
526
  rate: latestSegment.rate,
529
527
  semitones: latestSegment.semitones,
530
528
  loopStart: latestSegment.loopStart,
531
529
  loopEnd: latestSegment.loopEnd,
532
530
  };
531
+
533
532
  Object.assign(obj, objIn);
533
+ obj.output = outputTime;
534
+
534
535
  if (obj.input === null) {
535
536
  let rate = latestSegment.active ? latestSegment.rate : 0;
536
537
  obj.input =
@@ -1,7 +0,0 @@
1
- #pragma once
2
-
3
- namespace audioapi {
4
-
5
- enum class TimeStretchType { LINEAR, SPEECH_MUSIC };
6
-
7
- }
@@ -1,64 +0,0 @@
1
- "use strict";
2
-
3
- import AudioNode from "./AudioNode.js";
4
- import { globalTag } from "./custom/LoadCustomWasm.js";
5
- export default class StretcherNode extends AudioNode {
6
- _buffer = null;
7
- _playbackRate = 1;
8
- _loopStart = -1;
9
- _loopEnd = -1;
10
- _isPlaying = false;
11
- constructor(context, node) {
12
- super(context, node);
13
- this._buffer = null;
14
- }
15
- get buffer() {
16
- return this._buffer;
17
- }
18
- set buffer(buffer) {
19
- this._buffer = buffer;
20
- const channelArrays = [];
21
- for (let i = 0; i < buffer.numberOfChannels; i += 1) {
22
- channelArrays.push(buffer.getChannelData(i));
23
- }
24
- this.node.addBuffers(channelArrays);
25
- }
26
- get playbackRate() {
27
- return this._playbackRate;
28
- }
29
- set playbackRate(value) {
30
- this._playbackRate = value;
31
- if (this._isPlaying) {
32
- this.node.schedule({
33
- rate: value
34
- });
35
- }
36
- }
37
- get loopStart() {
38
- return this._loopStart;
39
- }
40
- set loopStart(value) {
41
- this._loopStart = value;
42
- this.node.schedule({
43
- loopStart: value
44
- });
45
- }
46
- get loopEnd() {
47
- return this._loopEnd;
48
- }
49
- set loopEnd(value) {
50
- this._loopEnd = value;
51
- this.node.schedule({
52
- loopEnd: value
53
- });
54
- }
55
- start(when, offset, duration, rate, semitones) {
56
- this._isPlaying = true;
57
- this.node.start(when, offset, duration, rate, semitones);
58
- }
59
- stop(when) {
60
- this._isPlaying = false;
61
- this.node.stop(when);
62
- }
63
- }
64
- //# sourceMappingURL=StretcherNode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["AudioNode","globalTag","StretcherNode","_buffer","_playbackRate","_loopStart","_loopEnd","_isPlaying","constructor","context","node","buffer","channelArrays","i","numberOfChannels","push","getChannelData","addBuffers","playbackRate","value","schedule","rate","loopStart","loopEnd","start","when","offset","duration","semitones","stop"],"sourceRoot":"../../../src","sources":["web-core/StretcherNode.tsx"],"mappings":";;AAEA,OAAOA,SAAS,MAAM,gBAAa;AAEnC,SAASC,SAAS,QAAQ,4BAAyB;AAsCnD,eAAe,MAAMC,aAAa,SAASF,SAAS,CAAC;EACnDG,OAAO,GAAuB,IAAI;EAElCC,aAAa,GAAW,CAAC;EACzBC,UAAU,GAAW,CAAC,CAAC;EACvBC,QAAQ,GAAW,CAAC,CAAC;EACrBC,UAAU,GAAG,KAAK;EAElBC,WAAWA,CAACC,OAAyB,EAAEC,IAAoB,EAAE;IAC3D,KAAK,CAACD,OAAO,EAAEC,IAAuC,CAAC;IACvD,IAAI,CAACP,OAAO,GAAG,IAAI;EACrB;EAEA,IAAWQ,MAAMA,CAAA,EAAuB;IACtC,OAAO,IAAI,CAACR,OAAO;EACrB;EAEA,IAAWQ,MAAMA,CAACA,MAAmB,EAAE;IACrC,IAAI,CAACR,OAAO,GAAGQ,MAAM;IACrB,MAAMC,aAAa,GAAG,EAAE;IAExB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,MAAM,CAACG,gBAAgB,EAAED,CAAC,IAAI,CAAC,EAAE;MACnDD,aAAa,CAACG,IAAI,CAACJ,MAAM,CAACK,cAAc,CAACH,CAAC,CAAC,CAAC;IAC9C;IAEC,IAAI,CAACH,IAAI,CAA+BO,UAAU,CAACL,aAAa,CAAC;EACpE;EAEA,IAAWM,YAAYA,CAAA,EAAW;IAChC,OAAO,IAAI,CAACd,aAAa;EAC3B;EAEA,IAAWc,YAAYA,CAACC,KAAa,EAAE;IACrC,IAAI,CAACf,aAAa,GAAGe,KAAK;IAE1B,IAAI,IAAI,CAACZ,UAAU,EAAE;MAClB,IAAI,CAACG,IAAI,CAA+BU,QAAQ,CAAC;QAAEC,IAAI,EAAEF;MAAM,CAAC,CAAC;IACpE;EACF;EAEA,IAAWG,SAASA,CAAA,EAAW;IAC7B,OAAO,IAAI,CAACjB,UAAU;EACxB;EAEA,IAAWiB,SAASA,CAACH,KAAa,EAAE;IAClC,IAAI,CAACd,UAAU,GAAGc,KAAK;IAEtB,IAAI,CAACT,IAAI,CAA+BU,QAAQ,CAAC;MAAEE,SAAS,EAAEH;IAAM,CAAC,CAAC;EACzE;EAEA,IAAWI,OAAOA,CAAA,EAAW;IAC3B,OAAO,IAAI,CAACjB,QAAQ;EACtB;EAEA,IAAWiB,OAAOA,CAACJ,KAAa,EAAE;IAChC,IAAI,CAACb,QAAQ,GAAGa,KAAK;IAEpB,IAAI,CAACT,IAAI,CAA+BU,QAAQ,CAAC;MAAEG,OAAO,EAAEJ;IAAM,CAAC,CAAC;EACvE;EAEOK,KAAKA,CACVC,IAAa,EACbC,MAAe,EACfC,QAAiB,EACjBN,IAAa,EACbO,SAAkB,EACZ;IACN,IAAI,CAACrB,UAAU,GAAG,IAAI;IAErB,IAAI,CAACG,IAAI,CAA+Bc,KAAK,CAC5CC,IAAI,EACJC,MAAM,EACNC,QAAQ,EACRN,IAAI,EACJO,SACF,CAAC;EACH;EAEOC,IAAIA,CAACJ,IAAa,EAAQ;IAC/B,IAAI,CAAClB,UAAU,GAAG,KAAK;IACtB,IAAI,CAACG,IAAI,CAA+BmB,IAAI,CAACJ,IAAI,CAAC;EACrD;AACF","ignoreList":[]}