{"version":3,"file":"MonoFilter.mjs","sources":["../../src/filters/MonoFilter.ts"],"sourcesContent":["import { getInstance } from '../instance';\nimport { Filter } from './Filter';\n\n/**\n * Combine all channels into mono channel.\n *\n * @memberof filters\n */\nclass MonoFilter extends Filter\n{\n    /** Merger node */\n    private _merger: ChannelMergerNode;\n\n    constructor()\n    {\n        let merger: ChannelMergerNode;\n        let splitter: ChannelSplitterNode;\n\n        if (!getInstance().useLegacy)\n        {\n            const { audioContext } = getInstance().context;\n\n            splitter = audioContext.createChannelSplitter();\n            merger = audioContext.createChannelMerger();\n            merger.connect(splitter);\n        }\n        super(merger, splitter);\n        this._merger = merger;\n    }\n\n    public destroy(): void\n    {\n        this._merger?.disconnect();\n        this._merger = null;\n        super.destroy();\n    }\n}\n\nexport { MonoFilter };\n"],"names":[],"mappings":";;;AAQA,MAAM,mBAAmB,MACzB,CAAA;AAAA,EAII,WACA,GAAA;AACI,IAAI,IAAA,MAAA,CAAA;AACJ,IAAI,IAAA,QAAA,CAAA;AAEJ,IAAI,IAAA,CAAC,WAAY,EAAA,CAAE,SACnB,EAAA;AACI,MAAA,MAAM,EAAE,YAAA,EAAiB,GAAA,WAAA,EAAc,CAAA,OAAA,CAAA;AAEvC,MAAA,QAAA,GAAW,aAAa,qBAAsB,EAAA,CAAA;AAC9C,MAAA,MAAA,GAAS,aAAa,mBAAoB,EAAA,CAAA;AAC1C,MAAA,MAAA,CAAO,QAAQ,QAAQ,CAAA,CAAA;AAAA,KAC3B;AACA,IAAA,KAAA,CAAM,QAAQ,QAAQ,CAAA,CAAA;AACtB,IAAA,IAAA,CAAK,OAAU,GAAA,MAAA,CAAA;AAAA,GACnB;AAAA,EAEO,OACP,GAAA;AACI,IAAA,IAAA,CAAK,SAAS,UAAW,EAAA,CAAA;AACzB,IAAA,IAAA,CAAK,OAAU,GAAA,IAAA,CAAA;AACf,IAAA,KAAA,CAAM,OAAQ,EAAA,CAAA;AAAA,GAClB;AACJ;;;;"}