react-native-audio-api
Version:
react-native-audio-api provides system for controlling audio in React Native environment compatible with Web Audio API specification
44 lines (43 loc) • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _AudioNode = _interopRequireDefault(require("./AudioNode"));
var _errors = require("../errors");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
class WaveShaperNode extends _AudioNode.default {
isCurveSet = false;
_curve = null;
constructor(context, options) {
const node = context.context.createWaveShaper(options || {});
super(context, node);
if (options?.curve) {
this._curve = options.curve;
this.isCurveSet = true;
}
}
get curve() {
return this._curve;
}
get oversample() {
return this.node.oversample;
}
set curve(curve) {
if (curve !== null) {
if (this.isCurveSet) {
throw new _errors.InvalidStateError('The curve can only be set once and cannot be changed afterwards.');
}
if (curve.length < 2) {
throw new _errors.InvalidStateError('The curve must have at least two values if not null.');
}
this.isCurveSet = true;
}
this.node.setCurve(curve);
}
set oversample(value) {
this.node.oversample = value;
}
}
exports.default = WaveShaperNode;
//# sourceMappingURL=WaveShaperNode.js.map