window.__FluidSynthReady = new Promise(function (resolve) { var FLUIDSYNTH_SRC; if (window.__FLUIDSYNTH_CDN) { FLUIDSYNTH_SRC = window.__FLUIDSYNTH_CDN; } else if (window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1') { FLUIDSYNTH_SRC = 'https://cdn.jsdelivr.net/npm/@enikey87/fluidsynth-emscripten@0.1.1/dist/libfluidsynth-2.3.0-sf3.js'; } else { FLUIDSYNTH_SRC = '/static/js/vendor/libfluidsynth-2.3.0-sf3.js'; } var script = document.createElement('script'); script.type = 'module'; script.textContent = [ 'import FluidsynthModule from "' + FLUIDSYNTH_SRC + '";', 'window.__FluidSynthModuleFactory = FluidsynthModule;', 'window.__FluidSynthReadyResolver = function() { window.__FluidSynthReadyResolve(); };', 'console.log("[FluidSynth] Loaded from:", "' + FLUIDSYNTH_SRC + '");' ].join('\n'); document.head.appendChild(script); window.__FluidSynthReadyResolve = resolve; });