UNPKG

wam-community

Version:

A collection of prebuilt Web Audio Modules ready for use

87 lines (68 loc) 2.23 kB
/** @typedef {import('@webaudiomodules/api').WamParameter} WamParameter */ /** @typedef {import('@webaudiomodules/api').WamParameterInfo} WamParameterInfo */ /** * @extends {AudioParam} * @implements {WamParameter} */ export default class MgrAudioParam extends AudioParam { get exponent() { return this.info.exponent; } /** * @type {WamParameterInfo} */ _info = undefined; get info() { return this._info; } set info(info) { this._info = info; } set normalizedValue(valueIn) { this.value = this.info.denormalize(valueIn); } get normalizedValue() { return this.info.normalize(this.value); } setValueAtTime(value, startTime) { return super.setValueAtTime(value, startTime); } setNormalizedValueAtTime(valueIn, startTime) { const value = this.info.denormalize(valueIn); return this.setValueAtTime(value, startTime); } linearRampToValueAtTime(value, endTime) { return super.linearRampToValueAtTime(value, endTime); } linearRampToNormalizedValueAtTime(valueIn, endTime) { const value = this.info.denormalize(valueIn); return this.linearRampToValueAtTime(value, endTime); } exponentialRampToValueAtTime(value, endTime) { return super.exponentialRampToValueAtTime(value, endTime); } exponentialRampToNormalizedValueAtTime(valueIn, endTime) { const value = this.info.denormalize(valueIn); return this.exponentialRampToValueAtTime(value, endTime); } setTargetAtTime(target, startTime, timeConstant) { return super.setTargetAtTime(target, startTime, timeConstant); } setNormalizedTargetAtTime(targetIn, startTime, timeConstant) { const target = this.info.denormalize(targetIn); return this.setTargetAtTime(target, startTime, timeConstant); } setValueCurveAtTime(values, startTime, duration) { return super.setValueCurveAtTime(values, startTime, duration); } setNormalizedValueCurveAtTime(valuesIn, startTime, duration) { const values = Array.from(valuesIn).map((v) => this.info.denormalize(v)); return this.setValueCurveAtTime(values, startTime, duration); } cancelScheduledParamValues(cancelTime) { return super.cancelScheduledValues(cancelTime); } cancelAndHoldParamAtTime(cancelTime) { return super.cancelAndHoldAtTime(cancelTime); } }