{"version":3,"file":"WebAudioUtils.mjs","sources":["../../src/webaudio/WebAudioUtils.ts"],"sourcesContent":["import { getInstance } from '../instance';\nimport { WebAudioContext } from './WebAudioContext';\n\n/**\n * Internal class for Web Audio abstractions and convenience methods.\n * @memberof webaudio\n */\nclass WebAudioUtils\n{\n    /**\n     * Dezippering is removed in the future Web Audio API, instead\n     * we use the `setValueAtTime` method, however, this is not available\n     * in all environments (e.g., Android webview), so we fallback to the `value` setter.\n     * @param param - AudioNode parameter object\n     * @param value - Value to set\n     * @return The value set\n     */\n    public static setParamValue(param: AudioParam, value: number): number\n    {\n        if (param.setValueAtTime)\n        {\n            const context = getInstance().context as WebAudioContext;\n\n            param.setValueAtTime(value, context.audioContext.currentTime);\n        }\n        else\n        {\n            param.value = value;\n        }\n\n        return value;\n    }\n}\n\nexport { WebAudioUtils };\n"],"names":[],"mappings":";;AAOA,MAAM,aACN,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASI,OAAc,aAAc,CAAA,KAAA,EAAmB,KAC/C,EAAA;AACI,IAAA,IAAI,MAAM,cACV,EAAA;AACI,MAAM,MAAA,OAAA,GAAU,aAAc,CAAA,OAAA,CAAA;AAE9B,MAAA,KAAA,CAAM,cAAe,CAAA,KAAA,EAAO,OAAQ,CAAA,YAAA,CAAa,WAAW,CAAA,CAAA;AAAA,KAGhE,MAAA;AACI,MAAA,KAAA,CAAM,KAAQ,GAAA,KAAA,CAAA;AAAA,KAClB;AAEA,IAAO,OAAA,KAAA,CAAA;AAAA,GACX;AACJ;;;;"}