added libraries

This commit is contained in:
Ancient Pixel committed 2026-10-23 00:22:58 +02:00
1 parent 2206867ee0
commit 051b04e83d
8 files changed
+5970

No files matched your search

Vendored Executable
+4
View File
@@ -0,0 +1,4 @@
/*! howler.js v2.2.4 | (c) 2013-2020, James Simpson of GoldFire Studios | MIT License | howlerjs.com */
!function () { "use strict"; var e = function () { this.init() }; e.prototype = { init: function () { var e = this || n; return e._counter = 1e3, e._html5AudioPool = [], e.html5PoolSize = 10, e._codecs = {}, e._howls = [], e._muted = !1, e._volume = 1, e._canPlayEvent = "canplaythrough", e._navigator = "undefined" != typeof window && window.navigator ? window.navigator : null, e.masterGain = null, e.noAudio = !1, e.usingWebAudio = !0, e.autoSuspend = !0, e.ctx = null, e.autoUnlock = !0, e._setup(), e }, volume: function (e) { var o = this || n; if (e = parseFloat(e), o.ctx || _(), void 0 !== e && e >= 0 && e <= 1) { if (o._volume = e, o._muted) return o; o.usingWebAudio && o.masterGain.gain.setValueAtTime(e, n.ctx.currentTime); for (var t = 0; t < o._howls.length; t++)if (!o._howls[t]._webAudio) for (var r = o._howls[t]._getSoundIds(), a = 0; a < r.length; a++) { var u = o._howls[t]._soundById(r[a]); u && u._node && (u._node.volume = u._volume * e) } return o } return o._volume }, mute: function (e) { var o = this || n; o.ctx || _(), o._muted = e, o.usingWebAudio && o.masterGain.gain.setValueAtTime(e ? 0 : o._volume, n.ctx.currentTime); for (var t = 0; t < o._howls.length; t++)if (!o._howls[t]._webAudio) for (var r = o._howls[t]._getSoundIds(), a = 0; a < r.length; a++) { var u = o._howls[t]._soundById(r[a]); u && u._node && (u._node.muted = !!e || u._muted) } return o }, stop: function () { for (var e = this || n, o = 0; o < e._howls.length; o++)e._howls[o].stop(); return e }, unload: function () { for (var e = this || n, o = e._howls.length - 1; o >= 0; o--)e._howls[o].unload(); return e.usingWebAudio && e.ctx && void 0 !== e.ctx.close && (e.ctx.close(), e.ctx = null, _()), e }, codecs: function (e) { return (this || n)._codecs[e.replace(/^x-/, "")] }, _setup: function () { var e = this || n; if (e.state = e.ctx ? e.ctx.state || "suspended" : "suspended", e._autoSuspend(), !e.usingWebAudio) if ("undefined" != typeof Audio) try { var o = new Audio; void 0 === o.oncanplaythrough && (e._canPlayEvent = "canplay") } catch (n) { e.noAudio = !0 } else e.noAudio = !0; try { var o = new Audio; o.muted && (e.noAudio = !0) } catch (e) { } return e.noAudio || e._setupCodecs(), e }, _setupCodecs: function () { var e = this || n, o = null; try { o = "undefined" != typeof Audio ? new Audio : null } catch (n) { return e } if (!o || "function" != typeof o.canPlayType) return e; var t = o.canPlayType("audio/mpeg;").replace(/^no$/, ""), r = e._navigator ? e._navigator.userAgent : "", a = r.match(/OPR\/(\d+)/g), u = a && parseInt(a[0].split("/")[1], 10) < 33, d = -1 !== r.indexOf("Safari") && -1 === r.indexOf("Chrome"), i = r.match(/Version\/(.*?) /), _ = d && i && parseInt(i[1], 10) < 15; return e._codecs = { mp3: !(u || !t && !o.canPlayType("audio/mp3;").replace(/^no$/, "")), mpeg: !!t, opus: !!o.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/, ""), ogg: !!o.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ""), oga: !!o.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ""), wav: !!(o.canPlayType('audio/wav; codecs="1"') || o.canPlayType("audio/wav")).replace(/^no$/, ""), aac: !!o.canPlayType("audio/aac;").replace(/^no$/, ""), caf: !!o.canPlayType("audio/x-caf;").replace(/^no$/, ""), m4a: !!(o.canPlayType("audio/x-m4a;") || o.canPlayType("audio/m4a;") || o.canPlayType("audio/aac;")).replace(/^no$/, ""), m4b: !!(o.canPlayType("audio/x-m4b;") || o.canPlayType("audio/m4b;") || o.canPlayType("audio/aac;")).replace(/^no$/, ""), mp4: !!(o.canPlayType("audio/x-mp4;") || o.canPlayType("audio/mp4;") || o.canPlayType("audio/aac;")).replace(/^no$/, ""), weba: !(_ || !o.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, "")), webm: !(_ || !o.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, "")), dolby: !!o.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/, ""), flac: !!(o.canPlayType("audio/x-flac;") || o.canPlayType("audio/flac;")).replace(/^no$/, "") }, e }, _unlockAudio: function () { var e = this || n; if (!e._audioUnlocked && e.ctx) { e._audioUnlocked = !1, e.autoUnlock = !1, e._mobileUnloaded || 44100 === e.ctx.sampleRate || (e._mobileUnloaded = !0, e.unload()), e._scratchBuffer = e.ctx.createBuffer(1, 1, 22050); var o = function (n) { for (; e._html5AudioPool.length < e.html5PoolSize;)try { var t = new Audio; t._unlocked = !0, e._releaseHtml5Audio(t) } catch (n) { e.noAudio = !0; break } for (var r = 0; r < e._howls.length; r++)if (!e._howls[r]._webAudio) for (var a = e._howls[r]._getSoundIds(), u = 0; u < a.length; u++) { var d = e._howls[r]._soundById(a[u]); d && d._node && !d._node._unlocked && (d._node._unlocked = !0, d._node.load()) } e._autoResume(); var i = e.ctx.createBufferSource(); i.buffer = e._scratchBuffer, i.connect(e.ctx.destination), void 0 === i.start ? i.noteOn(0) : i.start(0), "function" == typeof e.ctx.resume && e.ctx.resume(), i.onended = function () { i.disconnect(0), e._audioUnlocked = !0, document.removeEventListener("touchstart", o, !0), document.removeEvenLine truncated
/*! Spatial Plugin */
!function () { "use strict"; HowlerGlobal.prototype._pos = [0, 0, 0], HowlerGlobal.prototype._orientation = [0, 0, -1, 0, 1, 0], HowlerGlobal.prototype.stereo = function (e) { var n = this; if (!n.ctx || !n.ctx.listener) return n; for (var t = n._howls.length - 1; t >= 0; t--)n._howls[t].stereo(e); return n }, HowlerGlobal.prototype.pos = function (e, n, t) { var r = this; return r.ctx && r.ctx.listener ? (n = "number" != typeof n ? r._pos[1] : n, t = "number" != typeof t ? r._pos[2] : t, "number" != typeof e ? r._pos : (r._pos = [e, n, t], void 0 !== r.ctx.listener.positionX ? (r.ctx.listener.positionX.setTargetAtTime(r._pos[0], Howler.ctx.currentTime, .1), r.ctx.listener.positionY.setTargetAtTime(r._pos[1], Howler.ctx.currentTime, .1), r.ctx.listener.positionZ.setTargetAtTime(r._pos[2], Howler.ctx.currentTime, .1)) : r.ctx.listener.setPosition(r._pos[0], r._pos[1], r._pos[2]), r)) : r }, HowlerGlobal.prototype.orientation = function (e, n, t, r, o, i) { var a = this; if (!a.ctx || !a.ctx.listener) return a; var p = a._orientation; return n = "number" != typeof n ? p[1] : n, t = "number" != typeof t ? p[2] : t, r = "number" != typeof r ? p[3] : r, o = "number" != typeof o ? p[4] : o, i = "number" != typeof i ? p[5] : i, "number" != typeof e ? p : (a._orientation = [e, n, t, r, o, i], void 0 !== a.ctx.listener.forwardX ? (a.ctx.listener.forwardX.setTargetAtTime(e, Howler.ctx.currentTime, .1), a.ctx.listener.forwardY.setTargetAtTime(n, Howler.ctx.currentTime, .1), a.ctx.listener.forwardZ.setTargetAtTime(t, Howler.ctx.currentTime, .1), a.ctx.listener.upX.setTargetAtTime(r, Howler.ctx.currentTime, .1), a.ctx.listener.upY.setTargetAtTime(o, Howler.ctx.currentTime, .1), a.ctx.listener.upZ.setTargetAtTime(i, Howler.ctx.currentTime, .1)) : a.ctx.listener.setOrientation(e, n, t, r, o, i), a) }, Howl.prototype.init = function (e) { return function (n) { var t = this; return t._orientation = n.orientation || [1, 0, 0], t._stereo = n.stereo || null, t._pos = n.pos || null, t._pannerAttr = { coneInnerAngle: void 0 !== n.coneInnerAngle ? n.coneInnerAngle : 360, coneOuterAngle: void 0 !== n.coneOuterAngle ? n.coneOuterAngle : 360, coneOuterGain: void 0 !== n.coneOuterGain ? n.coneOuterGain : 0, distanceModel: void 0 !== n.distanceModel ? n.distanceModel : "inverse", maxDistance: void 0 !== n.maxDistance ? n.maxDistance : 1e4, panningModel: void 0 !== n.panningModel ? n.panningModel : "HRTF", refDistance: void 0 !== n.refDistance ? n.refDistance : 1, rolloffFactor: void 0 !== n.rolloffFactor ? n.rolloffFactor : 1 }, t._onstereo = n.onstereo ? [{ fn: n.onstereo }] : [], t._onpos = n.onpos ? [{ fn: n.onpos }] : [], t._onorientation = n.onorientation ? [{ fn: n.onorientation }] : [], e.call(this, n) } }(Howl.prototype.init), Howl.prototype.stereo = function (n, t) { var r = this; if (!r._webAudio) return r; if ("loaded" !== r._state) return r._queue.push({ event: "stereo", action: function () { r.stereo(n, t) } }), r; var o = void 0 === Howler.ctx.createStereoPanner ? "spatial" : "stereo"; if (void 0 === t) { if ("number" != typeof n) return r._stereo; r._stereo = n, r._pos = [n, 0, 0] } for (var i = r._getSoundIds(t), a = 0; a < i.length; a++) { var p = r._soundById(i[a]); if (p) { if ("number" != typeof n) return p._stereo; p._stereo = n, p._pos = [n, 0, 0], p._node && (p._pannerAttr.panningModel = "equalpower", p._panner && p._panner.pan || e(p, o), "spatial" === o ? void 0 !== p._panner.positionX ? (p._panner.positionX.setValueAtTime(n, Howler.ctx.currentTime), p._panner.positionY.setValueAtTime(0, Howler.ctx.currentTime), p._panner.positionZ.setValueAtTime(0, Howler.ctx.currentTime)) : p._panner.setPosition(n, 0, 0) : p._panner.pan.setValueAtTime(n, Howler.ctx.currentTime)), r._emit("stereo", p._id) } } return r }, Howl.prototype.pos = function (n, t, r, o) { var i = this; if (!i._webAudio) return i; if ("loaded" !== i._state) return i._queue.push({ event: "pos", action: function () { i.pos(n, t, r, o) } }), i; if (t = "number" != typeof t ? 0 : t, r = "number" != typeof r ? -.5 : r, void 0 === o) { if ("number" != typeof n) return i._pos; i._pos = [n, t, r] } for (var a = i._getSoundIds(o), p = 0; p < a.length; p++) { var s = i._soundById(a[p]); if (s) { if ("number" != typeof n) return s._pos; s._pos = [n, t, r], s._node && (s._panner && !s._panner.pan || e(s, "spatial"), void 0 !== s._panner.positionX ? (s._panner.positionX.setValueAtTime(n, Howler.ctx.currentTime), s._panner.positionY.setValueAtTime(t, Howler.ctx.currentTime), s._panner.positionZ.setValueAtTime(r, Howler.ctx.currentTime)) : s._panner.setPosition(n, t, r)), i._emit("pos", s._id) } } return i }, Howl.prototype.orientation = function (n, t, r, o) { var i = this; if (!i._webAudio) return i; if ("loaded" !== i._state) return i._queue.push({ event: "orientation", action: function () { i.orientation(n, t, r, o) } }), i; if (t = "number" != typeof t ? i._orientation[1] : t, r = "number" != typeof r ? i._orientation[2] : r, void 0 === o) { if ("number" != tLine truncated