@famibee/skynovel 1.48.13 → 1.63.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/CallStack.js +25 -0
- package/dist/CallStack.js.map +1 -0
- package/dist/EventMng.js +1588 -0
- package/dist/EventMng.js.map +1 -0
- package/dist/LayerMng.js +2924 -0
- package/dist/LayerMng.js.map +1 -0
- package/dist/PropParser.js +833 -0
- package/dist/PropParser.js.map +1 -0
- package/dist/Reading.js +784 -0
- package/dist/Reading.js.map +1 -0
- package/dist/ScriptIterator.js +1125 -0
- package/dist/ScriptIterator.js.map +1 -0
- package/dist/SndBuf.js +1519 -0
- package/dist/SndBuf.js.map +1 -0
- package/dist/SoundMng.js +136 -0
- package/dist/SoundMng.js.map +1 -0
- package/dist/Variable.js +479 -0
- package/dist/Variable.js.map +1 -0
- package/dist/app.d.ts +5 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/appMain.d.ts +6 -6
- package/dist/appMain.d.ts.map +1 -1
- package/dist/appMain_cmn.d.ts +30 -0
- package/dist/appMain_cmn.d.ts.map +1 -0
- package/dist/build.d.ts +2 -0
- package/dist/build.d.ts.map +1 -0
- package/dist/gamepad.js +511 -0
- package/dist/gamepad.js.map +1 -0
- package/dist/index.d.ts +32 -38
- package/dist/index.d.ts.map +1 -1
- package/dist/preload.d.ts +34 -31
- package/dist/preload.d.ts.map +1 -1
- package/dist/sn/AnalyzeTagArg.d.ts +10 -6
- package/dist/sn/AnalyzeTagArg.d.ts.map +1 -1
- package/dist/sn/Areas.d.ts +7 -5
- package/dist/sn/Areas.d.ts.map +1 -1
- package/dist/sn/Button.d.ts +2 -2
- package/dist/sn/Button.d.ts.map +1 -1
- package/dist/sn/CallStack.d.ts +12 -5
- package/dist/sn/CallStack.d.ts.map +1 -1
- package/dist/sn/CmnInterface.d.ts +178 -117
- package/dist/sn/CmnInterface.d.ts.map +1 -1
- package/dist/sn/CmnLib.d.ts +20 -19
- package/dist/sn/CmnLib.d.ts.map +1 -1
- package/dist/sn/CmnTween.d.ts +6 -8
- package/dist/sn/CmnTween.d.ts.map +1 -1
- package/dist/sn/Config.d.ts +6 -4
- package/dist/sn/Config.d.ts.map +1 -1
- package/dist/sn/ConfigBase.d.ts +39 -24
- package/dist/sn/ConfigBase.d.ts.map +1 -1
- package/dist/sn/DebugMng.d.ts +3 -2
- package/dist/sn/DebugMng.d.ts.map +1 -1
- package/dist/sn/DesignCast.d.ts +5 -6
- package/dist/sn/DesignCast.d.ts.map +1 -1
- package/dist/sn/EventListenerCtn.d.ts +3 -3
- package/dist/sn/EventListenerCtn.d.ts.map +1 -1
- package/dist/sn/EventMng.d.ts +5 -11
- package/dist/sn/EventMng.d.ts.map +1 -1
- package/dist/sn/FocusMng.d.ts.map +1 -1
- package/dist/sn/FrameMng.d.ts +3 -4
- package/dist/sn/FrameMng.d.ts.map +1 -1
- package/dist/sn/Grammar.d.ts +133 -16
- package/dist/sn/Grammar.d.ts.map +1 -1
- package/dist/sn/GrpLayer.d.ts +8 -4
- package/dist/sn/GrpLayer.d.ts.map +1 -1
- package/dist/sn/Hyphenation.d.ts +42 -0
- package/dist/sn/Hyphenation.d.ts.map +1 -0
- package/dist/sn/Layer.d.ts +24 -4
- package/dist/sn/Layer.d.ts.map +1 -1
- package/dist/sn/LayerMng.d.ts +17 -24
- package/dist/sn/LayerMng.d.ts.map +1 -1
- package/dist/sn/Log.d.ts +18 -0
- package/dist/sn/Log.d.ts.map +1 -0
- package/dist/sn/Main.d.ts +4 -6
- package/dist/sn/Main.d.ts.map +1 -1
- package/dist/sn/Pages.d.ts +1 -1
- package/dist/sn/Pages.d.ts.map +1 -1
- package/dist/sn/PropParser.d.ts +2 -2
- package/dist/sn/PropParser.d.ts.map +1 -1
- package/dist/sn/Reading.d.ts +86 -0
- package/dist/sn/Reading.d.ts.map +1 -0
- package/dist/sn/RubySpliter.d.ts +1 -3
- package/dist/sn/RubySpliter.d.ts.map +1 -1
- package/dist/sn/ScriptIterator.d.ts +20 -10
- package/dist/sn/ScriptIterator.d.ts.map +1 -1
- package/dist/sn/SndBuf.d.ts +15 -5
- package/dist/sn/SndBuf.d.ts.map +1 -1
- package/dist/sn/SoundMng.d.ts +3 -2
- package/dist/sn/SoundMng.d.ts.map +1 -1
- package/dist/sn/SpritesMng.d.ts +4 -4
- package/dist/sn/SpritesMng.d.ts.map +1 -1
- package/dist/sn/SysApp.d.ts +12 -16
- package/dist/sn/SysApp.d.ts.map +1 -1
- package/dist/sn/SysBase.d.ts +24 -27
- package/dist/sn/SysBase.d.ts.map +1 -1
- package/dist/sn/SysNode.d.ts +9 -9
- package/dist/sn/SysNode.d.ts.map +1 -1
- package/dist/sn/SysWeb.d.ts +10 -14
- package/dist/sn/SysWeb.d.ts.map +1 -1
- package/dist/sn/TxtLayer.d.ts +79 -7
- package/dist/sn/TxtLayer.d.ts.map +1 -1
- package/dist/sn/TxtStage.d.ts +45 -30
- package/dist/sn/TxtStage.d.ts.map +1 -1
- package/dist/sn/Variable.d.ts +33 -13
- package/dist/sn/Variable.d.ts.map +1 -1
- package/dist/sn/htm2tx.d.ts +3 -0
- package/dist/sn/htm2tx.d.ts.map +1 -0
- package/dist/test/AnalyzeTagArg.test.d.ts +2 -0
- package/dist/test/AnalyzeTagArg.test.d.ts.map +1 -0
- package/dist/test/AreasTest.test.d.ts +2 -0
- package/dist/test/AreasTest.test.d.ts.map +1 -0
- package/dist/test/CmnLib.test.d.ts +2 -0
- package/dist/test/CmnLib.test.d.ts.map +1 -0
- package/dist/test/Config.test.d.ts +2 -0
- package/dist/test/Config.test.d.ts.map +1 -0
- package/dist/test/Grammar.test.d.ts +2 -0
- package/dist/test/Grammar.test.d.ts.map +1 -0
- package/dist/test/HyphTest.test.d.ts +2 -0
- package/dist/test/HyphTest.test.d.ts.map +1 -0
- package/dist/test/Log.test.d.ts +2 -0
- package/dist/test/Log.test.d.ts.map +1 -0
- package/dist/test/PropParser.test.d.ts +2 -0
- package/dist/test/PropParser.test.d.ts.map +1 -0
- package/dist/test/RubySpliter.test.d.ts +2 -0
- package/dist/test/RubySpliter.test.d.ts.map +1 -0
- package/dist/test/SysTest.d.ts +5 -0
- package/dist/test/SysTest.d.ts.map +1 -0
- package/dist/test/ValTest.d.ts +31 -0
- package/dist/test/ValTest.d.ts.map +1 -0
- package/dist/test/Variable.test.d.ts +2 -0
- package/dist/test/Variable.test.d.ts.map +1 -0
- package/dist/web.d.ts +5 -1
- package/dist/web.d.ts.map +1 -1
- package/dist/web.js +6 -30102
- package/dist/web.js.map +1 -1
- package/dist/web2.js +23020 -0
- package/dist/web2.js.map +1 -0
- package/dist_app/CallStack.js +25 -0
- package/dist_app/CallStack.js.map +1 -0
- package/dist_app/EventMng.js +1588 -0
- package/dist_app/EventMng.js.map +1 -0
- package/dist_app/LayerMng.js +2924 -0
- package/dist_app/LayerMng.js.map +1 -0
- package/dist_app/PropParser.js +833 -0
- package/dist_app/PropParser.js.map +1 -0
- package/dist_app/Reading.js +784 -0
- package/dist_app/Reading.js.map +1 -0
- package/dist_app/ScriptIterator.js +1125 -0
- package/dist_app/ScriptIterator.js.map +1 -0
- package/dist_app/SndBuf.js +1519 -0
- package/dist_app/SndBuf.js.map +1 -0
- package/dist_app/SoundMng.js +136 -0
- package/dist_app/SoundMng.js.map +1 -0
- package/dist_app/Variable.js +479 -0
- package/dist_app/Variable.js.map +1 -0
- package/dist_app/app.d.ts +9 -0
- package/dist_app/app.d.ts.map +1 -0
- package/dist_app/app.js +9 -0
- package/dist_app/app.js.map +1 -0
- package/dist_app/app2.js +19819 -0
- package/dist_app/app2.js.map +1 -0
- package/dist_app/appMain.d.ts +9 -0
- package/dist_app/appMain.d.ts.map +1 -0
- package/dist_app/appMain.js +23 -0
- package/dist_app/appMain.js.map +1 -0
- package/dist_app/appMain_cmn.d.ts +30 -0
- package/dist_app/appMain_cmn.d.ts.map +1 -0
- package/dist_app/build.d.ts +2 -0
- package/dist_app/build.d.ts.map +1 -0
- package/dist_app/gamepad.js +511 -0
- package/dist_app/gamepad.js.map +1 -0
- package/dist_app/index.d.ts +33 -0
- package/dist_app/index.d.ts.map +1 -0
- package/dist_app/preload.d.ts +47 -0
- package/dist_app/preload.d.ts.map +1 -0
- package/dist_app/preload.js +2 -0
- package/dist_app/preload.js.map +1 -0
- package/dist_app/sn/AnalyzeTagArg.d.ts +28 -0
- package/dist_app/sn/AnalyzeTagArg.d.ts.map +1 -0
- package/dist_app/sn/Areas.d.ts +15 -0
- package/dist_app/sn/Areas.d.ts.map +1 -0
- package/dist_app/sn/Button.d.ts +23 -0
- package/dist_app/sn/Button.d.ts.map +1 -0
- package/dist_app/sn/CallStack.d.ts +23 -0
- package/dist_app/sn/CallStack.d.ts.map +1 -0
- package/dist_app/sn/CmnInterface.d.ts +227 -0
- package/dist_app/sn/CmnInterface.d.ts.map +1 -0
- package/dist_app/sn/CmnLib.d.ts +46 -0
- package/dist_app/sn/CmnLib.d.ts.map +1 -0
- package/dist_app/sn/CmnTween.d.ts +35 -0
- package/dist_app/sn/CmnTween.d.ts.map +1 -0
- package/dist_app/sn/Config.d.ts +12 -0
- package/dist_app/sn/Config.d.ts.map +1 -0
- package/dist_app/sn/ConfigBase.d.ts +111 -0
- package/dist_app/sn/ConfigBase.d.ts.map +1 -0
- package/dist_app/sn/DebugMng.d.ts +14 -0
- package/dist_app/sn/DebugMng.d.ts.map +1 -0
- package/dist_app/sn/DesignCast.d.ts +53 -0
- package/dist_app/sn/DesignCast.d.ts.map +1 -0
- package/dist_app/sn/EventListenerCtn.d.ts +13 -0
- package/dist_app/sn/EventListenerCtn.d.ts.map +1 -0
- package/dist_app/sn/EventMng.d.ts +29 -0
- package/dist_app/sn/EventMng.d.ts.map +1 -0
- package/dist_app/sn/FocusMng.d.ts +13 -0
- package/dist_app/sn/FocusMng.d.ts.map +1 -0
- package/dist_app/sn/FrameMng.d.ts +20 -0
- package/dist_app/sn/FrameMng.d.ts.map +1 -0
- package/dist_app/sn/Grammar.d.ts +291 -0
- package/dist_app/sn/Grammar.d.ts.map +1 -0
- package/dist_app/sn/GrpLayer.d.ts +49 -0
- package/dist_app/sn/GrpLayer.d.ts.map +1 -0
- package/dist_app/sn/Hyphenation.d.ts +42 -0
- package/dist_app/sn/Hyphenation.d.ts.map +1 -0
- package/dist_app/sn/Layer.d.ts +86 -0
- package/dist_app/sn/Layer.d.ts.map +1 -0
- package/dist_app/sn/LayerMng.d.ts +46 -0
- package/dist_app/sn/LayerMng.d.ts.map +1 -0
- package/dist_app/sn/Log.d.ts +18 -0
- package/dist_app/sn/Log.d.ts.map +1 -0
- package/dist_app/sn/Main.d.ts +16 -0
- package/dist_app/sn/Main.d.ts.map +1 -0
- package/dist_app/sn/Pages.d.ts +26 -0
- package/dist_app/sn/Pages.d.ts.map +1 -0
- package/dist_app/sn/PropParser.d.ts +12 -0
- package/dist_app/sn/PropParser.d.ts.map +1 -0
- package/dist_app/sn/Reading.d.ts +86 -0
- package/dist_app/sn/Reading.d.ts.map +1 -0
- package/dist_app/sn/RubySpliter.d.ts +14 -0
- package/dist_app/sn/RubySpliter.d.ts.map +1 -0
- package/dist_app/sn/ScriptIterator.d.ts +58 -0
- package/dist_app/sn/ScriptIterator.d.ts.map +1 -0
- package/dist_app/sn/SndBuf.d.ts +30 -0
- package/dist_app/sn/SndBuf.d.ts.map +1 -0
- package/dist_app/sn/SoundMng.d.ts +16 -0
- package/dist_app/sn/SoundMng.d.ts.map +1 -0
- package/dist_app/sn/SpritesMng.d.ts +27 -0
- package/dist_app/sn/SpritesMng.d.ts.map +1 -0
- package/dist_app/sn/SysApp.d.ts +32 -0
- package/dist_app/sn/SysApp.d.ts.map +1 -0
- package/dist_app/sn/SysBase.d.ts +79 -0
- package/dist_app/sn/SysBase.d.ts.map +1 -0
- package/dist_app/sn/SysNode.d.ts +15 -0
- package/dist_app/sn/SysNode.d.ts.map +1 -0
- package/dist_app/sn/SysWeb.d.ts +26 -0
- package/dist_app/sn/SysWeb.d.ts.map +1 -0
- package/dist_app/sn/TxtLayer.d.ts +121 -0
- package/dist_app/sn/TxtLayer.d.ts.map +1 -0
- package/dist_app/sn/TxtStage.d.ts +90 -0
- package/dist_app/sn/TxtStage.d.ts.map +1 -0
- package/dist_app/sn/Variable.d.ts +48 -0
- package/dist_app/sn/Variable.d.ts.map +1 -0
- package/dist_app/sn/htm2tx.d.ts +3 -0
- package/dist_app/sn/htm2tx.d.ts.map +1 -0
- package/dist_app/test/AnalyzeTagArg.test.d.ts +2 -0
- package/dist_app/test/AnalyzeTagArg.test.d.ts.map +1 -0
- package/dist_app/test/AreasTest.test.d.ts +2 -0
- package/dist_app/test/AreasTest.test.d.ts.map +1 -0
- package/dist_app/test/CmnLib.test.d.ts +2 -0
- package/dist_app/test/CmnLib.test.d.ts.map +1 -0
- package/dist_app/test/Config.test.d.ts +2 -0
- package/dist_app/test/Config.test.d.ts.map +1 -0
- package/dist_app/test/Grammar.test.d.ts +2 -0
- package/dist_app/test/Grammar.test.d.ts.map +1 -0
- package/dist_app/test/HyphTest.test.d.ts +2 -0
- package/dist_app/test/HyphTest.test.d.ts.map +1 -0
- package/dist_app/test/Log.test.d.ts +2 -0
- package/dist_app/test/Log.test.d.ts.map +1 -0
- package/dist_app/test/PropParser.test.d.ts +2 -0
- package/dist_app/test/PropParser.test.d.ts.map +1 -0
- package/dist_app/test/RubySpliter.test.d.ts +2 -0
- package/dist_app/test/RubySpliter.test.d.ts.map +1 -0
- package/dist_app/test/SysTest.d.ts +5 -0
- package/dist_app/test/SysTest.d.ts.map +1 -0
- package/dist_app/test/ValTest.d.ts +31 -0
- package/dist_app/test/ValTest.d.ts.map +1 -0
- package/dist_app/test/Variable.test.d.ts +2 -0
- package/dist_app/test/Variable.test.d.ts.map +1 -0
- package/dist_app/web.d.ts +9 -0
- package/dist_app/web.d.ts.map +1 -0
- package/package.json +57 -51
- package/dist/app.js +0 -28154
- package/dist/app.js.map +0 -1
- package/dist/appMain.js +0 -16
- package/dist/appMain.js.map +0 -1
- package/dist/preload.js +0 -2
- package/dist/preload.js.map +0 -1
- package/dist/sn/ReadState.d.ts +0 -79
- package/dist/sn/ReadState.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SndBuf.js","sources":["../src/sn/CmnTween.ts","../node_modules/@pixi/sound/dist/pixi-sound.esm.mjs","../src/sn/SndBuf.ts"],"sourcesContent":["/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2019-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport {type IEvtMng, CmnLib, argChk_Boolean, argChk_Num} from './CmnLib';\nimport type {HArg} from './Grammar';\nimport {Reading} from './Reading';\n\nimport {Tween, Easing, removeAll, update} from '@tweenjs/tween.js'\nimport type {Application} from 'pixi.js';\n\n\ntype ITwInf = {\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\ttw\t\t: Tween<any> | undefined;\n\tonEnd?\t: ()=> void;\n}\n\nexport const TW_INT_TRANS = 'trans\\n';\t// 改行でスクリプトから絶対指定できない値に\nexport const TMP_TSY_NM\t= 'tsy nm:';\n\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class CmnTween {\n\tstatic\t#hTwInf\t: {[tw_nm: string]: ITwInf}\t= {};\n\n\tstatic\t#evtMng\t: IEvtMng;\n\tstatic\t#appPixi: Application;\n\tstatic\tinit(evtMng: IEvtMng, appPixi: Application) {\n\t\tthis.#hTwInf = {};\n\t\tthis.#evtMng = evtMng;\n\t\tthis.#appPixi = appPixi;\n\n\t\tthis.#appPixi.ticker.add(this.#fncTicker);\t// TWEEN 更新\n\t}\n\tstatic\t#fncTicker = ()=> update();\n\tstatic\tdestroy() {\n\t\tthis.stopAllTw();\n\t\tthis.#appPixi.ticker.remove(this.#fncTicker);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tstatic\tsetTwProp(tw: Tween<any>, hArg: HArg): Tween<any> {\n\t\tconst repeat = argChk_Num(hArg, 'repeat', 1);\n\t\treturn tw.delay(argChk_Num(hArg, 'delay', 0))\n\t\t.easing(this.ease(hArg.ease))\n\t\t.repeat(repeat > 0 ?repeat -1 :Infinity)\t// 一度リピート→計二回なので\n\t\t.yoyo(argChk_Boolean(hArg, 'yoyo', false));\n\t}\n\tstatic\treadonly #hEase: {[name: string]: (k: number)=> number}\t= {\n\t\t'Back.In'\t\t\t: k=> Easing.Back.In(k),\n\t\t'Back.InOut'\t\t: k=> Easing.Back.InOut(k),\n\t\t'Back.Out'\t\t\t: k=> Easing.Back.Out(k),\n\t\t'Bounce.In'\t\t\t: k=> Easing.Bounce.In(k),\n\t\t'Bounce.InOut'\t\t: k=> Easing.Bounce.InOut(k),\n\t\t'Bounce.Out'\t\t: k=> Easing.Bounce.Out(k),\n\t\t'Circular.In'\t\t: k=> Easing.Circular.In(k),\n\t\t'Circular.InOut'\t: k=> Easing.Circular.InOut(k),\n\t\t'Circular.Out'\t\t: k=> Easing.Circular.Out(k),\n\t\t'Cubic.In'\t\t\t: k=> Easing.Cubic.In(k),\n\t\t'Cubic.InOut'\t\t: k=> Easing.Cubic.InOut(k),\n\t\t'Cubic.Out'\t\t\t: k=> Easing.Cubic.Out(k),\n\t\t'Elastic.In'\t\t: k=> Easing.Elastic.In(k),\n\t\t'Elastic.InOut'\t\t: k=> Easing.Elastic.InOut(k),\n\t\t'Elastic.Out'\t\t: k=> Easing.Elastic.Out(k),\n\t\t'Exponential.In'\t: k=> Easing.Exponential.In(k),\n\t\t'Exponential.InOut'\t: k=> Easing.Exponential.InOut(k),\n\t\t'Exponential.Out'\t: k=> Easing.Exponential.Out(k),\n\t\t'Linear.None'\t\t: k=> Easing.Linear.None(k),\n\t\t'Quadratic.In'\t\t: k=> Easing.Quadratic.In(k),\n\t\t'Quadratic.InOut'\t: k=> Easing.Quadratic.InOut(k),\n\t\t'Quadratic.Out'\t\t: k=> Easing.Quadratic.Out(k),\n\t\t'Quartic.In'\t\t: k=> Easing.Quartic.In(k),\n\t\t'Quartic.InOut'\t\t: k=> Easing.Quartic.InOut(k),\n\t\t'Quartic.Out'\t\t: k=> Easing.Quartic.Out(k),\n\t\t'Quintic.In'\t\t: k=> Easing.Quintic.In(k),\n\t\t'Quintic.InOut'\t\t: k=> Easing.Quintic.InOut(k),\n\t\t'Quintic.Out'\t\t: k=> Easing.Quintic.Out(k),\n\t\t'Sinusoidal.In'\t\t: k=> Easing.Sinusoidal.In(k),\n\t\t'Sinusoidal.InOut'\t: k=> Easing.Sinusoidal.InOut(k),\n\t\t'Sinusoidal.Out'\t: k=> Easing.Sinusoidal.Out(k),\n\t};\n\tstatic\tease(nm: string | undefined): (k: number)=> number {\n\t\tif (! nm) return k=> Easing.Linear.None(k);\n\n\t\tconst es = this.#hEase[nm];\n\t\tif (! es) throw '異常なease指定です';\n\t\treturn es;\n\t}\n\n\tstatic readonly hMemberCnt\t= {\n\t\talpha\t\t: 0,\n\t\theight\t\t: 0,\n\t\trotation\t: 0,\t// rotationX〜Z、scaleZ、zは設定すると\n\t\tscale_x\t\t: 0,\t// 三次元方向の拡大縮小ルーチンが働き画像がぼやけるので\n\t\tscale_y\t\t: 0,\t// backlayで設定しない方針\n\t\tpivot_x\t\t: 0,\n\t\tpivot_y\t\t: 0,\n\t\twidth\t\t: 0,\n\t\tx\t\t\t: 0,\n\t\ty\t\t\t: 0,\n\t};\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tstatic cnvTweenArg(hArg: HArg, lay: any): HArg {\n\t\tconst hTo: {[val_name: string]: number} = {};\n\t\tfor (const nm of Object.keys(this.hMemberCnt)) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n\t\t\tconst arg = (<any>hArg)[nm];\n\t\t\tif (! arg) continue;\n\n\t\t\t// {x:500}\t\t\tX位置を500に\n\t\t\t// {x:'=500'}\t\t現在のX位置に+500加算した位置\n\t\t\t// {x:'=-500'}\t\t現在のX位置に-500加算した位置\n\t\t\t// {x:'250,500'}\t+250から+500までの間でランダムな値をX位置に\n\t\t\t// {x:'=250,500'}\t+250から+500までの間でランダムな値を現在のX位置に加算\n\t\t\tconst v = String(arg);\n\t\t\tconst hdeq = v.startsWith('=');\n\t\t\tconst vx = hdeq ?v.slice(1) :v;\n\t\t\tif (! vx) continue;\n\n\t\t\tconst [v0, v1] = vx.split(',');\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tconst a0 = hTo[nm] = parseFloat(v0!);\n\n\t\t\tif (v1) hTo[nm] += Math.round(\n\t\t\t\tMath.random() * (parseFloat(v1) -a0 +1)\n\t\t\t);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n\t\t\tif (hdeq) hTo[nm] += parseFloat(lay[nm]);\t// 相対に\n\t\t}\n\t\treturn hTo;\n\t}\n\n\n\t// トゥイーン全停止\n\tstatic\tstopAllTw() {this.#hTwInf = {}; removeAll()}\n\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tstatic\ttween(tw_nm: string, hArg: HArg, hNow: any, hTo: any, onUpdate: ()=> void, onComplete: ()=> void, onEnd: ()=> void, start = true): Tween<any> {\n\t\tconst time = this.#evtMng.isSkipping ?0 :argChk_Num(hArg, 'time', NaN);\n\t\tconst tw = new Tween(hNow)\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\t.to(hTo, time)\n\t\t.onUpdate(onUpdate);\n\t\tthis.setTwProp(tw, hArg);\n\t\tthis.#hTwInf[tw_nm] = {tw, onEnd};\n\n\t\tconst {path} = hArg;\n\t\tlet twLast = tw;\n\t\tif (path) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-member-access\n\t\t\tif (CmnLib.debugLog) console.group(`🍝 [${hArg[':タグ名']}] path=${path}= start(${hNow.x},${hNow.y},${hNow.alpha})`);\n\t\t\tfor (const {groups} of path.matchAll(this.#REG_TSY_PATH)) {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t\tconst {x, x2, y, y2, o, o2, json} = groups!;\n\t\t\t\tlet hArg2: HArg = {};\n\t\t\t\tif (json) try {hArg2 = <HArg>JSON.parse(json)} catch (e) {\n\t\t\t\t\tconsole.error(`🍝 json=${json} `+ String(e));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (x ?? x2) hArg2.x = x ?? x2;\n\t\t\t\t\tif (y ?? y2) hArg2.y = y ?? y2;\n\t\t\t\t\tif (o ?? o2) hArg2.alpha = Number(o ?? o2);\n\t\t\t\t}\n\n\t\t\t\tconst hTo2 = this.cnvTweenArg(hArg2, hNow);\n\t\t\t\tif (CmnLib.debugLog) console.info(`🍝 ${\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t\tjson ?? `{x:${x} y:${y} o:${o}}`\n\t\t\t\t} => hTo:${JSON.stringify(hTo2)}`);\n\n\t\t\t\tconst twNew = new Tween(hNow)\n\t\t\t\t.to(hTo2, time);\n\t\t\t\tthis.setTwProp(twNew, hArg);\n\t\t\t\ttwLast.chain(twNew);\n\n\t\t\t\ttwLast = twNew;\n\t\t\t}\n\t\t\tif (CmnLib.debugLog) console.groupEnd();\n\t\t}\n\t\ttwLast.onComplete(()=> {\n\t\t\tconst ti = this.#hTwInf[tw_nm];\n\t\t\tif (! ti?.tw) return;\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\t\tdelete this.#hTwInf[tw_nm];\n\n\t\t\tti.tw = undefined;\n\t\t\ttw.stop();\n\t\t\tti.onEnd?.();\n\n\t\t\tonComplete();\n\t\t\tReading.notifyEndProc(TMP_TSY_NM + tw_nm);\t// ラストに\n\t\t});\n\n\t\tconst {chain} = hArg;\n\t\tif (chain) {\t// 指定レイヤのアニメ終了に、このトゥイーンを続ける\n\t\t\tconst twFrom = this.#hTwInf[chain];\n\t\t\tif (! twFrom?.tw) throw `${chain}は存在しない・または終了したトゥイーンです`;\n\t\t\tdelete twFrom.onEnd;\n\t\t\ttwFrom.tw.chain(tw);\n\t\t}\n\t\telse if (start) tw.start();\n\n\t\treturn tw;\n\t}\n\t// 11 match 301 step (0.1ms) PCRE2 https://regex101.com/r/reinpq/1\n\t\t// List ${x}${x2}/${y}${y2}/${o}${o2}=${json}\\n\n/*\n\\(\\s*\n(?:\t(?<x>[-=\\d\\.]+)\t|\t(['\"])\t(?<x2>.*?)\t\\2\t)?\n(?:\n\t\\s*,\\s*\n\t(?:\t(?<y>[-=\\d\\.]+)\t|\t(['\"])\t(?<y2>.*?)\t\\5\t)?\n\t(?:\n\t\t\\s*,\\s*\n\t\t(?:\t(?<o>[-=\\d\\.]+)\t|\t(['\"])\t(?<o2>.*?)\t\\8\t)\n\n\t)?\n)?\n|\n(?<json>\\{[^{}]*})\n*/\n\tstatic\treadonly\t#REG_TSY_PATH\t= /\\(\\s*(?:(?<x>[-=\\d.]+)|(['\"])(?<x2>.*?)\\2)?(?:\\s*,\\s*(?:(?<y>[-=\\d.]+)|(['\"])(?<y2>.*?)\\5)?(?:\\s*,\\s*(?:(?<o>[-=\\d.]+)|(['\"])(?<o2>.*?)\\8))?)?|(?<json>\\{[^{}]*})/g;\n\n\t// トランス終了待ち\n\tstatic\twt(_hArg: HArg) {\n\t\tconst ti = this.#hTwInf[TW_INT_TRANS];\n\t\tif (! ti?.tw) return false;\n\n\t\tconst fnc = ()=> this.#stopEndTrans();\n\t\tReading.beginProc(TMP_TSY_NM + TW_INT_TRANS, fnc, true, fnc);\n\t\treturn true;\n\t}\n\n\t// レイヤのトランジションの停止\n\tstatic\t#stopEndTrans() {this.#hTwInf[TW_INT_TRANS]?.tw?.stop().end()}\n\t\t// stop()とend()は別\n\tstatic\tasync\tcloseTrans() {\n\t\tconst ti = this.#hTwInf[TW_INT_TRANS];\n\t\tif (! ti?.tw) return;\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-invalid-void-type\n\t\tconst {promise, resolve} = Promise.withResolvers<void>();\n\t\tReading.beginProc(TMP_TSY_NM + TW_INT_TRANS, resolve, false, resolve);\n\t\tthis.#stopEndTrans();\t// beginProc後に\n\t\tawait promise;\n\t}\n\n\n\t// トゥイーン終了待ち\n\tstatic\twait_tsy(hArg: HArg) {\n\t\tconst tw_nm = this.#tw_nm(hArg);\n\t\tconst ti = this.#hTwInf[tw_nm];\n\t\tif (! ti?.tw) return false;\n\n\t\tconst fnc = ()=> ti.tw?.end();\t// stop()とend()は別\n\t\tReading.beginProc(TMP_TSY_NM + tw_nm, fnc, true, fnc);\n\t\treturn true;\n\t}\n\t\tstatic\t#tw_nm(hArg: HArg) {\n\t\t\tconst {layer='', id, name} = hArg;\n\t\t\tconst tw_nm = id ?`frm\\n${id}` :name ?? layer;\n\t\t\tif (! tw_nm) throw 'トゥイーンが指定されていません';\n\n\t\t\treturn tw_nm;\n\t\t}\n\n\t// トゥイーン中断\n\tstatic\tstop_tsy(hArg: HArg) {\n\t\tconst tw_nm = this.#tw_nm(hArg);\n\t\tthis.#hTwInf[tw_nm]?.tw?.stop().end();\t// stop()とend()は別\n\t\treturn false;\n\t}\n\n\t// 一時停止\n\tstatic\tpause_tsy(hArg: HArg) {\n\t\tconst tw_nm = this.#tw_nm(hArg);\n\t\tthis.#hTwInf[tw_nm]?.tw?.pause();\n\t\treturn false;\n\t}\n\n\t// 一時停止再開\n\tstatic\tresume_tsy(hArg: HArg) {\n\t\tconst tw_nm = this.#tw_nm(hArg);\n\t\tthis.#hTwInf[tw_nm]?.tw?.resume();\n\t\treturn false;\n\t}\n\n}\n","/*!\n * @pixi/sound - v4.4.1\n * https://github.com/pixijs/pixi-sound\n * Compiled Tue, 15 Aug 2023 19:22:13 UTC\n *\n * @pixi/sound is licensed under the MIT license.\n * http://www.opensource.org/licenses/mit-license\n */\nimport{LoaderResource as t,Loader as e}from\"@pixi/loaders\";import*as n from\"@pixi/core\";import{BaseTexture as o}from\"@pixi/core\";import{EventEmitter as i}from\"@pixi/utils\";import{Ticker as r}from\"@pixi/ticker\";var s;function u(){return s}var a=function(t,e){return(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])})(t,e)};function c(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function n(){this.constructor=t}a(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var l=function(){return(l=Object.assign||function(t){for(var e,n=1,o=arguments.length;n<o;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t}).apply(this,arguments)},p=[\"mp3\",\"ogg\",\"oga\",\"opus\",\"mpeg\",\"wav\",\"m4a\",\"aiff\",\"wma\",\"mid\",\"caf\"],h={};function f(t){var e=l({m4a:\"audio/mp4\",oga:\"audio/ogg\",opus:'audio/ogg; codecs=\"opus\"',caf:'audio/x-caf; codecs=\"opus\"'},t||{}),n=document.createElement(\"audio\"),o={},i=/^no$/;p.forEach((function(t){var r=n.canPlayType(\"audio/\".concat(t)).replace(i,\"\"),s=e[t]?n.canPlayType(e[t]).replace(i,\"\"):\"\";o[t]=!!r||!!s})),Object.assign(h,o)}f();var d=/\\.(\\{([^\\}]+)\\})(\\?.*)?$/;function _(t){var e=d,n=\"string\"==typeof t?t:t.url;if(!e.test(n))return n;for(var o=e.exec(n),i=o[2].split(\",\"),r=i[i.length-1],s=0,u=i.length;s<u;s++){var a=i[s];if(h[a]){r=a;break}}var c=n.replace(o[1],r);if(\"string\"!=typeof t){var l=t;l.extension=r,l.url=c}return c}var y=p.filter((function(t){return h[t]})),m=function(){function e(){}return e.add=function(){e.setLegacy(u().useLegacy)},e.setLegacy=function(e){e?y.forEach((function(e){t.setExtensionXhrType(e,t.XHR_RESPONSE_TYPE.DEFAULT),t.setExtensionLoadType(e,t.LOAD_TYPE.AUDIO)})):y.forEach((function(e){t.setExtensionXhrType(e,t.XHR_RESPONSE_TYPE.BUFFER),t.setExtensionLoadType(e,t.LOAD_TYPE.XHR)}))},e.pre=function(t,e){_(t),e()},e.use=function(t,e){t.data&&y.indexOf(t.extension)>-1?t.sound=u().add(t.name,{loaded:e,preload:!0,url:t.url,source:t.data}):e()},e.extension=\"loader\",e}(),b=0,g=function(t){function e(e){var n=t.call(this)||this;return n.id=b++,n.init(e),n}return c(e,t),e.prototype.set=function(t,e){if(void 0===this[t])throw new Error(\"Property with name \".concat(t,\" does not exist.\"));switch(t){case\"speed\":this.speed=e;break;case\"volume\":this.volume=e;break;case\"paused\":this.paused=e;break;case\"loop\":this.loop=e;break;case\"muted\":this.muted=e}return this},Object.defineProperty(e.prototype,\"progress\",{get:function(){return this._source.currentTime/this._duration},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"paused\",{get:function(){return this._paused},set:function(t){this._paused=t,this.refreshPaused()},enumerable:!1,configurable:!0}),e.prototype._onPlay=function(){this._playing=!0},e.prototype._onPause=function(){this._playing=!1},e.prototype.init=function(t){this._playing=!1,this._duration=t.source.duration;var e=this._source=t.source.cloneNode(!1);e.src=t.parent.url,e.onplay=this._onPlay.bind(this),e.onpause=this._onPause.bind(this),t.context.on(\"refresh\",this.refresh,this),t.context.on(\"refreshPaused\",this.refreshPaused,this),this._media=t},e.prototype._internalStop=function(){this._source&&this._playing&&(this._source.onended=null,this._source.pause())},e.prototype.stop=function(){this._internalStop(),this._source&&this.emit(\"stop\")},Object.defineProperty(e.prototype,\"speed\",{get:function(){return this._speed},set:function(t){this._speed=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"volume\",{get:function(){return this._volume},set:function(t){this._volume=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"loop\",{get:function(){return this._loop},set:function(t){this._loop=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"muted\",{get:function(){return this._muted},set:function(t){this._muted=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"filters\",{get:function(){return null},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.refresh=function(){var t=this._media.context,e=this._media.parent;this._source.loop=this._loop||e.loop;var n=t.volume*(t.muted?0:1),o=e.volume*(e.muted?0:1),i=this._volume*(this._muted?0:1);this._source.volume=i*n*o,this._source.playbackRate=this._speed*t.speed*e.speed},e.prototype.refreshPaused=function(){var t=this._media.context,e=this._media.parent,n=this._paused||e.paused||t.paused;n!==this._pausedReal&&(this._pausedReal=n,n?(this._internalStop(),this.emit(\"paused\")):(this.emit(\"resumed\"),this.play({start:this._source.currentTime,end:this._end,volume:this._volume,speed:this._speed,loop:this._loop})),this.emit(\"pause\",n))},e.prototype.play=function(t){var n=this,o=t.start,i=t.end,s=t.speed,u=t.loop,a=t.volume,c=t.muted;this._speed=s,this._volume=a,this._loop=!!u,this._muted=c,this.refresh(),this.loop&&null!==i&&(this.loop=!1),this._start=o,this._end=i||this._duration,this._start=Math.max(0,this._start-e.PADDING),this._end=Math.min(this._end+e.PADDING,this._duration),this._source.onloadedmetadata=function(){n._source&&(n._source.currentTime=o,n._source.onloadedmetadata=null,n.emit(\"progress\",o,n._duration),r.shared.add(n._onUpdate,n))},this._source.onended=this._onComplete.bind(this),this._source.play(),this.emit(\"start\")},e.prototype._onUpdate=function(){this.emit(\"progress\",this.progress,this._duration),this._source.currentTime>=this._end&&!this._source.loop&&this._onComplete()},e.prototype._onComplete=function(){r.shared.remove(this._onUpdate,this),this._internalStop(),this.emit(\"progress\",1,this._duration),this.emit(\"end\",this)},e.prototype.destroy=function(){r.shared.remove(this._onUpdate,this),this.removeAllListeners();var t=this._source;t&&(t.onended=null,t.onplay=null,t.onpause=null,this._internalStop()),this._source=null,this._speed=1,this._volume=1,this._loop=!1,this._end=null,this._start=0,this._duration=0,this._playing=!1,this._pausedReal=!1,this._paused=!1,this._muted=!1,this._media&&(this._media.context.off(\"refresh\",this.refresh,this),this._media.context.off(\"refreshPaused\",this.refreshPaused,this),this._media=null)},e.prototype.toString=function(){return\"[HTMLAudioInstance id=\".concat(this.id,\"]\")},e.PADDING=.1,e}(i),v=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return c(e,t),e.prototype.init=function(t){this.parent=t,this._source=t.options.source||new Audio,t.url&&(this._source.src=t.url)},e.prototype.create=function(){return new g(this)},Object.defineProperty(e.prototype,\"isPlayable\",{get:function(){return!!this._source&&4===this._source.readyState},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"duration\",{get:function(){return this._source.duration},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"context\",{get:function(){return this.parent.context},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"filters\",{get:function(){return null},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){this.removeAllListeners(),this.parent=null,this._source&&(this._source.src=\"\",this._source.load(),this._source=null)},Object.defineProperty(e.prototype,\"source\",{get:function(){return this._source},enumerable:!1,configurable:!0}),e.prototype.load=function(t){var e=this._source,n=this.parent;if(4!==e.readyState)if(n.url){e.src=n.url;var o=function(){s(),n.isLoaded=!0;var e=n.autoPlayStart();t&&t(null,n,e)},i=function(){s(),t&&t(new Error(\"Sound loading has been aborted\"))},r=function(){s();var n=\"Failed to load audio element (code: \".concat(e.error.code,\")\");t&&t(new Error(n))},s=function(){e.removeEventListener(\"canplaythrough\",o),e.removeEventListener(\"load\",o),e.removeEventListener(\"abort\",i),e.removeEventListener(\"error\",r)};e.addEventListener(\"canplaythrough\",o,!1),e.addEventListener(\"load\",o,!1),e.addEventListener(\"abort\",i,!1),e.addEventListener(\"error\",r,!1),e.load()}else t(new Error(\"sound.url or sound.source must be set\"));else{n.isLoaded=!0;var u=n.autoPlayStart();t&&setTimeout((function(){t(null,n,u)}),0)}},e}(i),P=function(){function t(t,e){this.parent=t,Object.assign(this,e),this.duration=this.end-this.start}return t.prototype.play=function(t){return this.parent.play({complete:t,speed:this.speed||this.parent.speed,end:this.end,start:this.start,loop:this.loop})},t.prototype.destroy=function(){this.parent=null},t}(),x=function(){function t(){}return t.setParamValue=function(t,e){if(t.setValueAtTime){var n=u().context;t.setValueAtTime(e,n.audioContext.currentTime)}else t.value=e;return e},t}(),O=0,j=function(t){function e(e){var n=t.call(this)||this;return n.id=O++,n._media=null,n._paused=!1,n._muted=!1,n._elapsed=0,n.init(e),n}return c(e,t),e.prototype.set=function(t,e){if(void 0===this[t])throw new Error(\"Property with name \".concat(t,\" does not exist.\"));switch(t){case\"speed\":this.speed=e;break;case\"volume\":this.volume=e;break;case\"muted\":this.muted=e;break;case\"loop\":this.loop=e;break;case\"paused\":this.paused=e}return this},e.prototype.stop=function(){this._source&&(this._internalStop(),this.emit(\"stop\"))},Object.defineProperty(e.prototype,\"speed\",{get:function(){return this._speed},set:function(t){this._speed=t,this.refresh(),this._update(!0)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"volume\",{get:function(){return this._volume},set:function(t){this._volume=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"muted\",{get:function(){return this._muted},set:function(t){this._muted=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"loop\",{get:function(){return this._loop},set:function(t){this._loop=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"filters\",{get:function(){return this._filters},set:function(t){var e;this._filters&&(null===(e=this._filters)||void 0===e||e.filter((function(t){return t})).forEach((function(t){return t.disconnect()})),this._filters=null,this._source.connect(this._gain)),this._filters=(null==t?void 0:t.length)?t.slice(0):null,this.refresh()},enumerable:!1,configurable:!0}),e.prototype.refresh=function(){if(this._source){var t=this._media.context,e=this._media.parent;this._source.loop=this._loop||e.loop;var n=t.volume*(t.muted?0:1),o=e.volume*(e.muted?0:1),i=this._volume*(this._muted?0:1);x.setParamValue(this._gain.gain,i*o*n),x.setParamValue(this._source.playbackRate,this._speed*e.speed*t.speed),this.applyFilters()}},e.prototype.applyFilters=function(){var t;if(null===(t=this._filters)||void 0===t?void 0:t.length){this._source.disconnect();var e=this._source;this._filters.forEach((function(t){e.connect(t.destination),e=t})),e.connect(this._gain)}},e.prototype.refreshPaused=function(){var t=this._media.context,e=this._media.parent,n=this._paused||e.paused||t.paused;n!==this._pausedReal&&(this._pausedReal=n,n?(this._internalStop(),this.emit(\"paused\")):(this.emit(\"resumed\"),this.play({start:this._elapsed%this._duration,end:this._end,speed:this._speed,loop:this._loop,volume:this._volume})),this.emit(\"pause\",n))},e.prototype.play=function(t){var e=t.start,n=t.end,o=t.speed,i=t.loop,r=t.volume,s=t.muted,u=t.filters;this._paused=!1;var a=this._media.nodes.cloneBufferSource(),c=a.source,l=a.gain;this._source=c,this._gain=l,this._speed=o,this._volume=r,this._loop=!!i,this._muted=s,this._filters=u,this.refresh();var p=this._source.buffer.duration;this._duration=p,this._end=n,this._lastUpdate=this._now(),this._elapsed=e,this._source.onended=this._onComplete.bind(this),this._loop?(this._source.loopEnd=n,this._source.loopStart=e,this._source.start(0,e)):n?this._source.start(0,e,n-e):this._source.start(0,e),this.emit(\"start\"),this._update(!0),this.enableTicker(!0)},e.prototype.enableTicker=function(t){r.shared.remove(this._updateListener,this),t&&r.shared.add(this._updateListener,this)},Object.defineProperty(e.prototype,\"progress\",{get:function(){return this._progress},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"paused\",{get:function(){return this._paused},set:function(t){this._paused=t,this.refreshPaused()},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){var t;this.removeAllListeners(),this._internalStop(),this._gain&&(this._gain.disconnect(),this._gain=null),this._media&&(this._media.context.events.off(\"refresh\",this.refresh,this),this._media.context.events.off(\"refreshPaused\",this.refreshPaused,this),this._media=null),null===(t=this._filters)||void 0===t||t.forEach((function(t){return t.disconnect()})),this._filters=null,this._end=null,this._speed=1,this._volume=1,this._loop=!1,this._elapsed=0,this._duration=0,this._paused=!1,this._muted=!1,this._pausedReal=!1},e.prototype.toString=function(){return\"[WebAudioInstance id=\".concat(this.id,\"]\")},e.prototype._now=function(){return this._media.context.audioContext.currentTime},e.prototype._updateListener=function(){this._update()},e.prototype._update=function(t){if(void 0===t&&(t=!1),this._source){var e=this._now(),n=e-this._lastUpdate;if(n>0||t){var o=this._source.playbackRate.value;this._elapsed+=n*o,this._lastUpdate=e;var i=this._duration,r=void 0;if(this._source.loopStart){var s=this._source.loopEnd-this._source.loopStart;r=(this._source.loopStart+this._elapsed%s)/i}else r=this._elapsed%i/i;this._progress=r,this.emit(\"progress\",this._progress,i)}}},e.prototype.init=function(t){this._media=t,t.context.events.on(\"refresh\",this.refresh,this),t.context.events.on(\"refreshPaused\",this.refreshPaused,this)},e.prototype._internalStop=function(){if(this._source){this.enableTicker(!1),this._source.onended=null,this._source.stop(0),this._source.disconnect();try{this._source.buffer=null}catch(t){}this._source=null}},e.prototype._onComplete=function(){if(this._source){this.enableTicker(!1),this._source.onended=null,this._source.disconnect();try{this._source.buffer=null}catch(t){}}this._source=null,this._progress=1,this.emit(\"progress\",1,this._duration),this.emit(\"end\",this)},e}(i),w=function(){function t(t,e){this._output=e,this._input=t}return Object.defineProperty(t.prototype,\"destination\",{get:function(){return this._input},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"filters\",{get:function(){return this._filters},set:function(t){var e=this;if(this._filters&&(this._filters.forEach((function(t){t&&t.disconnect()})),this._filters=null,this._input.connect(this._output)),t&&t.length){this._filters=t.slice(0),this._input.disconnect();var n=null;t.forEach((function(t){null===n?e._input.connect(t.destination):n.connect(t.destination),n=t})),n.connect(this._output)}},enumerable:!1,configurable:!0}),t.prototype.destroy=function(){this.filters=null,this._input=null,this._output=null},t}(),A=function(t){function e(e){var n=this,o=e.audioContext,i=o.createBufferSource(),r=o.createGain(),s=o.createAnalyser();return i.connect(s),s.connect(r),r.connect(e.destination),(n=t.call(this,s,r)||this).context=e,n.bufferSource=i,n.gain=r,n.analyser=s,n}return c(e,t),Object.defineProperty(e.prototype,\"script\",{get:function(){return this._script||(this._script=this.context.audioContext.createScriptProcessor(e.BUFFER_SIZE),this._script.connect(this.context.destination)),this._script},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){t.prototype.destroy.call(this),this.bufferSource.disconnect(),this._script&&this._script.disconnect(),this.gain.disconnect(),this.analyser.disconnect(),this.bufferSource=null,this._script=null,this.gain=null,this.analyser=null,this.context=null},e.prototype.cloneBufferSource=function(){var t=this.bufferSource,e=this.context.audioContext.createBufferSource();e.buffer=t.buffer,x.setParamValue(e.playbackRate,t.playbackRate.value),e.loop=t.loop;var n=this.context.audioContext.createGain();return e.connect(n),n.connect(this.destination),{source:e,gain:n}},Object.defineProperty(e.prototype,\"bufferSize\",{get:function(){return this.script.bufferSize},enumerable:!1,configurable:!0}),e.BUFFER_SIZE=0,e}(w),F=function(){function t(){}return t.prototype.init=function(t){this.parent=t,this._nodes=new A(this.context),this._source=this._nodes.bufferSource,this.source=t.options.source},t.prototype.destroy=function(){this.parent=null,this._nodes.destroy(),this._nodes=null;try{this._source.buffer=null}catch(t){}this._source=null,this.source=null},t.prototype.create=function(){return new j(this)},Object.defineProperty(t.prototype,\"context\",{get:function(){return this.parent.context},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"isPlayable\",{get:function(){return!!this._source&&!!this._source.buffer},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"filters\",{get:function(){return this._nodes.filters},set:function(t){this._nodes.filters=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"duration\",{get:function(){return this._source.buffer.duration},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"buffer\",{get:function(){return this._source.buffer},set:function(t){this._source.buffer=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"nodes\",{get:function(){return this._nodes},enumerable:!1,configurable:!0}),t.prototype.load=function(t){this.source?this._decode(this.source,t):this.parent.url?this._loadUrl(t):t&&t(new Error(\"sound.url or sound.source must be set\"))},t.prototype._loadUrl=function(t){var e=this,n=new XMLHttpRequest,o=this.parent.url;n.open(\"GET\",o,!0),n.responseType=\"arraybuffer\",n.onload=function(){e.source=n.response,e._decode(n.response,t)},n.send()},t.prototype._decode=function(t,e){var n=this,o=function(t,o){if(t)e&&e(t);else{n.parent.isLoaded=!0,n.buffer=o;var i=n.parent.autoPlayStart();e&&e(null,n.parent,i)}};t instanceof AudioBuffer?o(null,t):this.parent.context.decode(t,o)},t}(),E=function(){function t(t,e){this.media=t,this.options=e,this._instances=[],this._sprites={},this.media.init(this);var n=e.complete;this._autoPlayOptions=n?{complete:n}:null,this.isLoaded=!1,this.isPlaying=!1,this.autoPlay=e.autoPlay,this.singleInstance=e.singleInstance,this.preload=e.preload||this.autoPlay,this.url=e.url,this.speed=e.speed,this.volume=e.volume,this.loop=e.loop,e.sprites&&this.addSprites(e.sprites),this.preload&&this._preload(e.loaded)}return t.from=function(e){var n={};return\"string\"==typeof e?n.url=e:e instanceof ArrayBuffer||e instanceof AudioBuffer||e instanceof HTMLAudioElement?n.source=e:n=e,(n=l({autoPlay:!1,singleInstance:!1,url:null,source:null,preload:!1,volume:1,speed:1,complete:null,loaded:null,loop:!1},n)).url&&(n.url=_(n.url)),Object.freeze(n),new t(u().useLegacy?new v:new F,n)},Object.defineProperty(t.prototype,\"context\",{get:function(){return u().context},enumerable:!1,configurable:!0}),t.prototype.pause=function(){return this.isPlaying=!1,this.paused=!0,this},t.prototype.resume=function(){return this.isPlaying=this._instances.length>0,this.paused=!1,this},Object.defineProperty(t.prototype,\"paused\",{get:function(){return this._paused},set:function(t){this._paused=t,this.refreshPaused()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"speed\",{get:function(){return this._speed},set:function(t){this._speed=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"filters\",{get:function(){return this.media.filters},set:function(t){this.media.filters=t},enumerable:!1,configurable:!0}),t.prototype.addSprites=function(t,e){if(\"object\"==typeof t){var n={};for(var o in t)n[o]=this.addSprites(o,t[o]);return n}var i=new P(this,e);return this._sprites[t]=i,i},t.prototype.destroy=function(){this._removeInstances(),this.removeSprites(),this.media.destroy(),this.media=null,this._sprites=null,this._instances=null},t.prototype.removeSprites=function(t){if(t){var e=this._sprites[t];void 0!==e&&(e.destroy(),delete this._sprites[t])}else for(var n in this._sprites)this.removeSprites(n);return this},Object.defineProperty(t.prototype,\"isPlayable\",{get:function(){return this.isLoaded&&this.media&&this.media.isPlayable},enumerable:!1,configurable:!0}),t.prototype.stop=function(){if(!this.isPlayable)return this.autoPlay=!1,this._autoPlayOptions=null,this;this.isPlaying=!1;for(var t=this._instances.length-1;t>=0;t--)this._instances[t].stop();return this},t.prototype.play=function(t,e){var n,o=this;\"string\"==typeof t?n={sprite:r=t,loop:this.loop,complete:e}:\"function\"==typeof t?(n={}).complete=t:n=t;if((n=l({complete:null,loaded:null,sprite:null,end:null,start:0,volume:1,speed:1,muted:!1,loop:!1},n||{})).sprite){var i=n.sprite,r=this._sprites[i];n.start=r.start+(n.start||0),n.end=r.end,n.speed=r.speed||1,n.loop=r.loop||n.loop,delete n.sprite}if(n.offset&&(n.start=n.offset),!this.isLoaded)return new Promise((function(t,e){o.autoPlay=!0,o._autoPlayOptions=n,o._preload((function(o,i,r){o?e(o):(n.loaded&&n.loaded(o,i,r),t(r))}))}));(this.singleInstance||n.singleInstance)&&this._removeInstances();var s=this._createInstance();return this._instances.push(s),this.isPlaying=!0,s.once(\"end\",(function(){n.complete&&n.complete(o),o._onComplete(s)})),s.once(\"stop\",(function(){o._onComplete(s)})),s.play(n),s},t.prototype.refresh=function(){for(var t=this._instances.length,e=0;e<t;e++)this._instances[e].refresh()},t.prototype.refreshPaused=function(){for(var t=this._instances.length,e=0;e<t;e++)this._instances[e].refreshPaused()},Object.defineProperty(t.prototype,\"volume\",{get:function(){return this._volume},set:function(t){this._volume=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"muted\",{get:function(){return this._muted},set:function(t){this._muted=t,this.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"loop\",{get:function(){return this._loop},set:function(t){this._loop=t,this.refresh()},enumerable:!1,configurable:!0}),t.prototype._preload=function(t){this.media.load(t)},Object.defineProperty(t.prototype,\"instances\",{get:function(){return this._instances},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"sprites\",{get:function(){return this._sprites},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"duration\",{get:function(){return this.media.duration},enumerable:!1,configurable:!0}),t.prototype.autoPlayStart=function(){var t;return this.autoPlay&&(t=this.play(this._autoPlayOptions)),t},t.prototype._removeInstances=function(){for(var t=this._instances.length-1;t>=0;t--)this._poolInstance(this._instances[t]);this._instances.length=0},t.prototype._onComplete=function(t){if(this._instances){var e=this._instances.indexOf(t);e>-1&&this._instances.splice(e,1),this.isPlaying=this._instances.length>0}this._poolInstance(t)},t.prototype._createInstance=function(){if(t._pool.length>0){var e=t._pool.pop();return e.init(this.media),e}return this.media.create()},t.prototype._poolInstance=function(e){e.destroy(),t._pool.indexOf(e)<0&&t._pool.push(e)},t._pool=[],t}(),C=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.speed=1,e.muted=!1,e.volume=1,e.paused=!1,e}return c(e,t),e.prototype.refresh=function(){this.emit(\"refresh\")},e.prototype.refreshPaused=function(){this.emit(\"refreshPaused\")},Object.defineProperty(e.prototype,\"filters\",{get:function(){return null},set:function(t){},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"audioContext\",{get:function(){return null},enumerable:!1,configurable:!0}),e.prototype.toggleMute=function(){return this.muted=!this.muted,this.refresh(),this.muted},e.prototype.togglePause=function(){return this.paused=!this.paused,this.refreshPaused(),this.paused},e.prototype.destroy=function(){this.removeAllListeners()},e}(i),L=function(t){function e(){var n=t.call(this,null,null)||this;n.autoPause=!0;var o=window,r=new e.AudioContext,s=r.createDynamicsCompressor(),u=r.createAnalyser();return u.connect(s),s.connect(r.destination),n._input=u,n._output=r.destination,n._ctx=r,n._offlineCtx=new e.OfflineAudioContext(1,2,o.OfflineAudioContext?Math.max(8e3,Math.min(96e3,r.sampleRate)):44100),n.compressor=s,n.analyser=u,n.events=new i,n.volume=1,n.speed=1,n.muted=!1,n.paused=!1,n._locked=\"suspended\"===r.state&&(\"ontouchstart\"in globalThis||\"onclick\"in globalThis),n._locked&&(n._unlock(),n._unlock=n._unlock.bind(n),document.addEventListener(\"mousedown\",n._unlock,!0),document.addEventListener(\"touchstart\",n._unlock,!0),document.addEventListener(\"touchend\",n._unlock,!0)),n.onFocus=n.onFocus.bind(n),n.onBlur=n.onBlur.bind(n),globalThis.addEventListener(\"focus\",n.onFocus),globalThis.addEventListener(\"blur\",n.onBlur),n}return c(e,t),e.prototype.onFocus=function(){if(this.autoPause){var t=this._ctx.state;\"suspended\"!==t&&\"interrupted\"!==t&&this._locked||(this.paused=this._pausedOnBlur,this.refreshPaused())}},e.prototype.onBlur=function(){this.autoPause&&(this._locked||(this._pausedOnBlur=this._paused,this.paused=!0,this.refreshPaused()))},e.prototype._unlock=function(){this._locked&&(this.playEmptySound(),\"running\"===this._ctx.state&&(document.removeEventListener(\"mousedown\",this._unlock,!0),document.removeEventListener(\"touchend\",this._unlock,!0),document.removeEventListener(\"touchstart\",this._unlock,!0),this._locked=!1))},e.prototype.playEmptySound=function(){var t=this._ctx.createBufferSource();t.buffer=this._ctx.createBuffer(1,1,22050),t.connect(this._ctx.destination),t.start(0,0,0),\"suspended\"===t.context.state&&t.context.resume()},Object.defineProperty(e,\"AudioContext\",{get:function(){var t=window;return t.AudioContext||t.webkitAudioContext||null},enumerable:!1,configurable:!0}),Object.defineProperty(e,\"OfflineAudioContext\",{get:function(){var t=window;return t.OfflineAudioContext||t.webkitOfflineAudioContext||null},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){t.prototype.destroy.call(this);var e=this._ctx;void 0!==e.close&&e.close(),globalThis.removeEventListener(\"focus\",this.onFocus),globalThis.removeEventListener(\"blur\",this.onBlur),this.events.removeAllListeners(),this.analyser.disconnect(),this.compressor.disconnect(),this.analyser=null,this.compressor=null,this.events=null,this._offlineCtx=null,this._ctx=null},Object.defineProperty(e.prototype,\"audioContext\",{get:function(){return this._ctx},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"offlineContext\",{get:function(){return this._offlineCtx},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"paused\",{get:function(){return this._paused},set:function(t){t&&\"running\"===this._ctx.state?this._ctx.suspend():t||\"suspended\"!==this._ctx.state||this._ctx.resume(),this._paused=t},enumerable:!1,configurable:!0}),e.prototype.refresh=function(){this.events.emit(\"refresh\")},e.prototype.refreshPaused=function(){this.events.emit(\"refreshPaused\")},e.prototype.toggleMute=function(){return this.muted=!this.muted,this.refresh(),this.muted},e.prototype.togglePause=function(){return this.paused=!this.paused,this.refreshPaused(),this._paused},e.prototype.decode=function(t,e){var n=function(t){e(new Error((null==t?void 0:t.message)||\"Unable to decode file\"))},o=this._offlineCtx.decodeAudioData(t,(function(t){e(null,t)}),n);o&&o.catch(n)},e}(w),S=function(){function t(){this.init()}return t.prototype.init=function(){return this.supported&&(this._webAudioContext=new L),this._htmlAudioContext=new C,this._sounds={},this.useLegacy=!this.supported,this},Object.defineProperty(t.prototype,\"context\",{get:function(){return this._context},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"filtersAll\",{get:function(){return this.useLegacy?[]:this._context.filters},set:function(t){this.useLegacy||(this._context.filters=t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"supported\",{get:function(){return null!==L.AudioContext},enumerable:!1,configurable:!0}),t.prototype.add=function(t,e){if(\"object\"==typeof t){var n={};for(var o in t){var i=this._getOptions(t[o],e);n[o]=this.add(o,i)}return n}if(e instanceof E)return this._sounds[t]=e,e;var r=this._getOptions(e),s=E.from(r);return this._sounds[t]=s,s},t.prototype._getOptions=function(t,e){var n;return n=\"string\"==typeof t?{url:t}:t instanceof ArrayBuffer||t instanceof AudioBuffer||t instanceof HTMLAudioElement?{source:t}:t,n=l(l({},n),e||{})},Object.defineProperty(t.prototype,\"useLegacy\",{get:function(){return this._useLegacy},set:function(t){m.setLegacy(t),this._useLegacy=t,this._context=!t&&this.supported?this._webAudioContext:this._htmlAudioContext},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"disableAutoPause\",{get:function(){return!this._webAudioContext.autoPause},set:function(t){this._webAudioContext.autoPause=!t},enumerable:!1,configurable:!0}),t.prototype.remove=function(t){return this.exists(t,!0),this._sounds[t].destroy(),delete this._sounds[t],this},Object.defineProperty(t.prototype,\"volumeAll\",{get:function(){return this._context.volume},set:function(t){this._context.volume=t,this._context.refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"speedAll\",{get:function(){return this._context.speed},set:function(t){this._context.speed=t,this._context.refresh()},enumerable:!1,configurable:!0}),t.prototype.togglePauseAll=function(){return this._context.togglePause()},t.prototype.pauseAll=function(){return this._context.paused=!0,this._context.refreshPaused(),this},t.prototype.resumeAll=function(){return this._context.paused=!1,this._context.refreshPaused(),this},t.prototype.toggleMuteAll=function(){return this._context.toggleMute()},t.prototype.muteAll=function(){return this._context.muted=!0,this._context.refresh(),this},t.prototype.unmuteAll=function(){return this._context.muted=!1,this._context.refresh(),this},t.prototype.removeAll=function(){for(var t in this._sounds)this._sounds[t].destroy(),delete this._sounds[t];return this},t.prototype.stopAll=function(){for(var t in this._sounds)this._sounds[t].stop();return this},t.prototype.exists=function(t,e){return void 0===e&&(e=!1),!!this._sounds[t]},t.prototype.find=function(t){return this.exists(t,!0),this._sounds[t]},t.prototype.play=function(t,e){return this.find(t).play(e)},t.prototype.stop=function(t){return this.find(t).stop()},t.prototype.pause=function(t){return this.find(t).pause()},t.prototype.resume=function(t){return this.find(t).resume()},t.prototype.volume=function(t,e){var n=this.find(t);return void 0!==e&&(n.volume=e),n.volume},t.prototype.speed=function(t,e){var n=this.find(t);return void 0!==e&&(n.speed=e),n.speed},t.prototype.duration=function(t){return this.find(t).duration},t.prototype.close=function(){return this.removeAll(),this._sounds=null,this._webAudioContext&&(this._webAudioContext.destroy(),this._webAudioContext=null),this._htmlAudioContext&&(this._htmlAudioContext.destroy(),this._htmlAudioContext=null),this._context=null,this},t}(),k={__proto__:null,HTMLAudioMedia:v,HTMLAudioInstance:g,HTMLAudioContext:C},M=function(){function t(t,e){this.init(t,e)}return t.prototype.init=function(t,e){this.destination=t,this.source=e||t},t.prototype.connect=function(t){this.source.connect(t)},t.prototype.disconnect=function(){this.source.disconnect()},t.prototype.destroy=function(){this.disconnect(),this.destination=null,this.source=null},t}(),T={__proto__:null,Filter:M,EqualizerFilter:function(t){function e(n,o,i,r,s,a,c,l,p,h){void 0===n&&(n=0),void 0===o&&(o=0),void 0===i&&(i=0),void 0===r&&(r=0),void 0===s&&(s=0),void 0===a&&(a=0),void 0===c&&(c=0),void 0===l&&(l=0),void 0===p&&(p=0),void 0===h&&(h=0);var f=this;if(!u().useLegacy){var d=[{f:e.F32,type:\"lowshelf\",gain:n},{f:e.F64,type:\"peaking\",gain:o},{f:e.F125,type:\"peaking\",gain:i},{f:e.F250,type:\"peaking\",gain:r},{f:e.F500,type:\"peaking\",gain:s},{f:e.F1K,type:\"peaking\",gain:a},{f:e.F2K,type:\"peaking\",gain:c},{f:e.F4K,type:\"peaking\",gain:l},{f:e.F8K,type:\"peaking\",gain:p},{f:e.F16K,type:\"highshelf\",gain:h}].map((function(t){var e=u().context.audioContext.createBiquadFilter();return e.type=t.type,x.setParamValue(e.Q,1),e.frequency.value=t.f,x.setParamValue(e.gain,t.gain),e}));(f=t.call(this,d[0],d[d.length-1])||this).bands=d,f.bandsMap={};for(var _=0;_<f.bands.length;_++){var y=f.bands[_];_>0&&f.bands[_-1].connect(y),f.bandsMap[y.frequency.value]=y}return f}f=t.call(this,null)||this}return c(e,t),e.prototype.setGain=function(t,e){if(void 0===e&&(e=0),!this.bandsMap[t])throw new Error(\"No band found for frequency \".concat(t));x.setParamValue(this.bandsMap[t].gain,e)},e.prototype.getGain=function(t){if(!this.bandsMap[t])throw new Error(\"No band found for frequency \".concat(t));return this.bandsMap[t].gain.value},Object.defineProperty(e.prototype,\"f32\",{get:function(){return this.getGain(e.F32)},set:function(t){this.setGain(e.F32,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"f64\",{get:function(){return this.getGain(e.F64)},set:function(t){this.setGain(e.F64,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"f125\",{get:function(){return this.getGain(e.F125)},set:function(t){this.setGain(e.F125,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"f250\",{get:function(){return this.getGain(e.F250)},set:function(t){this.setGain(e.F250,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"f500\",{get:function(){return this.getGain(e.F500)},set:function(t){this.setGain(e.F500,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"f1k\",{get:function(){return this.getGain(e.F1K)},set:function(t){this.setGain(e.F1K,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"f2k\",{get:function(){return this.getGain(e.F2K)},set:function(t){this.setGain(e.F2K,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"f4k\",{get:function(){return this.getGain(e.F4K)},set:function(t){this.setGain(e.F4K,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"f8k\",{get:function(){return this.getGain(e.F8K)},set:function(t){this.setGain(e.F8K,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"f16k\",{get:function(){return this.getGain(e.F16K)},set:function(t){this.setGain(e.F16K,t)},enumerable:!1,configurable:!0}),e.prototype.reset=function(){this.bands.forEach((function(t){x.setParamValue(t.gain,0)}))},e.prototype.destroy=function(){this.bands.forEach((function(t){t.disconnect()})),this.bands=null,this.bandsMap=null},e.F32=32,e.F64=64,e.F125=125,e.F250=250,e.F500=500,e.F1K=1e3,e.F2K=2e3,e.F4K=4e3,e.F8K=8e3,e.F16K=16e3,e}(M),DistortionFilter:function(t){function e(e){void 0===e&&(e=0);var n=this;if(!u().useLegacy){var o=u().context.audioContext.createWaveShaper();return(n=t.call(this,o)||this)._distortion=o,n.amount=e,n}n=t.call(this,null)||this}return c(e,t),Object.defineProperty(e.prototype,\"amount\",{get:function(){return this._amount},set:function(t){this._amount=t;for(var e,n=1e3*t,o=44100,i=new Float32Array(o),r=Math.PI/180,s=0;s<o;++s)e=2*s/o-1,i[s]=(3+n)*e*20*r/(Math.PI+n*Math.abs(e));this._distortion.curve=i,this._distortion.oversample=\"4x\"},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){this._distortion=null,t.prototype.destroy.call(this)},e}(M),StereoFilter:function(t){function e(e){void 0===e&&(e=0);var n=this;if(!u().useLegacy){var o,i,r,s=u().context.audioContext;return s.createStereoPanner?r=o=s.createStereoPanner():((i=s.createPanner()).panningModel=\"equalpower\",r=i),(n=t.call(this,r)||this)._stereo=o,n._panner=i,n.pan=e,n}n=t.call(this,null)||this}return c(e,t),Object.defineProperty(e.prototype,\"pan\",{get:function(){return this._pan},set:function(t){this._pan=t,this._stereo?x.setParamValue(this._stereo.pan,t):this._panner.setPosition(t,0,1-Math.abs(t))},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){t.prototype.destroy.call(this),this._stereo=null,this._panner=null},e}(M),ReverbFilter:function(t){function e(e,n,o){void 0===e&&(e=3),void 0===n&&(n=2),void 0===o&&(o=!1);var i=this;if(!u().useLegacy)return(i=t.call(this,null)||this)._seconds=i._clamp(e,1,50),i._decay=i._clamp(n,0,100),i._reverse=o,i._rebuild(),i;i=t.call(this,null)||this}return c(e,t),e.prototype._clamp=function(t,e,n){return Math.min(n,Math.max(e,t))},Object.defineProperty(e.prototype,\"seconds\",{get:function(){return this._seconds},set:function(t){this._seconds=this._clamp(t,1,50),this._rebuild()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"decay\",{get:function(){return this._decay},set:function(t){this._decay=this._clamp(t,0,100),this._rebuild()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"reverse\",{get:function(){return this._reverse},set:function(t){this._reverse=t,this._rebuild()},enumerable:!1,configurable:!0}),e.prototype._rebuild=function(){for(var t,e=u().context.audioContext,n=e.sampleRate,o=n*this._seconds,i=e.createBuffer(2,o,n),r=i.getChannelData(0),s=i.getChannelData(1),a=0;a<o;a++)t=this._reverse?o-a:a,r[a]=(2*Math.random()-1)*Math.pow(1-t/o,this._decay),s[a]=(2*Math.random()-1)*Math.pow(1-t/o,this._decay);var c=u().context.audioContext.createConvolver();c.buffer=i,this.init(c)},e}(M),MonoFilter:function(t){function e(){var e=this;if(!u().useLegacy){var n=u().context.audioContext,o=n.createChannelSplitter(),i=n.createChannelMerger();return i.connect(o),(e=t.call(this,i,o)||this)._merger=i,e}e=t.call(this,null)||this}return c(e,t),e.prototype.destroy=function(){this._merger.disconnect(),this._merger=null,t.prototype.destroy.call(this)},e}(M),StreamFilter:function(t){function e(){var e=this;if(!u().useLegacy){var n=u().context.audioContext,o=n.createMediaStreamDestination(),i=n.createMediaStreamSource(o.stream);return(e=t.call(this,o,i)||this)._stream=o.stream,e}e=t.call(this,null)||this}return c(e,t),Object.defineProperty(e.prototype,\"stream\",{get:function(){return this._stream},enumerable:!1,configurable:!0}),e.prototype.destroy=function(){this._stream=null,t.prototype.destroy.call(this)},e}(M),TelephoneFilter:function(t){function e(){if(!u().useLegacy){var e=u().context.audioContext,n=e.createBiquadFilter(),o=e.createBiquadFilter(),i=e.createBiquadFilter(),r=e.createBiquadFilter();return n.type=\"lowpass\",x.setParamValue(n.frequency,2e3),o.type=\"lowpass\",x.setParamValue(o.frequency,2e3),i.type=\"highpass\",x.setParamValue(i.frequency,500),r.type=\"highpass\",x.setParamValue(r.frequency,500),n.connect(o),o.connect(i),i.connect(r),t.call(this,n,r)||this}t.call(this,null)}return c(e,t),e}(M)},B={__proto__:null,WebAudioMedia:F,WebAudioInstance:j,WebAudioNodes:A,WebAudioContext:L,WebAudioUtils:x},G=0;var I={__proto__:null,playOnce:function(t,e){var n=\"alias\".concat(G++);return u().add(n,{url:t,preload:!0,autoPlay:!0,loaded:function(t){t&&(u().remove(n),e&&e(t))},complete:function(){u().remove(n),e&&e(null)}}),n},get PLAY_ID(){return G},render:function(t,e){var n=document.createElement(\"canvas\");e=l({width:512,height:128,fill:\"black\"},e||{}),n.width=e.width,n.height=e.height;var i=o.from(n);if(!(t.media instanceof F))return i;var r=t.media,s=n.getContext(\"2d\");s.fillStyle=e.fill;for(var u=r.buffer.getChannelData(0),a=Math.ceil(u.length/e.width),c=e.height/2,p=0;p<e.width;p++){for(var h=1,f=-1,d=0;d<a;d++){var _=u[p*a+d];_<h&&(h=_),_>f&&(f=_)}s.fillRect(p,(1+h)*c,1,Math.max(1,(f-h)*c))}return i},resolveUrl:_,sineTone:function(t,e){void 0===t&&(t=200),void 0===e&&(e=1);var n=E.from({singleInstance:!0});if(!(n.media instanceof F))return n;for(var o=n.media,i=n.context.audioContext.createBuffer(1,48e3*e,48e3),r=i.getChannelData(0),s=0;s<r.length;s++){var u=t*(s/i.sampleRate)*Math.PI;r[s]=2*Math.sin(u)}return o.buffer=i,n.isLoaded=!0,n},validateFormats:f,supported:h,extensions:p},R=function(t){return s=t,t}(new S);\"extensions\"in n?n.extensions.add(m):e.registerPlugin(m);export{M as Filter,w as Filterable,E as Sound,S as SoundLibrary,m as SoundLoader,P as SoundSprite,T as filters,k as htmlaudio,R as sound,I as utils,B as webaudio};\n//# sourceMappingURL=pixi-sound.esm.mjs.map\n","/* eslint-disable @typescript-eslint/restrict-template-expressions */\n/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2023-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport {type IEvtMng, argChk_Boolean, argChk_Num} from './CmnLib';\nimport type {IVariable, IMain} from './CmnInterface';\nimport {SEARCH_PATH_ARG_EXT} from './ConfigBase';\nimport type {Config} from './Config';\nimport type {SysBase} from './SysBase';\nimport type {HArg} from './Grammar';\nimport {CmnTween} from './CmnTween';\nimport {Reading} from './Reading';\n\nimport {Loader, LoaderResource} from 'pixi.js';\nimport {sound, Sound, type Options, filters} from '@pixi/sound';\nimport {Tween, remove} from '@tweenjs/tween.js'\n\nclass SndInf {\n\tstatic\t #vol_mul_talking = 1;\n\n\tstt\t\t: ISndState;\n\tloop\t= false;\n\n\treadonly\t#proc_id;\n\tget procID() {return this.#proc_id}\n\n\tconstructor(\n\t\t\treadonly\tfn\t\t: string,\n\t\t\treadonly\tbuf\t\t: string,\n\t\t\treadonly\tstart_ms: number,\n\t\t\treadonly\tend_ms\t: number,\n\t\t\treadonly\tret_ms\t: number,\n\tprivate\treadonly\tvolume\t: number,\n\t\t\treadonly\tpan\t\t: number,\n\t\t\treadonly\tsnd\t\t: Sound | null,\n\t) {\n\t\tthis.stt = snd ?new SsPlaying(this) :new SsLoading;\n\t\tthis.#proc_id = Reading.procID;\n\t\tif (snd) this.addSnd(snd);\n\t}\n\taddSnd(snd: Sound) {\n\t\tthis.loop = snd.loop;\n\t//\tif (! this.loop) sound.add(this.fn, snd);\t// 手動キャッシュすると単発連打で無音に\n\n\t\tthis.stt.onLoad(this);\n\t\tif (this.pan !== 0) snd.filters = [new filters.StereoFilter(this.pan)];\n\n\t\tthis.setVol = vol=> {snd.volume = vol};\n\t\tthis.tw = ()=> new Tween(snd);\n\t\tthis.onPlayEnd = ()=> {this.stt.onPlayEnd(this.buf); this.#onStop()};\n\t\tthis.stop = ()=> {snd.stop(); this.#onStop()};\n\t\tthis.destroy = ()=> snd.destroy();\n\n\t\tswitch (this.buf) {\t\t// セリフ再生中はBGM音量を絞る\n\t\t\tcase BUF_VOICE:{\n\t\t\t\tconst v = Number(val.getVal('sys:sn.sound.BGM.vol_mul_talking') ?? 1);\t\t// 歴史的経緯で ??\n\t\t\t\tif (v === 1) break;\n\n\t\t\t\tSndInf.#vol_mul_talking = v;\n\t\t\t\tconst b = hSndBuf[BUF_BGM];\n\t\t\t\tif (b) b.setVol(this.volume * SndInf.#vol_mul_talking);\n\t\t\t}\tbreak;\n\n\t\t\tcase BUF_BGM:\n\t\t\t\tsnd.volume = this.volume * SndInf.#vol_mul_talking;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t\t#onStop = ()=> {\n\t\t\tthis.#onStop = ()=> { /* empty */ };\n\t\t\tif (SndInf.#vol_mul_talking === 1 || this.buf !== BUF_VOICE) return;\n\n\t\t\t// ボリュームを戻す\n\t\t\tSndInf.#vol_mul_talking = 1;\n\t\t\tconst b = hSndBuf[BUF_BGM];\n\t\t\tif (b) b.setVol(this.volume * SndInf.#vol_mul_talking);\n\t\t}\n\n\tsetVol(_vol: number) { /* empty */ }\n\ttw(): Tween<Sound> | undefined {return undefined}\n\tonPlayEnd() { /* empty */ }\n\tstop() { /* empty */ }\n\tdestroy() { /* empty */ }\n}\n\n\nlet cfg\t: Config;\nlet val\t: IVariable;\nlet main: IMain;\nlet sys\t: SysBase;\nlet hSndBuf\t: HSndBuf;\n\nlet evtMng\t: IEvtMng;\n\nexport type HSndBuf = {[buf: string]: SndBuf}\nexport\tconst\tBUF_BGM\t\t= 'BGM';\nexport\tconst\tBUF_SE\t\t= 'SE';\n\t\tconst\tBUF_VOICE\t= 'VOICE';\n\n\nexport class SndBuf {\n\tstatic\t#hLP\t: {[buf: string]: string}\t= {};\n\tstatic\tinit($cfg: Config, $val: IVariable, $main: IMain, $sys: SysBase, $hSndBuf: HSndBuf) {\n\t\tSndBuf.#hLP = {};\n\t\tcfg\t= $cfg;\n\t\tval\t= $val;\n\t\tmain= $main;\n\t\tsys\t= $sys;\n\t\thSndBuf\t= $hSndBuf;\n\t}\n\tstatic\tsetEvtMng($evtMng: IEvtMng) {evtMng = $evtMng}\n\tstatic\tdelLoopPlay(buf: string): void {\n\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\tdelete SndBuf.#hLP[buf];\n\t\tconst vn = 'const.sn.sound.'+ buf +'.';\n\t\tval.setVal_Nochk('save', vn +'fn', '');\n\t\tval.setVal_Nochk('save', 'const.sn.loopPlaying', JSON.stringify(SndBuf.#hLP));\n\t\tval.flush();\n\t}\n\tstatic\tgetVol(hArg: HArg, def: number): number {\n\t\tconst vol = argChk_Num(hArg, 'volume', def);\n\t\tif (vol < 0) return 0;\n\t\tif (vol > 1) return 1;\n\t\treturn vol;\n\t}\n\tstatic\txchgbuf({buf: buf1 = BUF_SE, buf2 = BUF_SE}: HArg) {\n\t\tif (buf1 === buf2) throw `[xchgbuf] buf:${buf1} が同じ値です`;\n\n\t\tconst n1 = 'const.sn.sound.'+ buf1 +'.';\n\t\tconst v1 = Number(val.getVal('save:'+ n1 +'volume'));\n\t\tconst f1 = String(val.getVal('save:'+ n1 +'fn'));\n\t\tconst n2 = 'const.sn.sound.'+ buf2 +'.';\n\t\tconst v2 = Number(val.getVal('save:'+ n2 +'volume'));\n\t\tconst f2 = String(val.getVal('save:'+ n2 +'fn'));\n\t\tval.setVal_Nochk('save', n1 +'volume', v2);\n\t\tval.setVal_Nochk('save', n2 +'volume', v1);\n\t\tval.setVal_Nochk('save', n1 +'fn', f2);\n\t\tval.setVal_Nochk('save', n2 +'fn', f1);\n\n\t\tif (buf1 in SndBuf.#hLP !== buf2 in SndBuf.#hLP) {\t// 演算子の優先順位確認済\n\t\t\tif (buf1 in SndBuf.#hLP)\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\t\t\t\t{delete SndBuf.#hLP[buf1]; SndBuf.#hLP[buf2] = f1}\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\t\telse\t{delete SndBuf.#hLP[buf2]; SndBuf.#hLP[buf1] = f2}\n\t\t\tval.setVal_Nochk('save', 'const.sn.loopPlaying', JSON.stringify(SndBuf.#hLP));\n\t\t}\n\t\tval.flush();\n\t}\n\n\n\tstatic\treadonly\t#MAX_END_MS\t= 999000;\n\n\n\treadonly #si\t\t: SndInf;\n\treadonly needLoad;\n\n\n\tconstructor(\n\t\treadonly hArg\t: HArg,\n\t\treadonly buf\t: string,\n\t\treadonly fn\t\t: string,\n\t) {\n\t\tconst start_ms = argChk_Num(hArg, 'start_ms', 0);\n\t\tconst end_ms = argChk_Num(hArg, 'end_ms', SndBuf.#MAX_END_MS);\n\t\tconst ret_ms = argChk_Num(hArg, 'ret_ms', 0);\n\t\tconst pan = argChk_Num(hArg, 'pan', 0);\n\t\tconst speed = argChk_Num(hArg, 'speed', 1);\n\n\t\tif (start_ms < 0) throw `[playse] start_ms:${start_ms} が負の値です`;\n\t\tif (ret_ms < 0) throw `[playse] ret_ms:${ret_ms} が負の値です`;\n\t\tif (0 < end_ms) {\n\t\t\tif (end_ms <= start_ms) throw `[playse] start_ms:${start_ms} >= end_ms:${end_ms} は異常値です`;\n\t\t\tif (end_ms <= ret_ms) throw `[playse] ret_ms:${ret_ms} >= end_ms:${end_ms} は異常値です`;\n\t\t}\n\n\t\t// この辺で属性を増減したら、loadFromSaveObj()にも反映する\n\t\tconst vn = 'const.sn.sound.'+ buf +'.';\n\t\tval.setVal_Nochk('save', vn +'fn', fn);\n\t\tconst savevol = SndBuf.getVol(hArg, 1);\n\t\tval.setVal_Nochk('save', vn +'volume', savevol);// 目標音量(save:)\n\t\tconst volume = savevol * Number(val.getVal('sys:'+ vn +'volume', 1, true));\n\n\t\tconst loop = argChk_Boolean(hArg, 'loop', false);\n\t\tif (loop) {\n\t\t\tSndBuf.#hLP[buf] = fn;\n\t\t\tval.setVal_Nochk('save', 'const.sn.loopPlaying', JSON.stringify(SndBuf.#hLP));\n\t\t}\n\t\telse SndBuf.delLoopPlay(buf);\n\t\tval.setVal_Nochk('save', vn +'start_ms', start_ms);\n\t\tval.setVal_Nochk('save', vn +'end_ms', end_ms);\n\t\tval.setVal_Nochk('save', vn +'ret_ms', ret_ms);\n\t\tval.setVal_Nochk('tmp', vn +'playing', true);\n\t\tval.flush();\n\n\t\tconst snd = <Sound | null>sound.find(fn);\t// キャッシュにあるか\n\t\tthis.#si = new SndInf(\n\t\t\tfn,\n\t\t\tbuf,\n\t\t\tstart_ms,\n\t\t\tend_ms,\n\t\t\tret_ms,\n\t\t\tvolume,\n\t\t\tpan,\n\t\t\tsnd,\n\t\t);\n\t\t// @pixi/sound用基本パラメータ\n\t\tconst o: Options = {\n\t\t\tloop,\n\t\t\tspeed,\n\t\t\tvolume,\n\t\t\tloaded\t: (e: unknown, s2)=> {\n\t\t\t\tif (this.#si.stt.isDestroy) return;\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-base-to-string\n\t\t\t\tif (e) {main.errScript(`ロード失敗です SndBuf fn:${fn} ${String(e)}`, false); return}\n\t\t\t\tif (! s2) return;\n\n\t\t\t\tthis.#si.addSnd(s2);\n\t\t\t\tif (pan !== 0) s2.filters = [new filters.StereoFilter(pan)];\n\t\t\t//\tif (! o.loop) sound.add(fn, snd);\t// 手動キャッシュすると単発連打で無音に\n\t\t\t\thArg.fnc?.();\n\t\t\t},\n\t\t};\n\n\t\t// start_ms・end_ms機能→@pixi/sound準備\n\t\tlet sp_nm = '';\n\t\tif (0 < start_ms || end_ms < SndBuf.#MAX_END_MS) {\n\t\t\tsp_nm = `${fn};${start_ms};${end_ms};${ret_ms}`;\n\t\t\tconst os = (o.sprites ??= {})[sp_nm] = {\n\t\t\t\tstart\t: start_ms /1000,\n\t\t\t\tend\t\t: end_ms /1000,\n\t\t\t};\n\t\t\to.preload = true;\t\t// loaded発生用、トラブルの元なので使用を控えたい\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tconst old = o.loaded!;\n\t\t\to.loaded = (e, s0)=> {\n\t\t\t\tif (this.#si.stt.isDestroy) return;\n\n\t\t\t\told(e, s0);\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t\tconst s2 = s0!;\n\t\t\t\tconst d = s2.duration;\n\t\t\t\tif (os.end < 0) {\t// 負の値は末尾から\n\t\t\t\t\tos.end += d;\n\t\t\t\t\ts2.removeSprites(sp_nm);\n\t\t\t\t\ts2.addSprites(sp_nm, os);\n\t\t\t\t}\n\t\t\t\tif (os.end <= os.start) main.errScript(`[playse] end_ms:${end_ms}(${os.end *1000}) >= start_ms:${start_ms} は異常値です`);\n\t\t\t\tif (os.end *1000 <= ret_ms) main.errScript(`[playse] end_ms:${end_ms}(${os.end *1000}) <= ret_ms:${ret_ms} は異常値です`);\n\t\t\t\tif (d <= os.start) main.errScript(`[playse] 音声ファイル再生時間:${d *1000} <= start_ms:${start_ms} は異常値です`);\n\t\t\t\tif (end_ms !== SndBuf.#MAX_END_MS && d <= os.end) main.errScript(`[playse] 音声ファイル再生時間:${d *1000} <= end_ms:${end_ms} は異常値です`);\n\n\t\t\t\tvoid s2.play(sp_nm, snd=> o.complete?.(snd));\n\t\t\t\t\t// 流れ的にはすぐ下の「ループなし/あり」を呼ぶ\n\t\t\t};\n\t\t}\n\t\telse o.autoPlay = true;\n\n\t\t// ループなし ... 再生完了イベント\n\t\tif (! loop) o.complete = ()=> {\n\t\t\tstop2var(this.#si, buf);\n\t\t\tthis.#si.onPlayEnd();\n\t\t};\n\t\t// ループあり ... ret_ms処理\n\t\telse if (ret_ms !== 0) {\n\t\t\to.loop = false;\t// 一周目はループなしとする\n\t\t\to.complete = snd=> {\n\t\t\t\tconst d = snd.duration;\n\t\t\t\tconst start\t= ret_ms /1000;\n\t\t\t\tconst end\t= end_ms /1000;\n\t\t\t\tif (d <= start) main.errScript(`[playse] 音声ファイル再生時間:${d *1000} <= ret_ms:${ret_ms} は異常値です`);\n\n\t\t\t\tvoid snd.play({\t// 一周目はループなし、なのでキャッシュされてる\n\t\t\t\t\t...o,\n\t\t\t\t\tstart,\n\t\t\t\t\tend\t\t: end < 0 ?end +d :end,// 負の値は末尾から\n\t\t\t\t//\tspeed,\t\t// 重複\n\t\t\t\t\tloop\t: true,\n\t\t\t\t//\tvolume,\t\t// 重複\n\t\t\t\t//-\tmuted?: boolean;\n\t\t\t\t\tfilters\t: pan !== 0 ?[new filters.StereoFilter(pan)] :[],\n\t\t\t\t//-\tcomplete?: CompleteCallback;\n\t\t\t\t//-\tloaded?: LoadedCallback;\n\t\t\t\t//-\tsingleInstance?: boolean;\n\t\t\t\t});\n\t\t\t\t//不要 this.#sb.snd = snd;\t// this.#sb.snd === snd (true)\n\t\t\t};\n\t\t}\n\n\t\tthis.#initVol();\n\t\tif (snd) {\n\t\t\tsnd.volume = volume;\t// 再生のたびに音量を戻す\n\t\t\tif (sp_nm) this.#playseSub(fn, o);\n\t\t\telse if (snd.isPlayable) {\n\t\t\t\tconst ab = snd.options.source;\n\t\t\t\tif (! (ab instanceof ArrayBuffer)\n\t\t\t\t\t|| ab.byteLength === 0) void snd.play(o);\n\t\t\t\telse this.#si.addSnd(Sound.from({\n\t\t\t\t\t...o,\n\t\t\t\t\turl\t\t: snd.options.url,\n\t\t\t\t\tsource\t: ab,\n\t\t\t\t}));\n\t\t\t}\n\t\t\tif (pan !== 0) snd.filters = [new filters.StereoFilter(pan)];\n\t\t\tthis.needLoad = false;\n\t\t\treturn;\n\t\t}\n\n\t\tconst join = this.needLoad = argChk_Boolean(hArg, 'join', true);\n\t\tif (join) {\n\t\t\tconst RPN_LOADED = this.#si.procID +`loaded buf:${buf} fn:${fn}`;\n\t\t\tReading.beginProc(RPN_LOADED);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tconst old = o.loaded!;\n\t\t\to.loaded = (e, s2)=> {\n\t\t\t\told(e, s2);\n\t\t\t\tReading.endProc(RPN_LOADED);\n\t\t\t};\n\t\t}\n\t\tthis.#playseSub(fn, o);\n\t}\n\t#initVol = ()=> {\n\t\tsound.volumeAll = Number(val.getVal('sys:sn.sound.global_volume', 1));\n\t\tthis.#initVol = ()=> { /* empty */ };\n\t};\n\t#playseSub(fn: string, o: Options) {\n\t\tconst src = cfg.searchPath(fn, SEARCH_PATH_ARG_EXT.SOUND);\n\t\tif (! src.endsWith('.bin')) {o.url = src; Sound.from(o); return}\n\n\t\t(new Loader).add({name: fn, url: src, xhrType: LoaderResource.XHR_RESPONSE_TYPE.BUFFER,})\n\t\t.use((res, next)=> {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\t\tvoid sys.decAB(res.data).then(y=> {res.data = y})\n\t\t\t.catch((e: unknown)=> main.errScript(`Sound ロード失敗ですc fn:${res.name} ${e}`, false))\n\t\t\t.finally(()=> next());\n\t\t})\n\t\t.load((_ldr, hRes)=> {\t// このあと o.loaded() もコールされる\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\to.source = hRes[fn]?.data;\n\t\t\tSound.from(o);\n\t\t});\n\t}\n\n\n\tsetVol(vol: number) {this.#si.setVol(vol)}\n\n\tws =(hArg: HArg)=> this.#si.stt.ws(this.#si, hArg);\n\tstopse({buf = BUF_SE}: HArg) {\n\t\tstop2var(this.#si, buf);\n\t\tthis.#si.stt.stopse(this.#si);\n\t}\n\n\tfade =(hArg: HArg)=> this.#si.stt.fade(this.#si, hArg);\n\twf =(hArg: HArg)=> this.#si.stt.wf(this.#si, hArg);\n\tstopfadese =(hArg: HArg)=> this.#si.stt.stopfadese(this.#si, hArg);\n\n}\n\n\n// =================================================\nfunction stop2var({loop}: SndInf, buf: string) {\n\tif (loop) {SndBuf.delLoopPlay(buf); return}\n\n\tconst vn = 'const.sn.sound.'+ buf +'.';\n\tval.setVal_Nochk('tmp', vn +'playing', false);\n\tval.flush();\n}\n\n// =================================================\n\n\ntype ISndState = {\n\t// type も class に implements できるらしい! https://qiita.com/tkrkt/items/d01b96363e58a7df830e\n\tonLoad(si: SndInf)\t: void;\n\tstopse(si: SndInf)\t: void;\n\tws(si: SndInf, hArg: HArg): boolean;\n\tonPlayEnd(buf: string)\t: void;\n\tfade(si: SndInf, hArg: HArg): void;\n\twf(si: SndInf, hArg: HArg): boolean;\n\tcompFade(buf: string)\t: void;\n\tstopfadese(si: SndInf, hArg: HArg): void;\n\tisDestroy\t: boolean;\n}\n\nclass SsLoading implements ISndState {\n\tonLoad(si: SndInf)\t{si.stt = new SsPlaying(si)}\n\tstopse(si: SndInf)\t{si.stt = new SsStop(si, false)}\n\tws =()=> false;\n\tonPlayEnd() { /* empty */ }\t\t// ok\n\tfade() { /* empty */ }\t\t\t// ok\n\twf =()=> false;\t\t\t\t\t// ok\n\tcompFade() { /* empty */ }\t\t// ok\n\tstopfadese() { /* empty */ }\t// ok\n\treadonly\tisDestroy\t= false;\n}\n\nclass SsPlaying implements ISndState {\n\tconstructor(readonly si: SndInf) {}\n\tonLoad() { /* empty */ }\t\t// ok\n\tstopse(si: SndInf)\t{si.stt = new SsStop(si)}\n\tws(si: SndInf, hArg: HArg) {\n\t\tif (si.loop) return false;\n\n\t\tsi.stt = new SsWaitingStop(si);\n\t\tconst canskip = argChk_Boolean(hArg, 'canskip', false);\n\t\tconst stop = argChk_Boolean(hArg, 'stop', true);\n\t\tif (canskip && evtMng.isSkipping) {\n\t\t\tif (stop) si.stt.stopse(si); else si.stt.onPlayEnd = ()=> { /* empty */ };\n\t\t\treturn false;\n\t\t}\n\n\t\tconst {buf = BUF_SE} = hArg;\n\t\tconst fin = ()=> {\n\t\t\tstop2var(si, buf);\n\t\t\tsi.onPlayEnd();\t// まず一回やる\n\t\t\tif (stop) si.stt.stopse(si); else si.stt.onPlayEnd = ()=> { /* empty */ };\n\t\t\t\t// else後は SsWaitingStop か SsStop の想定\n\t\t};\n\t\tReading.beginProc(si.procID +'ws', fin, true, canskip ?fin :undefined);\n\t\treturn true;\n\t}\n\tonPlayEnd() { /* empty */ }\t\t// ok\n\tfade(si: SndInf, hArg: HArg) {\n\t\tconst {buf = BUF_SE} = hArg;\n\n\t\tconst vn = 'const.sn.sound.'+ buf +'.';\n\t\tconst bnV = vn +'volume';\n\t\tconst savevol = SndBuf.getVol(hArg, NaN);\n\t\tval.setVal_Nochk('save', bnV, savevol);\t// 目標音量(save:)\n\t\tconst vol = savevol * Number(val.getVal('sys:'+ bnV, 1))\n\t\tconst stop = argChk_Boolean(hArg, 'stop', savevol === 0);\n\t\t\t// this.getVol() により savevol = hArg.volume\n\t\tif (stop) SndBuf.delLoopPlay(buf);\t// fade中reloadなど、できるだけ早く情報更新か\n\t\tval.flush();\n\n\t\tconst time = argChk_Num(hArg, 'time', NaN);\n\t\tconst delay = argChk_Num(hArg, 'delay', 0);\n\t\tif (time === 0 && delay === 0 || evtMng.isSkipping) {\n\t\t\tsi.setVol(vol);\n\t\t\tsi.stt = stop ? new SsStop(si) : new SsPlaying(si);\n\t\t\treturn;\n\t\t}\n\n//console.log('fadese start from:%f to:%f', sb.snd.volume, vol);\n\t\tconst tw = si.tw();\n\t\tif (! tw) return;\n\t\tCmnTween.setTwProp(tw, hArg)\n\t\t.to({volume: vol}, time)\n\t\t.onComplete(()=> {\n\t\t\tremove(tw);\n\t\t\tsi.stt.compFade(buf);\n\t\t\tsi.stt = stop ? new SsStop(si) : new SsPlaying(si);\n\t\t})\n\t\t.start();\n\n\t\tsi.stt = new SsFade(tw, si);\n\t}\n\twf =()=> false;\t\t\t\t\t// ok\n\tcompFade() { /* empty */ }\t\t// ok\n\tstopfadese() { /* empty */ }\t// ok\n\treadonly\tisDestroy\t= false;\n}\n\nclass SsWaitingStop implements ISndState {\n\tconstructor(readonly si: SndInf) {}\n\tonLoad() { /* empty */ }\t\t// ok\n\tstopse(si: SndInf)\t{si.stt = new SsStop(si)}\n\tws =()=> false;\t\t\t\t\t// ok\n\tonPlayEnd()\t{Reading.notifyEndProc(this.si.procID +'ws')}\n\tfade() { /* empty */ }\t\t\t// ok\n\twf =()=> false;\t\t\t\t\t// ok\n\tcompFade() { /* empty */ }\t\t// ok\n\tstopfadese() { /* empty */ }\t// ok\n\treadonly\tisDestroy\t= false;\n}\n\nclass SsFade implements ISndState {\n\tconstructor(readonly tw: Tween<Sound>, private readonly si: SndInf) {}\n\tonLoad() { /* empty */ }\t\t// ok\n\tstopse(si: SndInf)\t{this.stopfadese(); si.stt = new SsStop(si)}\t// 順番厳守\n\tws =()=> false;\t\t\t\t\t// ok ?\n\tonPlayEnd() { /* empty */ }\t\t// ok\n\tfade() { /* empty */ }\t\t\t// ok\n\twf(si: SndInf, hArg: HArg) {\n\t\tsi.stt = new SsWaitingFade(si);\n\t\tconst canskip = argChk_Boolean(hArg, 'canskip', false);\n\t\tif (canskip && evtMng.isSkipping) {this.stopfadese(); return false}\n\n\t\tconst fin = ()=> this.stopfadese();\n\t\tReading.beginProc(si.procID +'wf', fin, true, canskip ?fin :undefined);\n\t\treturn true;\n\t}\n\tcompFade() { /* empty */ }\t\t// ok\n\tstopfadese =()=> this.si.stop();\n\treadonly\tisDestroy\t= false;\n}\n\nclass SsWaitingFade implements ISndState {\n\tconstructor(private readonly si: SndInf) {}\n\tonLoad() { /* empty */ }\t\t// ok\n\tstopse(si: SndInf)\t{this.stopfadese(); si.stt = new SsStop(si)}\n\tws =()=> false;\t\t// ok\n\tonPlayEnd() { /* empty */ }\t\t// ok\n\tfade() { /* empty */ }\t\t\t// ok\n\twf =()=> false;\t\t\t\t\t// ok\n\tcompFade() {Reading.notifyEndProc(this.si.procID +'wf')}\n\tstopfadese =()=> this.si.stop();\n\treadonly\tisDestroy\t= false;\n}\n\nclass SsStop implements ISndState {\n\tconstructor(readonly si: SndInf, readonly stop = true) {\n\t\tif (! stop) return;\n\n\t\tsi.stop();\n\t\tif (! si.loop) return;\t// destroy がないと再生が残るケースが。効果音だと破棄が激しいのでループモノ(BGM)だけにする\n\n\t\tsi.destroy();\n\t\tsi.destroy = ()=> { /* empty */ };\t// 再度コール時エラー対策\n\t}\n\tonLoad() { /* empty */ }\t\t// ok\n\tstopse() { /* empty */ }\t\t// ok\n\tws =()=> false;\t\t// ok\n\tonPlayEnd() { /* empty */ }\t\t// ok\n\tfade() { /* empty */ }\t\t\t// ok\n\twf =()=> false;\t\t// ok\n\tcompFade() { /* empty */ }\t\t// ok\n\tstopfadese() { /* empty */ }\t// ok\n\treadonly\tisDestroy\t= true;\n}\n"],"names":["TW_INT_TRANS","TMP_TSY_NM","CmnTween","#hTwInf","#evtMng","#appPixi","evtMng","appPixi","#fncTicker","update","tw","hArg","repeat","argChk_Num","argChk_Boolean","#hEase","k","Easing","nm","es","lay","hTo","arg","v","hdeq","vx","v0","v1","a0","removeAll","tw_nm","hNow","onUpdate","onComplete","onEnd","start","time","Tween","path","twLast","CmnLib","groups","#REG_TSY_PATH","x","x2","y","y2","o","o2","json","hArg2","e","hTo2","twNew","ti","Reading","chain","twFrom","_hArg","fnc","#stopEndTrans","promise","resolve","#tw_nm","layer","id","name","s","u","a","t","n","c","l","i","p","h","f","d","_","r","m","b","g","P","O","j","w","A","F","E","C","L","S","M","T","I","R","n.extensions","SndInf","fn","buf","start_ms","end_ms","ret_ms","volume","pan","snd","SsPlaying","SsLoading","#proc_id","#vol_mul_talking","filters","vol","#onStop","BUF_VOICE","val","hSndBuf","BUF_BGM","_vol","cfg","main","sys","BUF_SE","SndBuf","#MAX_END_MS","speed","vn","savevol","loop","#hLP","sound","#si","s2","sp_nm","os","old","s0","end","stop2var","#initVol","#playseSub","ab","Sound","RPN_LOADED","$cfg","$val","$main","$sys","$hSndBuf","$evtMng","def","buf1","buf2","n1","f1","n2","v2","f2","src","SEARCH_PATH_ARG_EXT","Loader","LoaderResource","res","next","_ldr","hRes","si","SsStop","SsWaitingStop","canskip","stop","fin","bnV","delay","remove","SsFade","SsWaitingFade"],"mappings":"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","x_google_ignoreList":[1]}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { d as b, e as m } from "./app2.js";
|
|
2
|
+
import { I as v, S as f, R as r, B as n, a as u } from "./SndBuf.js";
|
|
3
|
+
class V {
|
|
4
|
+
constructor(s, t, o, i, l) {
|
|
5
|
+
this.val = o, t.volume = (e) => this.#c(e), t.fadebgm = (e) => this.#n(e), t.fadeoutbgm = (e) => this.#m(e), t.fadeoutse = (e) => this.#b(e), t.fadese = (e) => this.#t(e), t.playbgm = (e) => this.#u(e), t.playse = (e) => this.#i(e), t.stop_allse = () => this.#e(), t.stopbgm = (e) => this.#v(e), t.stopse = (e) => this.#o(e), t.wb = (e) => this.#d(e), t.wf = (e) => this.#a(e), t.stopfadese = (e) => this.#f(e), t.wl = (e) => this.#p(e), t.ws = (e) => this.#r(e), t.xchgbuf = (e) => this.#_(e), o.setVal_Nochk("save", "const.sn.loopPlaying", "{}"), o.setVal_Nochk("tmp", "const.sn.sound.codecs", JSON.stringify(v.supported)), f.init(s, o, i, l, this.#s), r.disableAutoPause = !0;
|
|
6
|
+
}
|
|
7
|
+
#s = {};
|
|
8
|
+
#l;
|
|
9
|
+
setEvtMng(s) {
|
|
10
|
+
this.#l = s, f.setEvtMng(s);
|
|
11
|
+
}
|
|
12
|
+
setNoticeChgVolume(s, t) {
|
|
13
|
+
this.val.defValTrg("sys:sn.sound.global_volume", (o, i) => s(r.volumeAll = Number(i))), this.val.defValTrg("sys:sn.sound.movie_volume", (o, i) => t(Number(i))), this.val.setVal_Nochk("sys", "sn.sound.global_volume", this.val.getVal("sys:sn.sound.global_volume", 1)), this.val.setVal_Nochk("sys", "sn.sound.movie_volume", this.val.getVal("sys:sn.sound.movie_volume", 1));
|
|
14
|
+
}
|
|
15
|
+
//MARK: 音量設定(独自拡張)
|
|
16
|
+
#c(s) {
|
|
17
|
+
const { buf: t = n } = s, o = "const.sn.sound." + t + ".volume", i = this.#h(s, 1);
|
|
18
|
+
return Number(this.val.getVal("sys:" + o)) === i ? !1 : (this.val.setVal_Nochk("sys", o, i), this.val.flush(), s.time = 0, s.volume = Number(this.val.getVal("save:" + o)), this.#t(s));
|
|
19
|
+
}
|
|
20
|
+
#h(s, t) {
|
|
21
|
+
const o = b(s, "volume", t);
|
|
22
|
+
return o < 0 ? 0 : o > 1 ? 1 : o;
|
|
23
|
+
}
|
|
24
|
+
//MARK: BGM/効果音のフェードアウト(loadから使うのでマクロ化禁止)
|
|
25
|
+
#m(s) {
|
|
26
|
+
return s.volume = 0, this.#n(s);
|
|
27
|
+
}
|
|
28
|
+
//MARK: 効果音のフェードアウト(loadから使うのでマクロ化禁止)
|
|
29
|
+
#b(s) {
|
|
30
|
+
return s.volume = 0, this.#t(s);
|
|
31
|
+
}
|
|
32
|
+
//MARK: BGMのフェード(loadから使うのでマクロ化禁止)
|
|
33
|
+
#n(s) {
|
|
34
|
+
return s.buf = u, this.#t(s);
|
|
35
|
+
}
|
|
36
|
+
//MARK: 効果音のフェード
|
|
37
|
+
#t(s) {
|
|
38
|
+
const { buf: t = n } = s;
|
|
39
|
+
return this.#f(s), this.#s[t]?.fade(s), !1;
|
|
40
|
+
}
|
|
41
|
+
//MARK: BGM の演奏
|
|
42
|
+
#u(s) {
|
|
43
|
+
return s.buf = u, s.canskip = !1, m(s, "loop", !0), this.#i(s);
|
|
44
|
+
}
|
|
45
|
+
//MARK: 効果音の再生
|
|
46
|
+
#i(s) {
|
|
47
|
+
const { buf: t = n, fn: o } = s;
|
|
48
|
+
if (this.#o({ buf: t }), !o) throw `fnは必須です buf:${t}`;
|
|
49
|
+
return m(s, "canskip", !0) && this.#l.isSkipping ? !1 : (this.#s[t] = new f(s, t, o)).needLoad;
|
|
50
|
+
}
|
|
51
|
+
clearCache() {
|
|
52
|
+
r.removeAll();
|
|
53
|
+
}
|
|
54
|
+
//MARK: 全効果音再生の停止
|
|
55
|
+
#e() {
|
|
56
|
+
for (const s of Object.keys(this.#s)) this.#o({ buf: s });
|
|
57
|
+
return this.#s = {}, r.stopAll(), !1;
|
|
58
|
+
}
|
|
59
|
+
//MARK: BGM 演奏の停止(loadから使うのでマクロ化禁止)
|
|
60
|
+
#v(s) {
|
|
61
|
+
return s.buf = u, this.#o(s);
|
|
62
|
+
}
|
|
63
|
+
//MARK: 効果音再生の停止
|
|
64
|
+
#o(s) {
|
|
65
|
+
const { buf: t = n } = s;
|
|
66
|
+
return this.#s[t]?.stopse(s), !1;
|
|
67
|
+
}
|
|
68
|
+
//MARK: BGM フェードの終了待ち
|
|
69
|
+
#d(s) {
|
|
70
|
+
return s.buf = u, this.#a(s);
|
|
71
|
+
}
|
|
72
|
+
//MARK: 効果音フェードの終了待ち
|
|
73
|
+
#a(s) {
|
|
74
|
+
const { buf: t = n } = s;
|
|
75
|
+
return this.#s[t]?.wf(s) ?? !1;
|
|
76
|
+
}
|
|
77
|
+
//MARK: 音声フェードの停止
|
|
78
|
+
#f(s) {
|
|
79
|
+
const { buf: t = n } = s;
|
|
80
|
+
return this.#s[t]?.stopfadese(s), !1;
|
|
81
|
+
}
|
|
82
|
+
//MARK: BGM 再生の終了待ち
|
|
83
|
+
#p(s) {
|
|
84
|
+
return s.buf = u, this.#r(s);
|
|
85
|
+
}
|
|
86
|
+
//MARK: 効果音再生の終了待ち
|
|
87
|
+
#r(s) {
|
|
88
|
+
const { buf: t = n } = s;
|
|
89
|
+
return this.#s[t]?.ws(s) ?? !1;
|
|
90
|
+
}
|
|
91
|
+
//MARK: 再生トラックの交換
|
|
92
|
+
#_(s) {
|
|
93
|
+
const { buf: t = n, buf2: o = n } = s;
|
|
94
|
+
if (t === o) return !1;
|
|
95
|
+
const i = this.#s[t], l = this.#s[o];
|
|
96
|
+
return i ? this.#s[o] = i : delete this.#s[o], l ? this.#s[t] = l : delete this.#s[t], f.xchgbuf(s), !1;
|
|
97
|
+
}
|
|
98
|
+
//MARK: しおりの読込(BGM状態復元)
|
|
99
|
+
playLoopFromSaveObj(s) {
|
|
100
|
+
const t = String(this.val.getVal("save:const.sn.loopPlaying", "{}"));
|
|
101
|
+
if (t === "{}")
|
|
102
|
+
return this.#e(), this.clearCache(), [];
|
|
103
|
+
const o = JSON.parse(t);
|
|
104
|
+
if (s)
|
|
105
|
+
this.#e(), this.clearCache();
|
|
106
|
+
else for (const [i, l] of Object.entries(this.#s))
|
|
107
|
+
i in o || l.stopse({ buf: i });
|
|
108
|
+
return Object.entries(o).map(([i, l]) => new Promise((e) => {
|
|
109
|
+
const h = this.#s[i];
|
|
110
|
+
if (!s && h && h.fn === l) {
|
|
111
|
+
e();
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const a = "save:const.sn.sound." + i + ".", c = {
|
|
115
|
+
fn: l,
|
|
116
|
+
buf: i,
|
|
117
|
+
join: !1,
|
|
118
|
+
loop: !0,
|
|
119
|
+
volume: Number(this.val.getVal(a + "volume")),
|
|
120
|
+
start_ms: Number(this.val.getVal(a + "start_ms")),
|
|
121
|
+
end_ms: Number(this.val.getVal(a + "end_ms")),
|
|
122
|
+
ret_ms: Number(this.val.getVal(a + "ret_ms")),
|
|
123
|
+
fnc: e
|
|
124
|
+
// loaded
|
|
125
|
+
};
|
|
126
|
+
c.buf === u ? this.#u(c) : this.#i(c);
|
|
127
|
+
}));
|
|
128
|
+
}
|
|
129
|
+
destroy() {
|
|
130
|
+
this.#e(), this.clearCache();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
export {
|
|
134
|
+
V as SoundMng
|
|
135
|
+
};
|
|
136
|
+
//# sourceMappingURL=SoundMng.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SoundMng.js","sources":["../src/sn/SoundMng.ts"],"sourcesContent":["/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2018-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport {type IEvtMng, argChk_Boolean, argChk_Num} from './CmnLib';\nimport type {IHTag, HArg} from './Grammar';\nimport type {IVariable, IMain, INoticeChgVolume} from './CmnInterface';\nimport type {Config} from './Config';\nimport type {SysBase} from './SysBase';\nimport {BUF_BGM, BUF_SE, type HSndBuf, SndBuf} from './SndBuf';\n\nimport {sound, utils} from '@pixi/sound';\n\n\nexport class SoundMng {\n\t#hSndBuf\t: HSndBuf\t= {};\n\n\tconstructor(cfg: Config, hTag: IHTag, private readonly val: IVariable, main: IMain, sys: SysBase) {\n\t\thTag.volume\t\t= o=> this.#volume(o);\t\t// 音量設定(独自拡張)\n\t\thTag.fadebgm\t= o=> this.#fadebgm(o);\t\t// BGMのフェード\n\t\thTag.fadeoutbgm\t= o=> this.#fadeoutbgm(o);\t// BGMのフェードアウト\n\t\thTag.fadeoutse\t= o=> this.#fadeoutse(o);\t// 効果音のフェードアウト\n\t\thTag.fadese\t\t= o=> this.#fadese(o);\t\t// 効果音のフェード\n\t\thTag.playbgm\t= o=> this.#playbgm(o);\t\t// BGM の演奏\n\t\thTag.playse\t\t= o=> this.#playse(o);\t\t// 効果音の再生\n\t\thTag.stop_allse\t= ()=> this.#stop_allse();\t// 全効果音再生の停止\n\t\thTag.stopbgm\t= o=> this.#stopbgm(o);\t\t// BGM 演奏の停止\n\t\thTag.stopse\t\t= o=> this.#stopse(o);\t\t// 効果音再生の停止\n\t\thTag.wb\t\t\t= o=> this.#wb(o);\t\t\t// BGM フェードの終了待ち\n\t\thTag.wf\t\t\t= o=> this.#wf(o);\t\t\t// 効果音フェードの終了待ち\n\t\thTag.stopfadese\t= o=> this.#stopfadese(o);\t// 音声フェードの停止\n\t\thTag.wl\t\t\t= o=> this.#wl(o);\t\t\t// BGM 再生の終了待ち\n\t\thTag.ws\t\t\t= o=> this.#ws(o);\t\t\t// 効果音再生の終了待ち\n\t\thTag.xchgbuf\t= o=> this.#xchgbuf(o);\t\t// 再生トラックの交換\n\n\t\tval.setVal_Nochk('save', 'const.sn.loopPlaying', '{}');\n\n\t\tval.setVal_Nochk('tmp', 'const.sn.sound.codecs', JSON.stringify(utils.supported));\n\n\t\tSndBuf.init(cfg, val, main, sys, this.#hSndBuf);\n\t\tsound.disableAutoPause = true;\n\t}\n\n\t#evtMng\t: IEvtMng;\n\tsetEvtMng(evtMng: IEvtMng) {this.#evtMng = evtMng; SndBuf.setEvtMng(evtMng)}\n\tsetNoticeChgVolume(setGlbVol: INoticeChgVolume, setMovVol: INoticeChgVolume) {\n\t\tthis.val.defValTrg('sys:sn.sound.global_volume', (_, val)=> setGlbVol(sound.volumeAll = Number(val)));\n\t\tthis.val.defValTrg('sys:sn.sound.movie_volume', (_, val)=> setMovVol(Number(val)));\n\n\t\t// 起動時初期値セット\n\t\tthis.val.setVal_Nochk('sys', 'sn.sound.global_volume', <number>this.val.getVal('sys:sn.sound.global_volume', 1));\n\t\tthis.val.setVal_Nochk('sys', 'sn.sound.movie_volume', <number>this.val.getVal('sys:sn.sound.movie_volume', 1));\n\t}\n\n\t//MARK: 音量設定(独自拡張)\n\t#volume(hArg: HArg) {\n\t\tconst {buf = BUF_SE} = hArg;\n\t\tconst vnV = 'const.sn.sound.'+ buf +'.volume';\n\t\tconst arg_vol = this.#getVol(hArg, 1);\n\t\tif (Number(this.val.getVal('sys:'+ vnV)) === arg_vol) return false;\n\n\t\tthis.val.setVal_Nochk('sys', vnV, arg_vol)\t// 基準音量(sys:)\n\t\tthis.val.flush();\t// fadese()内で必ずしも呼ばれないので\n\n\t\t// 再生中音声の一時的音量も変更\n\t\thArg.time = 0;\n\t\thArg.volume = Number(this.val.getVal('save:'+ vnV));\t// 目標音量(save:)\n\t\treturn this.#fadese(hArg);\n\t}\n\t#getVol(hArg: HArg, def: number) {\n\t\tconst vol = argChk_Num(hArg, 'volume', def);\n\t\tif (vol < 0) return 0;\n\t\tif (vol > 1) return 1;\n\t\treturn vol;\n\t}\n\n\t//MARK: BGM/効果音のフェードアウト(loadから使うのでマクロ化禁止)\n\t#fadeoutbgm(hArg: HArg) {hArg.volume = 0; return this.#fadebgm(hArg)}\n\t//MARK: 効果音のフェードアウト(loadから使うのでマクロ化禁止)\n\t#fadeoutse(hArg: HArg) {hArg.volume = 0; return this.#fadese(hArg)}\n\t//MARK: BGMのフェード(loadから使うのでマクロ化禁止)\n\t#fadebgm(hArg: HArg) {hArg.buf = BUF_BGM; return this.#fadese(hArg)}\n\t//MARK: 効果音のフェード\n\t#fadese(hArg: HArg) {\n\t\tconst {buf = BUF_SE} = hArg;\n\t\tthis.#stopfadese(hArg);\n\t\tthis.#hSndBuf[buf]?.fade(hArg);\n\n\t\treturn false;\n\t}\n\n\t//MARK: BGM の演奏\n\t#playbgm(hArg: HArg) {\n\t\thArg.buf = BUF_BGM;\n\t\thArg.canskip = false;\n\t\targChk_Boolean(hArg, 'loop', true);\n\t\treturn this.#playse(hArg);\n\t}\n\n\t//MARK: 効果音の再生\n\t#playse(hArg: HArg) {\n\t\tconst {buf = BUF_SE, fn} = hArg;\n\t\tthis.#stopse({buf});\n\t\tif (! fn) throw `fnは必須です buf:${buf}`;\n\n\t\t// isSkipping()は此処のみとする。タイミングによって変わる\n\t\tif (argChk_Boolean(hArg, 'canskip', true) && this.#evtMng.isSkipping) return false;\n\n\t\tconst sb = this.#hSndBuf[buf] = new SndBuf(hArg, buf, fn);\n\t\treturn sb.needLoad;\n\t}\n\n\tclearCache() {sound.removeAll()}\n\n\t//MARK: 全効果音再生の停止\n\t#stop_allse() {\n\t\tfor (const buf of Object.keys(this.#hSndBuf)) this.#stopse({buf});\n\t\tthis.#hSndBuf = {};\n\n\t\tsound.stopAll();\t// 念のため\n\n\t\treturn false;\n\t}\n\t//MARK: BGM 演奏の停止(loadから使うのでマクロ化禁止)\n\t#stopbgm(hArg: HArg) {hArg.buf = BUF_BGM; return this.#stopse(hArg)}\n\t//MARK: 効果音再生の停止\n\t#stopse(hArg: HArg) {\n\t\tconst {buf = BUF_SE} = hArg;\n\t\tthis.#hSndBuf[buf]?.stopse(hArg);\n\n\t\treturn false;\n\t}\n\n\t//MARK: BGM フェードの終了待ち\n\t#wb(hArg: HArg) {hArg.buf = BUF_BGM; return this.#wf(hArg)}\n\n\t//MARK: 効果音フェードの終了待ち\n\t#wf(hArg: HArg) {\n\t\tconst {buf = BUF_SE} = hArg;\n\t\treturn this.#hSndBuf[buf]?.wf(hArg) ?? false;\n\t}\n\n\t//MARK: 音声フェードの停止\n\t#stopfadese(hArg: HArg) {\n\t\tconst {buf = BUF_SE} = hArg;\n\t\tthis.#hSndBuf[buf]?.stopfadese(hArg);\n\n\t\treturn false;\n\t}\n\n\t//MARK: BGM 再生の終了待ち\n\t#wl(hArg: HArg) {hArg.buf = BUF_BGM; return this.#ws(hArg)}\n\t//MARK: 効果音再生の終了待ち\n\t#ws(hArg: HArg) {\n\t\tconst {buf = BUF_SE} = hArg;\n\t\treturn this.#hSndBuf[buf]?.ws(hArg) ?? false;\n\t}\n\n\t//MARK: 再生トラックの交換\n\t#xchgbuf(hArg: HArg) {\n\t\tconst {buf: buf1 = BUF_SE, buf2 = BUF_SE} = hArg;\n\t\tif (buf1 === buf2) return false;\n\n\t\tconst a = this.#hSndBuf[buf1];\t// 分割代入の変数交換だと noUncheckedIndexedAccess エラーになるので\n\t\tconst b = this.#hSndBuf[buf2];\n\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\tif (a) this.#hSndBuf[buf2] = a; else delete this.#hSndBuf[buf2];\n\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\tif (b) this.#hSndBuf[buf1] = b; else delete this.#hSndBuf[buf1];\n\n\t\tSndBuf.xchgbuf(hArg);\n\n\t\treturn false;\n\t}\n\n\t//MARK: しおりの読込(BGM状態復元)\n\tplayLoopFromSaveObj(all_stop_and_play: boolean): Promise<void>[] {\n\t\tconst lp = String(this.val.getVal('save:const.sn.loopPlaying', '{}'));\n\t\tif (lp === '{}') {this.#stop_allse(); this.clearCache(); return []}\n/*\n\t\t\t\t\t(Now)#hSndBuf\n\t\t\t\t\tstop\tplay\n\thSaveLP\tstop\t-\t\tstop\t\t--[1]\n\t(to)\tplay\tplay\tstop/play\t--[2]\n\t\t\teq play\tplay\t-\t\t\t--[2]\n*/\n\t\tconst hSaveLP = <{[buf: string]: string}>JSON.parse(lp);\n\t\tif (all_stop_and_play) {this.#stop_allse(); this.clearCache()}\n\t\telse for (const [buf, sb] of Object.entries(this.#hSndBuf)) {\n\t\t\t// [1] #hSndBuf(再生中)だが hSaveLP(再生予定) にない buf -> stop\n\t\t\tif (! (buf in hSaveLP)) sb.stopse({buf});\n\t\t}\n\n\t\t// [2] hSaveLP(再生予定)を再生。だが#hSndBuf(再生中)の状況で処理変更\n\t\treturn Object.entries(hSaveLP).map(([buf, fn])=> new Promise(re=> {\n\t\t\tconst sb = this.#hSndBuf[buf]\n\t\t\tif (! all_stop_and_play && sb) {\n\t\t\t\tif (sb.fn === fn) {re(); return}\n\t\t\t\t//sb.stopse({buf});\t// 再生中 fn !== 再生予定 fn なら stop\n\t\t\t\t\t// #playbgm()、#playse() 内で stop するので省略\n\t\t\t}\n\n\t\t\tconst vm = 'save:const.sn.sound.'+ buf +'.';\n\t\t\tconst hArg = {\n\t\t\t\tfn,\n\t\t\t\tbuf,\n\t\t\t\tjoin\t: false,\n\t\t\t\tloop\t: true,\n\t\t\t\tvolume\t: Number(this.val.getVal(vm +'volume')),\n\t\t\t\tstart_ms: Number(this.val.getVal(vm +'start_ms')),\n\t\t\t\tend_ms\t: Number(this.val.getVal(vm +'end_ms')),\n\t\t\t\tret_ms\t: Number(this.val.getVal(vm +'ret_ms')),\n\t\t\t\tfnc\t\t: re,\t// loaded\n\t\t\t};\n\t\t\tif (hArg.buf === BUF_BGM) this.#playbgm(hArg);\n\t\t\telse this.#playse(hArg);\n\t\t}));\n\t}\n\n\tdestroy() {this.#stop_allse(); this.clearCache()}\n\n}\n"],"names":["SoundMng","cfg","hTag","val","main","sys","o","#volume","#fadebgm","#fadeoutbgm","#fadeoutse","#fadese","#playbgm","#playse","#stop_allse","#stopbgm","#stopse","#wb","#wf","#stopfadese","#wl","#ws","#xchgbuf","utils","SndBuf","#hSndBuf","sound","#evtMng","evtMng","setGlbVol","setMovVol","_","hArg","buf","BUF_SE","vnV","arg_vol","#getVol","def","vol","argChk_Num","BUF_BGM","argChk_Boolean","fn","buf1","buf2","a","b","all_stop_and_play","lp","hSaveLP","sb","re","vm"],"mappings":"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"}
|