| 
5 | 5 | #include <audioapi/HostObjects/analysis/AnalyserNodeHostObject.h>  | 
6 | 6 | #include <audioapi/HostObjects/destinations/AudioDestinationNodeHostObject.h>  | 
7 | 7 | #include <audioapi/HostObjects/effects/BiquadFilterNodeHostObject.h>  | 
 | 8 | +#include <audioapi/HostObjects/effects/ConvolverNodeHostObject.h>  | 
8 | 9 | #include <audioapi/HostObjects/effects/GainNodeHostObject.h>  | 
9 | 10 | #include <audioapi/HostObjects/effects/PeriodicWaveHostObject.h>  | 
10 | 11 | #include <audioapi/HostObjects/effects/StereoPannerNodeHostObject.h>  | 
@@ -49,6 +50,7 @@ BaseAudioContextHostObject::BaseAudioContextHostObject(  | 
49 | 50 |  JSI_EXPORT_FUNCTION(BaseAudioContextHostObject, createBufferQueueSource),  | 
50 | 51 |  JSI_EXPORT_FUNCTION(BaseAudioContextHostObject, createBuffer),  | 
51 | 52 |  JSI_EXPORT_FUNCTION(BaseAudioContextHostObject, createPeriodicWave),  | 
 | 53 | + JSI_EXPORT_FUNCTION(BaseAudioContextHostObject, createConvolver),  | 
52 | 54 |  JSI_EXPORT_FUNCTION(BaseAudioContextHostObject, createAnalyser));  | 
53 | 55 | }  | 
54 | 56 | 
 
  | 
@@ -269,4 +271,20 @@ JSI_HOST_FUNCTION_IMPL(BaseAudioContextHostObject, createAnalyser) {  | 
269 | 271 |  auto analyserHostObject = std::make_shared<AnalyserNodeHostObject>(analyser);  | 
270 | 272 |  return jsi::Object::createFromHostObject(runtime, analyserHostObject);  | 
271 | 273 | }  | 
 | 274 | + | 
 | 275 | +JSI_HOST_FUNCTION_IMPL(BaseAudioContextHostObject, createConvolver) {  | 
 | 276 | + auto disableNormalization = args[1].getBool();  | 
 | 277 | + std::shared_ptr<ConvolverNode> convolver;  | 
 | 278 | + if (args[0].isUndefined()) {  | 
 | 279 | + convolver = context_->createConvolver(nullptr, disableNormalization);  | 
 | 280 | + } else {  | 
 | 281 | + auto bufferHostObject =  | 
 | 282 | + args[0].getObject(runtime).asHostObject<AudioBufferHostObject>(runtime);  | 
 | 283 | + convolver = context_->createConvolver(  | 
 | 284 | + bufferHostObject->audioBuffer_, disableNormalization);  | 
 | 285 | + }  | 
 | 286 | + auto convolverHostObject =  | 
 | 287 | + std::make_shared<ConvolverNodeHostObject>(convolver);  | 
 | 288 | + return jsi::Object::createFromHostObject(runtime, convolverHostObject);  | 
 | 289 | +}  | 
272 | 290 | } // namespace audioapi  | 
0 commit comments