react-native-audio-api 0.4.12-beta.1 → 0.4.12-beta.3

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/RNAudioAPI.podspec +14 -4
  2. package/android/CMakeLists.txt +9 -48
  3. package/android/src/main/cpp/audioapi/CMakeLists.txt +44 -0
  4. package/android/src/main/cpp/{AudioAPIModule.cpp → audioapi/android/AudioAPIModule.cpp} +1 -4
  5. package/android/src/main/cpp/{AudioAPIModule.h → audioapi/android/AudioAPIModule.h} +2 -1
  6. package/android/src/main/cpp/{OnLoad.cpp → audioapi/android/OnLoad.cpp} +2 -1
  7. package/android/src/main/cpp/{core → audioapi/android/core}/AudioDecoder.cpp +5 -5
  8. package/android/src/main/cpp/{core → audioapi/android/core}/AudioPlayer.cpp +5 -7
  9. package/android/src/main/cpp/{core → audioapi/android/core}/AudioPlayer.h +1 -0
  10. package/android/src/main/cpp/{libs → audioapi/android/libs}/pffft.c +2 -2
  11. package/android/src/main/java/com/swmansion/audioapi/AudioAPIPackage.kt +1 -0
  12. package/common/cpp/{installer → audioapi}/AudioAPIModuleInstaller.h +5 -3
  13. package/common/cpp/{HostObjects → audioapi/HostObjects}/AnalyserNodeHostObject.h +3 -3
  14. package/common/cpp/{HostObjects → audioapi/HostObjects}/AudioBufferHostObject.h +3 -3
  15. package/common/cpp/{HostObjects → audioapi/HostObjects}/AudioBufferSourceNodeHostObject.h +5 -5
  16. package/common/cpp/{HostObjects → audioapi/HostObjects}/AudioContextHostObject.h +3 -3
  17. package/common/cpp/{HostObjects → audioapi/HostObjects}/AudioDestinationNodeHostObject.h +3 -3
  18. package/common/cpp/{HostObjects → audioapi/HostObjects}/AudioNodeHostObject.h +3 -3
  19. package/common/cpp/{HostObjects → audioapi/HostObjects}/AudioParamHostObject.h +3 -3
  20. package/common/cpp/{HostObjects → audioapi/HostObjects}/AudioScheduledSourceNodeHostObject.h +3 -3
  21. package/common/cpp/{HostObjects → audioapi/HostObjects}/BaseAudioContextHostObject.h +14 -15
  22. package/common/cpp/{HostObjects → audioapi/HostObjects}/BiquadFilterNodeHostObject.h +4 -4
  23. package/common/cpp/{HostObjects → audioapi/HostObjects}/GainNodeHostObject.h +4 -4
  24. package/common/cpp/{HostObjects → audioapi/HostObjects}/OscillatorNodeHostObject.h +5 -5
  25. package/common/cpp/{HostObjects → audioapi/HostObjects}/PeriodicWaveHostObject.h +2 -2
  26. package/common/cpp/{HostObjects → audioapi/HostObjects}/StereoPannerNodeHostObject.h +4 -4
  27. package/common/cpp/audioapi/HostObjects/StretcherNodeHostObject.h +35 -0
  28. package/common/cpp/{core → audioapi/core}/AudioContext.cpp +6 -6
  29. package/common/cpp/{core → audioapi/core}/AudioContext.h +2 -2
  30. package/common/cpp/{core → audioapi/core}/AudioNode.cpp +5 -7
  31. package/common/cpp/{core → audioapi/core}/AudioNode.h +5 -4
  32. package/common/cpp/{core → audioapi/core}/AudioParam.cpp +3 -4
  33. package/common/cpp/{core → audioapi/core}/AudioParam.h +3 -3
  34. package/common/cpp/{core → audioapi/core}/BaseAudioContext.cpp +14 -17
  35. package/common/cpp/{core → audioapi/core}/BaseAudioContext.h +4 -3
  36. package/common/cpp/{core → audioapi/core/analysis}/AnalyserNode.cpp +6 -10
  37. package/common/cpp/{core → audioapi/core/analysis}/AnalyserNode.h +4 -3
  38. package/common/cpp/{core → audioapi/core/destinations}/AudioDestinationNode.cpp +5 -5
  39. package/common/cpp/{core → audioapi/core/destinations}/AudioDestinationNode.h +2 -2
  40. package/common/cpp/{core → audioapi/core/effects}/BiquadFilterNode.cpp +4 -4
  41. package/common/cpp/{core → audioapi/core/effects}/BiquadFilterNode.h +4 -4
  42. package/common/cpp/{core → audioapi/core/effects}/GainNode.cpp +4 -4
  43. package/common/cpp/{core → audioapi/core/effects}/GainNode.h +3 -3
  44. package/common/cpp/{core → audioapi/core/effects}/PeriodicWave.cpp +4 -2
  45. package/common/cpp/{core → audioapi/core/effects}/PeriodicWave.h +2 -4
  46. package/common/cpp/{core → audioapi/core/effects}/StereoPannerNode.cpp +5 -7
  47. package/common/cpp/{core → audioapi/core/effects}/StereoPannerNode.h +4 -3
  48. package/common/cpp/{core → audioapi/core/effects}/StretcherNode.cpp +4 -6
  49. package/common/cpp/audioapi/core/effects/StretcherNode.h +35 -0
  50. package/common/cpp/{core → audioapi/core/sources}/AudioBuffer.cpp +3 -3
  51. package/common/cpp/{core → audioapi/core/sources}/AudioBufferSourceNode.cpp +8 -11
  52. package/common/cpp/{core → audioapi/core/sources}/AudioBufferSourceNode.h +5 -3
  53. package/common/cpp/{core → audioapi/core/sources}/AudioScheduledSourceNode.cpp +6 -8
  54. package/common/cpp/{core → audioapi/core/sources}/AudioScheduledSourceNode.h +3 -2
  55. package/common/cpp/{core → audioapi/core/sources}/OscillatorNode.cpp +4 -4
  56. package/common/cpp/{core → audioapi/core/sources}/OscillatorNode.h +5 -5
  57. package/common/cpp/{core → audioapi/core/utils}/AudioArray.cpp +2 -4
  58. package/common/cpp/{core → audioapi/core/utils}/AudioBus.cpp +4 -7
  59. package/common/cpp/{core → audioapi/core/utils}/AudioBus.h +2 -2
  60. package/common/cpp/{core → audioapi/core/utils}/AudioNodeManager.cpp +3 -4
  61. package/common/cpp/{core → audioapi/core/utils}/ParamChangeEvent.cpp +1 -3
  62. package/common/cpp/{core → audioapi/core/utils}/ParamChangeEvent.h +3 -1
  63. package/common/cpp/{utils → audioapi/dsp}/AudioUtils.cpp +1 -1
  64. package/common/cpp/{utils → audioapi/dsp}/FFTFrame.cpp +1 -10
  65. package/common/cpp/{utils → audioapi/dsp}/FFTFrame.h +4 -3
  66. package/common/cpp/{utils → audioapi/dsp}/VectorMath.cpp +2 -5
  67. package/common/cpp/{utils → audioapi/dsp}/VectorMath.h +2 -0
  68. package/common/cpp/{jsi → audioapi/jsi}/JsiHostObject.cpp +1 -1
  69. package/common/cpp/{jsi → audioapi/jsi}/JsiHostObject.h +2 -2
  70. package/common/cpp/{jsi → audioapi/jsi}/JsiPromise.cpp +2 -6
  71. package/common/cpp/{jsi → audioapi/jsi}/RuntimeAwareCache.h +2 -3
  72. package/common/cpp/{jsi → audioapi/jsi}/RuntimeLifecycleMonitor.cpp +1 -5
  73. package/common/cpp/{jsi → audioapi/jsi}/RuntimeLifecycleMonitor.h +3 -0
  74. package/common/cpp/{libs → audioapi/libs}/dsp/delay.h +35 -35
  75. package/common/cpp/{libs → audioapi/libs}/dsp/fft.h +21 -21
  76. package/common/cpp/{libs → audioapi/libs}/dsp/perf.h +3 -3
  77. package/common/cpp/{libs → audioapi/libs}/dsp/spectral.h +39 -39
  78. package/common/cpp/{libs → audioapi/libs}/dsp/windows.h +11 -11
  79. package/common/cpp/{libs → audioapi/libs}/signalsmith-stretch.h +30 -30
  80. package/ios/{AudioAPIModule.mm → audioapi/ios/AudioAPIModule.mm} +15 -8
  81. package/ios/{core → audioapi/ios/core}/AudioDecoder.mm +4 -4
  82. package/ios/{core → audioapi/ios/core}/AudioPlayer.m +1 -1
  83. package/ios/{core → audioapi/ios/core}/IOSAudioPlayer.mm +4 -4
  84. package/package.json +6 -6
  85. package/common/cpp/HostObjects/StretcherNodeHostObject.h +0 -35
  86. package/common/cpp/core/StretcherNode.h +0 -63
  87. package/common/cpp/libs/dsp/LICENSE.txt +0 -21
  88. package/common/cpp/libs/dsp/README.md +0 -40
  89. package/common/cpp/libs/dsp/curves.h +0 -371
  90. package/common/cpp/libs/dsp/envelopes.h +0 -523
  91. package/common/cpp/libs/dsp/filters.h +0 -436
  92. package/common/cpp/libs/dsp/mix.h +0 -218
  93. package/common/cpp/libs/dsp/rates.h +0 -184
  94. package/common/cpp/types/TimeStretchType.h +0 -6
  95. /package/android/src/main/cpp/{libs → audioapi/android/libs}/pffft.h +0 -0
  96. /package/common/cpp/{core → audioapi/core}/Constants.h +0 -0
  97. /package/common/cpp/{core → audioapi/core/sources}/AudioBuffer.h +0 -0
  98. /package/common/cpp/{types → audioapi/core/types}/BiquadFilterType.h +0 -0
  99. /package/common/cpp/{types → audioapi/core/types}/ChannelCountMode.h +0 -0
  100. /package/common/cpp/{types → audioapi/core/types}/ChannelInterpretation.h +0 -0
  101. /package/common/cpp/{types → audioapi/core/types}/ContextState.h +0 -0
  102. /package/common/cpp/{types → audioapi/core/types}/OscillatorType.h +0 -0
  103. /package/common/cpp/{types → audioapi/core/types}/ParamChangeEventType.h +0 -0
  104. /package/common/cpp/{core → audioapi/core/utils}/AudioArray.h +0 -0
  105. /package/common/cpp/{core → audioapi/core/utils}/AudioDecoder.h +0 -0
  106. /package/common/cpp/{core → audioapi/core/utils}/AudioNodeManager.h +0 -0
  107. /package/common/cpp/{utils → audioapi/core/utils}/Locker.h +0 -0
  108. /package/common/cpp/{utils → audioapi/dsp}/AudioUtils.h +0 -0
  109. /package/common/cpp/{jsi → audioapi/jsi}/JsiPromise.h +0 -0
  110. /package/common/cpp/{libs → audioapi/libs}/dsp/common.h +0 -0
  111. /package/common/cpp/{libs → audioapi/libs}/miniaudio.h +0 -0
  112. /package/ios/{AudioAPIModule.h → audioapi/ios/AudioAPIModule.h} +0 -0
  113. /package/ios/{core → audioapi/ios/core}/AudioPlayer.h +0 -0
  114. /package/ios/{core → audioapi/ios/core}/IOSAudioPlayer.h +0 -0
@@ -22,7 +22,17 @@ Pod::Spec.new do |s|
22
22
  s.platforms = { :ios => min_ios_version_supported }
23
23
  s.source = { :git => "https://github.com/software-mansion-labs/react-native-audio-api.git", :tag => "#{s.version}" }
24
24
 
25
- s.source_files = "ios/**/*.{h,m,mm}", "common/cpp/**/*.{hpp,cpp,c,h}"
25
+ s.subspec "audioapi" do |ss|
26
+ ss.source_files = "common/cpp/audioapi/**/*.{cpp,c,h}"
27
+ ss.header_dir = "audioapi"
28
+ ss.header_mappings_dir = "common/cpp/audioapi"
29
+
30
+ ss.subspec "ios" do |sss|
31
+ sss.source_files = "ios/audioapi/**/*.{mm,h,m}"
32
+ sss.header_dir = "audioapi"
33
+ sss.header_mappings_dir = "ios/audioapi"
34
+ end
35
+ end
26
36
 
27
37
  s.ios.frameworks = 'CoreFoundation', 'CoreAudio', 'AudioToolbox', 'Accelerate'
28
38
 
@@ -45,13 +55,13 @@ Pod::Spec.new do |s|
45
55
  '"$(PODS_ROOT)/Headers/Public/React-hermes"',
46
56
  '"$(PODS_ROOT)/Headers/Public/hermes-engine"',
47
57
  "\"$(PODS_ROOT)/#{$config[:react_native_common_dir]}\"",
48
- "\"$(PODS_ROOT)/#{$config[:react_native_audioapi_dir_from_pods_root]}/ios\"",
49
- "\"$(PODS_ROOT)/#{$config[:react_native_audioapi_dir_from_pods_root]}/common/cpp\"",
58
+ "\"$(PODS_ROOT)/#{$config[:react_native_audioapi_dir_from_pods_root]}/ios/audioapi/ios\"",
59
+ "\"$(PODS_ROOT)/#{$config[:react_native_audioapi_dir_from_pods_root]}/common/cpp/audioapi\"",
50
60
  ].join(' '),
51
61
  'OTHER_CFLAGS' => "$(inherited) #{folly_flags} #{fabric_flags} #{version_flag}"
52
62
  }
53
63
 
54
64
  # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
55
65
  # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
56
- install_modules_dependencies(s, new_arch_enabled: true)
66
+ install_modules_dependencies(s)
57
67
  end
@@ -14,54 +14,15 @@ endif()
14
14
  include("${REACT_NATIVE_DIR}/ReactAndroid/cmake-utils/folly-flags.cmake")
15
15
  add_compile_options(${folly_FLAGS})
16
16
 
17
- file(GLOB_RECURSE ANDROID_CPP_SOURCES CONFIGURE_DEPENDS "src/main/cpp/*.cpp")
18
- file(GLOB_RECURSE ANDROID_C_SOURCES CONFIGURE_DEPENDS "src/main/cpp/*.c")
19
- file(GLOB_RECURSE COMMON_CPP_SOURCES CONFIGURE_DEPENDS "../common/cpp/*.cpp")
17
+ # string(APPEND CMAKE_CXX_FLAGS
18
+ # " -fexceptions -fno-omit-frame-pointer -frtti -fstack-protector-all\
19
+ # -std=c++${CMAKE_CXX_STANDARD} -Wall -Werror")
20
20
 
21
- add_library(react-native-audio-api SHARED ${ANDROID_CPP_SOURCES} ${ANDROID_C_SOURCES} ${COMMON_CPP_SOURCES})
22
-
23
- file(GLOB ANDROID_CPP_DIR CONFIGURE_DEPENDS "src/main/cpp/**")
24
- file(GLOB COMMON_CPP_DIR CONFIGURE_DEPENDS "../common/cpp/**")
25
-
26
- target_include_directories(
27
- react-native-audio-api
28
- PUBLIC
29
- ${ANDROID_CPP_DIR}
30
- ${COMMON_CPP_DIR}
31
- )
32
-
33
- target_include_directories(
34
- react-native-audio-api
35
- PRIVATE
36
- "${REACT_NATIVE_DIR}/ReactCommon"
37
- "${REACT_NATIVE_DIR}/ReactAndroid/src/main/jni/react/turbomodule"
38
- "${REACT_NATIVE_DIR}/ReactCommon/react/nativemodule/core/ReactCommon"
39
- "${REACT_NATIVE_DIR}/ReactCommon/callinvoker"
40
- )
41
-
42
- find_package(ReactAndroid REQUIRED CONFIG)
43
- find_package(fbjni REQUIRED CONFIG)
44
- find_package(oboe REQUIRED CONFIG)
45
-
46
- set(LINK_LIBRARIES
47
- ReactAndroid::jsi
48
- fbjni::fbjni
49
- android
50
- log
51
- oboe::oboe
52
- )
53
-
54
- if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
55
- set(RN_VERSION_LINK_LIBRARIES
56
- ReactAndroid::reactnative
57
- )
58
- else()
59
- set(RN_VERSION_LINK_LIBRARIES
60
- ReactAndroid::folly_runtime
61
- ReactAndroid::react_nativemodule_core
62
- ReactAndroid::glog
63
- ReactAndroid::reactnativejni
64
- )
21
+ if(${IS_NEW_ARCHITECTURE_ENABLED})
22
+ string(APPEND CMAKE_CXX_FLAGS " -DRCT_NEW_ARCH_ENABLED")
65
23
  endif()
66
24
 
67
- target_link_libraries(react-native-audio-api ${LINK_LIBRARIES} ${RN_VERSION_LINK_LIBRARIES})
25
+ set(ANDROID_CPP_DIR "${CMAKE_SOURCE_DIR}/src/main/cpp")
26
+ set(COMMON_CPP_DIR "${CMAKE_SOURCE_DIR}/../common/cpp")
27
+
28
+ add_subdirectory("${ANDROID_CPP_DIR}/audioapi")
@@ -0,0 +1,44 @@
1
+ cmake_minimum_required(VERSION 3.12.0)
2
+
3
+ file(GLOB_RECURSE ANDROID_CPP_SOURCES CONFIGURE_DEPENDS "${ANDROID_CPP_DIR}/audioapi/*.cpp")
4
+ file(GLOB_RECURSE ANDROID_C_SOURCES CONFIGURE_DEPENDS "${ANDROID_CPP_DIR}/audioapi/*.c")
5
+ file(GLOB_RECURSE COMMON_CPP_SOURCES CONFIGURE_DEPENDS "${COMMON_CPP_DIR}/audioapi/*.cpp")
6
+
7
+ add_library(react-native-audio-api SHARED ${ANDROID_CPP_SOURCES} ${ANDROID_C_SOURCES} ${COMMON_CPP_SOURCES})
8
+
9
+ find_package(ReactAndroid REQUIRED CONFIG)
10
+ find_package(fbjni REQUIRED CONFIG)
11
+ find_package(oboe REQUIRED CONFIG)
12
+
13
+ target_include_directories(
14
+ react-native-audio-api
15
+ PRIVATE
16
+ "${COMMON_CPP_DIR}"
17
+ "${ANDROID_CPP_DIR}"
18
+ "${REACT_NATIVE_DIR}/ReactCommon"
19
+ "${REACT_NATIVE_DIR}/ReactAndroid/src/main/jni/react/turbomodule"
20
+ "${REACT_NATIVE_DIR}/ReactCommon/callinvoker"
21
+ )
22
+
23
+ set(LINK_LIBRARIES
24
+ ReactAndroid::jsi
25
+ fbjni::fbjni
26
+ android
27
+ log
28
+ oboe::oboe
29
+ )
30
+
31
+ if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
32
+ set(RN_VERSION_LINK_LIBRARIES
33
+ ReactAndroid::reactnative
34
+ )
35
+ else()
36
+ set(RN_VERSION_LINK_LIBRARIES
37
+ ReactAndroid::folly_runtime
38
+ ReactAndroid::react_nativemodule_core
39
+ ReactAndroid::glog
40
+ ReactAndroid::reactnativejni
41
+ )
42
+ endif()
43
+
44
+ target_link_libraries(react-native-audio-api ${LINK_LIBRARIES} ${RN_VERSION_LINK_LIBRARIES})
@@ -1,7 +1,4 @@
1
- #include "AudioAPIModule.h"
2
-
3
- #include "AudioContext.h"
4
- #include "AudioContextHostObject.h"
1
+ #include <audioapi/android/AudioAPIModule.h>
5
2
 
6
3
  namespace audioapi {
7
4
 
@@ -1,12 +1,13 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/AudioAPIModuleInstaller.h>
4
+
3
5
  #include <ReactCommon/CallInvokerHolder.h>
4
6
  #include <fbjni/fbjni.h>
5
7
  #include <react/jni/CxxModuleWrapper.h>
6
8
  #include <react/jni/JMessageQueueThread.h>
7
9
  #include <memory>
8
10
  #include <utility>
9
- #include "AudioAPIModuleInstaller.h"
10
11
 
11
12
  namespace audioapi {
12
13
 
@@ -1,5 +1,6 @@
1
+ #include <audioapi/android/AudioAPIModule.h>
2
+
1
3
  #include <fbjni/fbjni.h>
2
- #include "AudioAPIModule.h"
3
4
 
4
5
  using namespace audioapi;
5
6
 
@@ -1,11 +1,11 @@
1
- #include "AudioDecoder.h"
1
+ #include <audioapi/core/utils/AudioArray.h>
2
+ #include <audioapi/core/utils/AudioBus.h>
3
+ #include <audioapi/core/utils/AudioDecoder.h>
2
4
 
3
- #define MINIAUDIO_IMPLEMENTATION
4
5
  #include <android/log.h>
5
- #include <miniaudio.h>
6
6
 
7
- #include "AudioArray.h"
8
- #include "AudioBus.h"
7
+ #define MINIAUDIO_IMPLEMENTATION
8
+ #include <audioapi/libs/miniaudio.h>
9
9
 
10
10
  namespace audioapi {
11
11
 
@@ -1,10 +1,8 @@
1
- #include <cassert>
2
-
3
- #include "AudioArray.h"
4
- #include "AudioBus.h"
5
- #include "AudioContext.h"
6
- #include "AudioPlayer.h"
7
- #include "Constants.h"
1
+ #include <audioapi/android/core/AudioPlayer.h>
2
+ #include <audioapi/core/AudioContext.h>
3
+ #include <audioapi/core/Constants.h>
4
+ #include <audioapi/core/utils/AudioArray.h>
5
+ #include <audioapi/core/utils/AudioBus.h>
8
6
 
9
7
  namespace audioapi {
10
8
 
@@ -3,6 +3,7 @@
3
3
  #include <oboe/Oboe.h>
4
4
  #include <functional>
5
5
  #include <memory>
6
+ #include <cassert>
6
7
 
7
8
  namespace audioapi {
8
9
 
@@ -61,7 +61,7 @@
61
61
  # define _USE_MATH_DEFINES // ask gently MSVC to define M_PI, M_SQRT2 etc.
62
62
  #endif
63
63
 
64
- #include "pffft.h"
64
+ #include <audioapi/android/libs/pffft.h>
65
65
  #include <stdlib.h>
66
66
  #include <stdio.h>
67
67
  #include <math.h>
@@ -1734,7 +1734,7 @@ void pffft_zconvolve_accumulate(PFFFT_Setup *s, const float *a, const float *b,
1734
1734
  bi0 = ((v4sf_union*)vb)[1].f[0];
1735
1735
  abr0 = ((v4sf_union*)vab)[0].f[0];
1736
1736
  abi0 = ((v4sf_union*)vab)[1].f[0];
1737
-
1737
+
1738
1738
  #ifdef ZCONVOLVE_USING_INLINE_ASM // inline asm version, unfortunately miscompiled by clang 3.2, at least on ubuntu.. so this will be restricted to gcc
1739
1739
  const float *a_ = a, *b_ = b; float *ab_ = ab;
1740
1740
  int N = Ncvec;
@@ -24,6 +24,7 @@ class AudioAPIPackage :
24
24
  }
25
25
 
26
26
  override fun getReactModuleInfoProvider(): ReactModuleInfoProvider =
27
+
27
28
  ReactModuleInfoProvider(
28
29
  fun (): Map<String, ReactModuleInfo> =
29
30
  mapOf(
@@ -1,8 +1,10 @@
1
1
  #pragma once
2
2
 
3
- #include <JsiPromise.h>
4
- #include "AudioContext.h"
5
- #include "AudioContextHostObject.h"
3
+ #include <audioapi/jsi/JsiPromise.h>
4
+ #include <audioapi/core/AudioContext.h>
5
+ #include <audioapi/HostObjects/AudioContextHostObject.h>
6
+
7
+ #include <memory>
6
8
 
7
9
  namespace audioapi {
8
10
 
@@ -1,12 +1,12 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/core/analysis/AnalyserNode.h>
4
+ #include <audioapi/HostObjects/AudioNodeHostObject.h>
5
+
3
6
  #include <memory>
4
7
  #include <string>
5
8
  #include <vector>
6
9
 
7
- #include "AnalyserNode.h"
8
- #include "AudioNodeHostObject.h"
9
-
10
10
  namespace audioapi {
11
11
  using namespace facebook;
12
12
 
@@ -1,13 +1,13 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/jsi/JsiHostObject.h>
4
+ #include <audioapi/core/sources/AudioBuffer.h>
5
+
3
6
  #include <jsi/jsi.h>
4
7
  #include <memory>
5
8
  #include <vector>
6
9
  #include <cstddef>
7
10
 
8
- #include <JsiHostObject.h>
9
- #include "AudioBuffer.h"
10
-
11
11
  namespace audioapi {
12
12
  using namespace facebook;
13
13
 
@@ -1,13 +1,13 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/HostObjects/AudioBufferHostObject.h>
4
+ #include <audioapi/core/sources/AudioBufferSourceNode.h>
5
+ #include <audioapi/HostObjects/AudioParamHostObject.h>
6
+ #include <audioapi/HostObjects/AudioScheduledSourceNodeHostObject.h>
7
+
3
8
  #include <memory>
4
9
  #include <vector>
5
10
 
6
- #include "AudioBufferHostObject.h"
7
- #include "AudioBufferSourceNode.h"
8
- #include "AudioParamHostObject.h"
9
- #include "AudioScheduledSourceNodeHostObject.h"
10
-
11
11
  namespace audioapi {
12
12
  using namespace facebook;
13
13
 
@@ -1,13 +1,13 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/core/AudioContext.h>
4
+ #include <audioapi/HostObjects/BaseAudioContextHostObject.h>
5
+
3
6
  #include <jsi/jsi.h>
4
7
  #include <memory>
5
8
  #include <utility>
6
9
  #include <vector>
7
10
 
8
- #include "AudioContext.h"
9
- #include "BaseAudioContextHostObject.h"
10
-
11
11
  namespace audioapi {
12
12
  using namespace facebook;
13
13
 
@@ -1,11 +1,11 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/core/destinations/AudioDestinationNode.h>
4
+ #include <audioapi/HostObjects/AudioNodeHostObject.h>
5
+
3
6
  #include <memory>
4
7
  #include <vector>
5
8
 
6
- #include "AudioDestinationNode.h"
7
- #include "AudioNodeHostObject.h"
8
-
9
9
  namespace audioapi {
10
10
  using namespace facebook;
11
11
 
@@ -1,12 +1,12 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/jsi/JsiHostObject.h>
4
+ #include <audioapi/core/AudioNode.h>
5
+
3
6
  #include <jsi/jsi.h>
4
7
  #include <memory>
5
8
  #include <vector>
6
9
 
7
- #include <JsiHostObject.h>
8
- #include "AudioNode.h"
9
-
10
10
  namespace audioapi {
11
11
  using namespace facebook;
12
12
 
@@ -1,13 +1,13 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/jsi/JsiHostObject.h>
4
+ #include <audioapi/core/AudioParam.h>
5
+
3
6
  #include <jsi/jsi.h>
4
7
  #include <memory>
5
8
  #include <vector>
6
9
  #include <cstddef>
7
10
 
8
- #include <JsiHostObject.h>
9
- #include "AudioParam.h"
10
-
11
11
  namespace audioapi {
12
12
  using namespace facebook;
13
13
 
@@ -1,11 +1,11 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/HostObjects/AudioNodeHostObject.h>
4
+ #include <audioapi/core/sources/AudioScheduledSourceNode.h>
5
+
3
6
  #include <memory>
4
7
  #include <vector>
5
8
 
6
- #include "AudioNodeHostObject.h"
7
- #include "AudioScheduledSourceNode.h"
8
-
9
9
  namespace audioapi {
10
10
  using namespace facebook;
11
11
 
@@ -1,26 +1,25 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/jsi/JsiHostObject.h>
4
+ #include <audioapi/jsi/JsiPromise.h>
5
+ #include <audioapi/HostObjects/AudioBufferHostObject.h>
6
+ #include <audioapi/HostObjects/AudioBufferSourceNodeHostObject.h>
7
+ #include <audioapi/HostObjects/AudioDestinationNodeHostObject.h>
8
+ #include <audioapi/core/BaseAudioContext.h>
9
+ #include <audioapi/HostObjects/BiquadFilterNodeHostObject.h>
10
+ #include <audioapi/HostObjects/GainNodeHostObject.h>
11
+ #include <audioapi/HostObjects/OscillatorNodeHostObject.h>
12
+ #include <audioapi/HostObjects/PeriodicWaveHostObject.h>
13
+ #include <audioapi/HostObjects/StereoPannerNodeHostObject.h>
14
+ #include <audioapi/HostObjects/AnalyserNodeHostObject.h>
15
+ #include <audioapi/HostObjects/StretcherNodeHostObject.h>
16
+
3
17
  #include <jsi/jsi.h>
4
18
  #include <memory>
5
19
  #include <utility>
6
20
  #include <vector>
7
21
  #include <cstddef>
8
22
 
9
- #include <JsiHostObject.h>
10
- #include <JsiPromise.h>
11
-
12
- #include "AudioBufferHostObject.h"
13
- #include "AudioBufferSourceNodeHostObject.h"
14
- #include "AudioDestinationNodeHostObject.h"
15
- #include "BaseAudioContext.h"
16
- #include "BiquadFilterNodeHostObject.h"
17
- #include "GainNodeHostObject.h"
18
- #include "OscillatorNodeHostObject.h"
19
- #include "PeriodicWaveHostObject.h"
20
- #include "StereoPannerNodeHostObject.h"
21
- #include "AnalyserNodeHostObject.h"
22
- #include "StretcherNodeHostObject.h"
23
-
24
23
  namespace audioapi {
25
24
  using namespace facebook;
26
25
 
@@ -1,13 +1,13 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/HostObjects/AudioNodeHostObject.h>
4
+ #include <audioapi/HostObjects/AudioParamHostObject.h>
5
+ #include <audioapi/core/effects/BiquadFilterNode.h>
6
+
3
7
  #include <memory>
4
8
  #include <string>
5
9
  #include <vector>
6
10
 
7
- #include "AudioNodeHostObject.h"
8
- #include "AudioParamHostObject.h"
9
- #include "BiquadFilterNode.h"
10
-
11
11
  namespace audioapi {
12
12
  using namespace facebook;
13
13
 
@@ -1,12 +1,12 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/HostObjects/AudioNodeHostObject.h>
4
+ #include <audioapi/HostObjects/AudioParamHostObject.h>
5
+ #include <audioapi/core/effects/GainNode.h>
6
+
3
7
  #include <memory>
4
8
  #include <vector>
5
9
 
6
- #include "AudioNodeHostObject.h"
7
- #include "AudioParamHostObject.h"
8
- #include "GainNode.h"
9
-
10
10
  namespace audioapi {
11
11
  using namespace facebook;
12
12
 
@@ -1,14 +1,14 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/HostObjects/AudioScheduledSourceNodeHostObject.h>
4
+ #include <audioapi/HostObjects/AudioParamHostObject.h>
5
+ #include <audioapi/HostObjects/PeriodicWaveHostObject.h>
6
+ #include <audioapi/core/sources/OscillatorNode.h>
7
+
3
8
  #include <memory>
4
9
  #include <string>
5
10
  #include <vector>
6
11
 
7
- #include "AudioParamHostObject.h"
8
- #include "AudioScheduledSourceNodeHostObject.h"
9
- #include "OscillatorNode.h"
10
- #include "PeriodicWaveHostObject.h"
11
-
12
12
  namespace audioapi {
13
13
  using namespace facebook;
14
14
 
@@ -1,11 +1,11 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/core/effects/PeriodicWave.h>
4
+
3
5
  #include <jsi/jsi.h>
4
6
  #include <memory>
5
7
  #include <vector>
6
8
 
7
- #include "PeriodicWave.h"
8
-
9
9
  namespace audioapi {
10
10
  using namespace facebook;
11
11
 
@@ -1,13 +1,13 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/HostObjects/AudioNodeHostObject.h>
4
+ #include <audioapi/HostObjects/AudioParamHostObject.h>
5
+ #include <audioapi/core/effects/StereoPannerNode.h>
6
+
3
7
  #include <memory>
4
8
  #include <string>
5
9
  #include <vector>
6
10
 
7
- #include "AudioNodeHostObject.h"
8
- #include "AudioParamHostObject.h"
9
- #include "StereoPannerNode.h"
10
-
11
11
  namespace audioapi {
12
12
  using namespace facebook;
13
13
 
@@ -0,0 +1,35 @@
1
+ #pragma once
2
+
3
+ #include <audioapi/HostObjects/AudioNodeHostObject.h>
4
+ #include <audioapi/HostObjects/AudioParamHostObject.h>
5
+ #include <audioapi/core/effects/StretcherNode.h>
6
+
7
+ #include <memory>
8
+ #include <vector>
9
+
10
+ namespace audioapi {
11
+
12
+ using namespace facebook;
13
+
14
+ class StretcherNodeHostObject : public AudioNodeHostObject {
15
+ public:
16
+ explicit StretcherNodeHostObject(const std::shared_ptr<StretcherNode> &node): AudioNodeHostObject(node) {
17
+ addGetters(JSI_EXPORT_PROPERTY_GETTER(StretcherNodeHostObject, rate),
18
+ JSI_EXPORT_PROPERTY_GETTER(StretcherNodeHostObject, semitones));
19
+ }
20
+
21
+ JSI_PROPERTY_GETTER(rate) {
22
+ auto stretcherNode = std::static_pointer_cast<StretcherNode>(node_);
23
+ auto rateParam =
24
+ std::make_shared<AudioParamHostObject>(stretcherNode->getRateParam());
25
+ return jsi::Object::createFromHostObject(runtime, rateParam);
26
+ }
27
+
28
+ JSI_PROPERTY_GETTER(semitones) {
29
+ auto stretcherNode = std::static_pointer_cast<StretcherNode>(node_);
30
+ auto semitonesParam =
31
+ std::make_shared<AudioParamHostObject>(stretcherNode->getSemitonesParam());
32
+ return jsi::Object::createFromHostObject(runtime, semitonesParam);
33
+ }
34
+ };
35
+ } // namespace audioapi
@@ -1,13 +1,13 @@
1
1
  #ifdef ANDROID
2
- #include "AudioPlayer.h"
2
+ #include <audioapi/android/core/AudioPlayer.h>
3
3
  #else
4
- #include "IOSAudioPlayer.h"
4
+ #include <audioapi/ios/core/IOSAudioPlayer.h>
5
5
  #endif
6
6
 
7
- #include "AudioContext.h"
8
- #include "AudioDecoder.h"
9
- #include "AudioDestinationNode.h"
10
- #include "AudioNodeManager.h"
7
+ #include <audioapi/core/AudioContext.h>
8
+ #include <audioapi/core/destinations/AudioDestinationNode.h>
9
+ #include <audioapi/core/utils/AudioDecoder.h>
10
+ #include <audioapi/core/utils/AudioNodeManager.h>
11
11
 
12
12
  namespace audioapi {
13
13
  AudioContext::AudioContext() : BaseAudioContext() {
@@ -1,10 +1,10 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/core/BaseAudioContext.h>
4
+
3
5
  #include <memory>
4
6
  #include <functional>
5
7
 
6
- #include "BaseAudioContext.h"
7
-
8
8
  namespace audioapi {
9
9
  #ifdef ANDROID
10
10
  class AudioPlayer;
@@ -1,10 +1,8 @@
1
- #include <cassert>
2
- #include <memory>
3
-
4
- #include "AudioBus.h"
5
- #include "AudioNode.h"
6
- #include "AudioNodeManager.h"
7
- #include "BaseAudioContext.h"
1
+ #include <audioapi/core/AudioNode.h>
2
+ #include <audioapi/core/BaseAudioContext.h>
3
+ #include <audioapi/core/utils/AudioArray.h>
4
+ #include <audioapi/core/utils/AudioBus.h>
5
+ #include <audioapi/core/utils/AudioNodeManager.h>
8
6
 
9
7
  namespace audioapi {
10
8
 
@@ -1,14 +1,15 @@
1
1
  #pragma once
2
2
 
3
+ #include <audioapi/core/types/ChannelCountMode.h>
4
+ #include <audioapi/core/types/ChannelInterpretation.h>
5
+ #include <audioapi/core/Constants.h>
6
+
3
7
  #include <memory>
4
8
  #include <string>
5
9
  #include <unordered_set>
6
10
  #include <cstddef>
7
11
  #include <vector>
8
-
9
- #include "ChannelCountMode.h"
10
- #include "ChannelInterpretation.h"
11
- #include "Constants.h"
12
+ #include <cassert>
12
13
 
13
14
  namespace audioapi {
14
15
 
@@ -1,7 +1,6 @@
1
- #include "AudioParam.h"
2
-
3
- #include "AudioUtils.h"
4
- #include "BaseAudioContext.h"
1
+ #include <audioapi/core/AudioParam.h>
2
+ #include <audioapi/core/BaseAudioContext.h>
3
+ #include <audioapi/dsp/AudioUtils.h>
5
4
 
6
5
  namespace audioapi {
7
6