#include "stereo-panner-node.hpp"
#include "common.hpp"
// ------ Constructor and Destructor
StereoPannerNode::StereoPannerNode() : AudioNode() {
_isDestroyed = false;
}
StereoPannerNode::~StereoPannerNode() {
_destroy();
}
void StereoPannerNode::_destroy() {
DES_CHECK;
_isDestroyed = true;
AudioNode::_destroy();
}
// ------ Methods and props
JS_IMPLEMENT_GETTER(StereoPannerNode, pan) {
THIS_CHECK;
RET_VALUE(_pan.Value());
}
// ------ System methods and props for Napi::ObjectWrap
IMPLEMENT_ES5_CLASS(StereoPannerNode);
void StereoPannerNode::init(Napi::Env env, Napi::Object exports) {
Napi::Function ctor = wrap(env);
JS_ASSIGN_METHOD(destroy);
JS_ASSIGN_GETTER(pan);
JS_ASSIGN_GETTER(isDestroyed);
exports.Set("StereoPannerNode", ctor);
}
bool StereoPannerNode::isStereoPannerNode(Napi::Object obj) {
return obj.InstanceOf(_ctorEs5.Value());
}
Napi::Object StereoPannerNode::getNew() {
Napi::Function ctor = Nan::New(_constructor);
// Napi::Value argv[] = { /* arg1, arg2, ... */ };
return Nan::NewInstance(ctor, 0 /*argc*/, nullptr /*argv*/).ToLocalChecked();
}
StereoPannerNode::StereoPannerNode(const Napi::CallbackInfo &info)
: Napi::ObjectWrap(info) {
StereoPannerNode *stereoPannerNode = new StereoPannerNode();
}
JS_IMPLEMENT_METHOD(StereoPannerNode, destroy) {
THIS_CHECK;
emit("destroy");
_destroy();
}
JS_IMPLEMENT_GETTER(StereoPannerNode, isDestroyed) {
NAPI_ENV;
RET_BOOL(_isDestroyed);
}