[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/node-3d/webaudio/master/src/cpp/stereo-panner-node.cpp [Back]  [Original]

#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);
}

Web Proxy Viewer  |  New URL  |  Original Page