libadlmidi-js 1.2.0 → 2.1.0

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.
Files changed (76) hide show
  1. package/README.md +8 -5
  2. package/dist/core.d.ts +191 -4
  3. package/dist/fm_banks/manifest.json +1 -1
  4. package/dist/libadlmidi.d.ts +146 -66
  5. package/dist/libadlmidi.dosbox.browser.js +1 -1
  6. package/dist/libadlmidi.dosbox.browser.wasm +0 -0
  7. package/dist/libadlmidi.dosbox.core.js +1 -1
  8. package/dist/libadlmidi.dosbox.core.wasm +0 -0
  9. package/dist/libadlmidi.dosbox.js +0 -0
  10. package/dist/libadlmidi.dosbox.processor.js +247 -74
  11. package/dist/libadlmidi.dosbox.slim.browser.js +1 -1
  12. package/dist/libadlmidi.dosbox.slim.browser.wasm +0 -0
  13. package/dist/libadlmidi.dosbox.slim.core.js +1 -1
  14. package/dist/libadlmidi.dosbox.slim.core.wasm +0 -0
  15. package/dist/libadlmidi.dosbox.slim.js +0 -0
  16. package/dist/libadlmidi.dosbox.slim.processor.js +247 -74
  17. package/dist/libadlmidi.full.browser.js +1 -1
  18. package/dist/libadlmidi.full.browser.wasm +0 -0
  19. package/dist/libadlmidi.full.core.js +1 -1
  20. package/dist/libadlmidi.full.core.wasm +0 -0
  21. package/dist/libadlmidi.full.js +0 -0
  22. package/dist/libadlmidi.full.processor.js +247 -74
  23. package/dist/libadlmidi.full.slim.browser.js +1 -1
  24. package/dist/libadlmidi.full.slim.browser.wasm +0 -0
  25. package/dist/libadlmidi.full.slim.core.js +1 -1
  26. package/dist/libadlmidi.full.slim.core.wasm +0 -0
  27. package/dist/libadlmidi.full.slim.js +0 -0
  28. package/dist/libadlmidi.full.slim.processor.js +247 -74
  29. package/dist/libadlmidi.js +473 -24
  30. package/dist/libadlmidi.js.map +3 -3
  31. package/dist/libadlmidi.light.browser.js +1 -1
  32. package/dist/libadlmidi.light.browser.wasm +0 -0
  33. package/dist/libadlmidi.light.core.js +1 -1
  34. package/dist/libadlmidi.light.core.wasm +0 -0
  35. package/dist/libadlmidi.light.js +0 -0
  36. package/dist/libadlmidi.light.processor.js +247 -74
  37. package/dist/libadlmidi.light.slim.browser.js +1 -1
  38. package/dist/libadlmidi.light.slim.browser.wasm +0 -0
  39. package/dist/libadlmidi.light.slim.core.js +1 -1
  40. package/dist/libadlmidi.light.slim.core.wasm +0 -0
  41. package/dist/libadlmidi.light.slim.js +0 -0
  42. package/dist/libadlmidi.light.slim.processor.js +247 -74
  43. package/dist/libadlmidi.nuked.browser.js +1 -1
  44. package/dist/libadlmidi.nuked.browser.wasm +0 -0
  45. package/dist/libadlmidi.nuked.core.js +1 -1
  46. package/dist/libadlmidi.nuked.core.wasm +0 -0
  47. package/dist/libadlmidi.nuked.js +0 -0
  48. package/dist/libadlmidi.nuked.processor.js +247 -74
  49. package/dist/libadlmidi.nuked.slim.browser.js +1 -1
  50. package/dist/libadlmidi.nuked.slim.browser.wasm +0 -0
  51. package/dist/libadlmidi.nuked.slim.core.js +1 -1
  52. package/dist/libadlmidi.nuked.slim.core.wasm +0 -0
  53. package/dist/libadlmidi.nuked.slim.js +0 -0
  54. package/dist/libadlmidi.nuked.slim.processor.js +247 -74
  55. package/dist/profiles/dosbox.d.ts +7 -2
  56. package/dist/profiles/dosbox.slim.d.ts +7 -2
  57. package/dist/profiles/full.d.ts +7 -2
  58. package/dist/profiles/full.slim.d.ts +7 -2
  59. package/dist/profiles/light.d.ts +7 -2
  60. package/dist/profiles/light.slim.d.ts +7 -2
  61. package/dist/profiles/nuked.d.ts +7 -2
  62. package/dist/profiles/nuked.slim.d.ts +7 -2
  63. package/dist/utils/constants.d.ts +61 -0
  64. package/package.json +30 -9
  65. package/src/core.js +361 -4
  66. package/src/libadlmidi.js +379 -58
  67. package/src/processor.js +210 -12
  68. package/src/profiles/dosbox.js +20 -10
  69. package/src/profiles/dosbox.slim.js +20 -10
  70. package/src/profiles/full.js +21 -11
  71. package/src/profiles/full.slim.js +21 -11
  72. package/src/profiles/light.js +21 -11
  73. package/src/profiles/light.slim.js +21 -11
  74. package/src/profiles/nuked.js +21 -11
  75. package/src/profiles/nuked.slim.js +21 -11
  76. package/src/utils/constants.js +53 -0
@@ -2606,7 +2606,7 @@ async function createADLMIDI(moduleArg = {}) {
2606
2606
  Module["setValue"] = setValue;
2607
2607
  Module["getValue"] = getValue;
2608
2608
  Module["UTF8ToString"] = UTF8ToString;
2609
- var _adl_init, _adl_close, _adl_setNumChips, _adl_getNumChips, _adl_getNumChipsObtained, _adl_setBank, _adl_getBanksCount, _adl_getBankNames, _adl_reserveBanks, _adl_getBank, _adl_getInstrument, _adl_setInstrument, _adl_loadEmbeddedBank, _adl_setNumFourOpsChn, _adl_getNumFourOpsChn, _adl_setPercMode, _adl_setHVibrato, _adl_setHTremolo, _adl_setScaleModulators, _adl_setFullRangeBrightness, _adl_setAutoArpeggio, _adl_getAutoArpeggio, _adl_setLoopEnabled, _adl_setLoopCount, _adl_setSoftPanEnabled, _adl_setVolumeRangeModel, _adl_getVolumeRangeModel, _adl_setChannelAllocMode, _adl_getChannelAllocMode, _adl_openBankFile, _adl_openBankData, _adl_openData, _adl_chipEmulatorName, _adl_switchEmulator, _adl_setRunAtPcmRate, _adl_linkedLibraryVersion, _adl_linkedVersion, _adl_errorString, _adl_errorInfo, _adl_reset, _adl_totalTimeLength, _adl_positionTell, _adl_positionSeek, _adl_positionRewind, _adl_setTempo, _adl_metaMusicTitle, _adl_metaMusicCopyright, _adl_play, _adl_playFormat, _adl_generate, _adl_generateFormat, _adl_atEnd, _adl_panic, _adl_rt_resetState, _adl_rt_noteOn, _adl_rt_noteOff, _adl_rt_noteAfterTouch, _adl_rt_channelAfterTouch, _adl_rt_controllerChange, _adl_rt_patchChange, _adl_rt_pitchBend, _adl_rt_pitchBendML, _adl_rt_bankChangeLSB, _adl_rt_bankChangeMSB, _adl_rt_bankChange, __emscripten_timeout, _malloc, _free, __emscripten_stack_restore, __emscripten_stack_alloc, _emscripten_stack_get_current, memory, __indirect_function_table, wasmMemory;
2609
+ var _adl_init, _adl_close, _adl_setNumChips, _adl_getNumChips, _adl_getNumChipsObtained, _adl_setBank, _adl_getBanksCount, _adl_getBankNames, _adl_reserveBanks, _adl_getBank, _adl_getBankId, _adl_removeBank, _adl_getFirstBank, _adl_getNextBank, _adl_getInstrument, _adl_setInstrument, _adl_loadEmbeddedBank, _adl_setNumFourOpsChn, _adl_getNumFourOpsChn, _adl_getNumFourOpsChnObtained, _adl_setHVibrato, _adl_getHVibrato, _adl_setHTremolo, _adl_getHTremolo, _adl_setScaleModulators, _adl_setFullRangeBrightness, _adl_setAutoArpeggio, _adl_getAutoArpeggio, _adl_setLoopEnabled, _adl_setLoopCount, _adl_setLoopHooksOnly, _adl_setSoftPanEnabled, _adl_setVolumeRangeModel, _adl_getVolumeRangeModel, _adl_setChannelAllocMode, _adl_getChannelAllocMode, _adl_openBankFile, _adl_openBankData, _adl_openData, _adl_selectSongNum, _adl_getSongsCount, _adl_chipEmulatorName, _adl_switchEmulator, _adl_setRunAtPcmRate, _adl_linkedLibraryVersion, _adl_linkedVersion, _adl_errorString, _adl_errorInfo, _adl_reset, _adl_totalTimeLength, _adl_loopStartTime, _adl_loopEndTime, _adl_positionTell, _adl_positionSeek, _adl_positionRewind, _adl_setTempo, _adl_describeChannels, _adl_metaMusicTitle, _adl_metaMusicCopyright, _adl_metaTrackTitleCount, _adl_metaTrackTitle, _adl_metaMarkerCount, _adl_play, _adl_playFormat, _adl_generate, _adl_generateFormat, _adl_atEnd, _adl_trackCount, _adl_setTrackOptions, _adl_setChannelEnabled, _adl_panic, _adl_rt_resetState, _adl_rt_noteOn, _adl_rt_noteOff, _adl_rt_noteAfterTouch, _adl_rt_channelAfterTouch, _adl_rt_controllerChange, _adl_rt_patchChange, _adl_rt_pitchBend, _adl_rt_pitchBendML, _adl_rt_bankChangeLSB, _adl_rt_bankChangeMSB, _adl_rt_bankChange, _adl_rt_systemExclusive, __emscripten_timeout, _malloc, _free, __emscripten_stack_restore, __emscripten_stack_alloc, _emscripten_stack_get_current, memory, __indirect_function_table, wasmMemory;
2610
2610
  function assignWasmExports(wasmExports2) {
2611
2611
  _adl_init = Module["_adl_init"] = wasmExports2["p"];
2612
2612
  _adl_close = Module["_adl_close"] = wasmExports2["q"];
@@ -2618,67 +2618,86 @@ async function createADLMIDI(moduleArg = {}) {
2618
2618
  _adl_getBankNames = Module["_adl_getBankNames"] = wasmExports2["w"];
2619
2619
  _adl_reserveBanks = Module["_adl_reserveBanks"] = wasmExports2["x"];
2620
2620
  _adl_getBank = Module["_adl_getBank"] = wasmExports2["y"];
2621
- _adl_getInstrument = Module["_adl_getInstrument"] = wasmExports2["z"];
2622
- _adl_setInstrument = Module["_adl_setInstrument"] = wasmExports2["A"];
2623
- _adl_loadEmbeddedBank = Module["_adl_loadEmbeddedBank"] = wasmExports2["B"];
2624
- _adl_setNumFourOpsChn = Module["_adl_setNumFourOpsChn"] = wasmExports2["C"];
2625
- _adl_getNumFourOpsChn = Module["_adl_getNumFourOpsChn"] = wasmExports2["D"];
2626
- _adl_setPercMode = Module["_adl_setPercMode"] = wasmExports2["E"];
2627
- _adl_setHVibrato = Module["_adl_setHVibrato"] = wasmExports2["F"];
2628
- _adl_setHTremolo = Module["_adl_setHTremolo"] = wasmExports2["G"];
2629
- _adl_setScaleModulators = Module["_adl_setScaleModulators"] = wasmExports2["H"];
2630
- _adl_setFullRangeBrightness = Module["_adl_setFullRangeBrightness"] = wasmExports2["I"];
2631
- _adl_setAutoArpeggio = Module["_adl_setAutoArpeggio"] = wasmExports2["J"];
2632
- _adl_getAutoArpeggio = Module["_adl_getAutoArpeggio"] = wasmExports2["K"];
2633
- _adl_setLoopEnabled = Module["_adl_setLoopEnabled"] = wasmExports2["L"];
2634
- _adl_setLoopCount = Module["_adl_setLoopCount"] = wasmExports2["M"];
2635
- _adl_setSoftPanEnabled = Module["_adl_setSoftPanEnabled"] = wasmExports2["N"];
2636
- _adl_setVolumeRangeModel = Module["_adl_setVolumeRangeModel"] = wasmExports2["O"];
2637
- _adl_getVolumeRangeModel = Module["_adl_getVolumeRangeModel"] = wasmExports2["P"];
2638
- _adl_setChannelAllocMode = Module["_adl_setChannelAllocMode"] = wasmExports2["Q"];
2639
- _adl_getChannelAllocMode = Module["_adl_getChannelAllocMode"] = wasmExports2["R"];
2640
- _adl_openBankFile = Module["_adl_openBankFile"] = wasmExports2["S"];
2641
- _adl_openBankData = Module["_adl_openBankData"] = wasmExports2["T"];
2642
- _adl_openData = Module["_adl_openData"] = wasmExports2["U"];
2643
- _adl_chipEmulatorName = Module["_adl_chipEmulatorName"] = wasmExports2["V"];
2644
- _adl_switchEmulator = Module["_adl_switchEmulator"] = wasmExports2["W"];
2645
- _adl_setRunAtPcmRate = Module["_adl_setRunAtPcmRate"] = wasmExports2["X"];
2646
- _adl_linkedLibraryVersion = Module["_adl_linkedLibraryVersion"] = wasmExports2["Y"];
2647
- _adl_linkedVersion = Module["_adl_linkedVersion"] = wasmExports2["Z"];
2648
- _adl_errorString = Module["_adl_errorString"] = wasmExports2["_"];
2649
- _adl_errorInfo = Module["_adl_errorInfo"] = wasmExports2["$"];
2650
- _adl_reset = Module["_adl_reset"] = wasmExports2["aa"];
2651
- _adl_totalTimeLength = Module["_adl_totalTimeLength"] = wasmExports2["ba"];
2652
- _adl_positionTell = Module["_adl_positionTell"] = wasmExports2["ca"];
2653
- _adl_positionSeek = Module["_adl_positionSeek"] = wasmExports2["da"];
2654
- _adl_positionRewind = Module["_adl_positionRewind"] = wasmExports2["ea"];
2655
- _adl_setTempo = Module["_adl_setTempo"] = wasmExports2["fa"];
2656
- _adl_metaMusicTitle = Module["_adl_metaMusicTitle"] = wasmExports2["ga"];
2657
- _adl_metaMusicCopyright = Module["_adl_metaMusicCopyright"] = wasmExports2["ha"];
2658
- _adl_play = Module["_adl_play"] = wasmExports2["ia"];
2659
- _adl_playFormat = Module["_adl_playFormat"] = wasmExports2["ja"];
2660
- _adl_generate = Module["_adl_generate"] = wasmExports2["ka"];
2661
- _adl_generateFormat = Module["_adl_generateFormat"] = wasmExports2["la"];
2662
- _adl_atEnd = Module["_adl_atEnd"] = wasmExports2["ma"];
2663
- _adl_panic = Module["_adl_panic"] = wasmExports2["na"];
2664
- _adl_rt_resetState = Module["_adl_rt_resetState"] = wasmExports2["oa"];
2665
- _adl_rt_noteOn = Module["_adl_rt_noteOn"] = wasmExports2["pa"];
2666
- _adl_rt_noteOff = Module["_adl_rt_noteOff"] = wasmExports2["qa"];
2667
- _adl_rt_noteAfterTouch = Module["_adl_rt_noteAfterTouch"] = wasmExports2["ra"];
2668
- _adl_rt_channelAfterTouch = Module["_adl_rt_channelAfterTouch"] = wasmExports2["sa"];
2669
- _adl_rt_controllerChange = Module["_adl_rt_controllerChange"] = wasmExports2["ta"];
2670
- _adl_rt_patchChange = Module["_adl_rt_patchChange"] = wasmExports2["ua"];
2671
- _adl_rt_pitchBend = Module["_adl_rt_pitchBend"] = wasmExports2["va"];
2672
- _adl_rt_pitchBendML = Module["_adl_rt_pitchBendML"] = wasmExports2["wa"];
2673
- _adl_rt_bankChangeLSB = Module["_adl_rt_bankChangeLSB"] = wasmExports2["xa"];
2674
- _adl_rt_bankChangeMSB = Module["_adl_rt_bankChangeMSB"] = wasmExports2["ya"];
2675
- _adl_rt_bankChange = Module["_adl_rt_bankChange"] = wasmExports2["za"];
2676
- __emscripten_timeout = wasmExports2["Aa"];
2677
- _malloc = Module["_malloc"] = wasmExports2["Ba"];
2678
- _free = Module["_free"] = wasmExports2["Ca"];
2679
- __emscripten_stack_restore = wasmExports2["Da"];
2680
- __emscripten_stack_alloc = wasmExports2["Ea"];
2681
- _emscripten_stack_get_current = wasmExports2["Fa"];
2621
+ _adl_getBankId = Module["_adl_getBankId"] = wasmExports2["z"];
2622
+ _adl_removeBank = Module["_adl_removeBank"] = wasmExports2["A"];
2623
+ _adl_getFirstBank = Module["_adl_getFirstBank"] = wasmExports2["B"];
2624
+ _adl_getNextBank = Module["_adl_getNextBank"] = wasmExports2["C"];
2625
+ _adl_getInstrument = Module["_adl_getInstrument"] = wasmExports2["D"];
2626
+ _adl_setInstrument = Module["_adl_setInstrument"] = wasmExports2["E"];
2627
+ _adl_loadEmbeddedBank = Module["_adl_loadEmbeddedBank"] = wasmExports2["F"];
2628
+ _adl_setNumFourOpsChn = Module["_adl_setNumFourOpsChn"] = wasmExports2["G"];
2629
+ _adl_getNumFourOpsChn = Module["_adl_getNumFourOpsChn"] = wasmExports2["H"];
2630
+ _adl_getNumFourOpsChnObtained = Module["_adl_getNumFourOpsChnObtained"] = wasmExports2["I"];
2631
+ _adl_setHVibrato = Module["_adl_setHVibrato"] = wasmExports2["J"];
2632
+ _adl_getHVibrato = Module["_adl_getHVibrato"] = wasmExports2["K"];
2633
+ _adl_setHTremolo = Module["_adl_setHTremolo"] = wasmExports2["L"];
2634
+ _adl_getHTremolo = Module["_adl_getHTremolo"] = wasmExports2["M"];
2635
+ _adl_setScaleModulators = Module["_adl_setScaleModulators"] = wasmExports2["N"];
2636
+ _adl_setFullRangeBrightness = Module["_adl_setFullRangeBrightness"] = wasmExports2["O"];
2637
+ _adl_setAutoArpeggio = Module["_adl_setAutoArpeggio"] = wasmExports2["P"];
2638
+ _adl_getAutoArpeggio = Module["_adl_getAutoArpeggio"] = wasmExports2["Q"];
2639
+ _adl_setLoopEnabled = Module["_adl_setLoopEnabled"] = wasmExports2["R"];
2640
+ _adl_setLoopCount = Module["_adl_setLoopCount"] = wasmExports2["S"];
2641
+ _adl_setLoopHooksOnly = Module["_adl_setLoopHooksOnly"] = wasmExports2["T"];
2642
+ _adl_setSoftPanEnabled = Module["_adl_setSoftPanEnabled"] = wasmExports2["U"];
2643
+ _adl_setVolumeRangeModel = Module["_adl_setVolumeRangeModel"] = wasmExports2["V"];
2644
+ _adl_getVolumeRangeModel = Module["_adl_getVolumeRangeModel"] = wasmExports2["W"];
2645
+ _adl_setChannelAllocMode = Module["_adl_setChannelAllocMode"] = wasmExports2["X"];
2646
+ _adl_getChannelAllocMode = Module["_adl_getChannelAllocMode"] = wasmExports2["Y"];
2647
+ _adl_openBankFile = Module["_adl_openBankFile"] = wasmExports2["Z"];
2648
+ _adl_openBankData = Module["_adl_openBankData"] = wasmExports2["_"];
2649
+ _adl_openData = Module["_adl_openData"] = wasmExports2["$"];
2650
+ _adl_selectSongNum = Module["_adl_selectSongNum"] = wasmExports2["aa"];
2651
+ _adl_getSongsCount = Module["_adl_getSongsCount"] = wasmExports2["ba"];
2652
+ _adl_chipEmulatorName = Module["_adl_chipEmulatorName"] = wasmExports2["ca"];
2653
+ _adl_switchEmulator = Module["_adl_switchEmulator"] = wasmExports2["da"];
2654
+ _adl_setRunAtPcmRate = Module["_adl_setRunAtPcmRate"] = wasmExports2["ea"];
2655
+ _adl_linkedLibraryVersion = Module["_adl_linkedLibraryVersion"] = wasmExports2["fa"];
2656
+ _adl_linkedVersion = Module["_adl_linkedVersion"] = wasmExports2["ga"];
2657
+ _adl_errorString = Module["_adl_errorString"] = wasmExports2["ha"];
2658
+ _adl_errorInfo = Module["_adl_errorInfo"] = wasmExports2["ia"];
2659
+ _adl_reset = Module["_adl_reset"] = wasmExports2["ja"];
2660
+ _adl_totalTimeLength = Module["_adl_totalTimeLength"] = wasmExports2["ka"];
2661
+ _adl_loopStartTime = Module["_adl_loopStartTime"] = wasmExports2["la"];
2662
+ _adl_loopEndTime = Module["_adl_loopEndTime"] = wasmExports2["ma"];
2663
+ _adl_positionTell = Module["_adl_positionTell"] = wasmExports2["na"];
2664
+ _adl_positionSeek = Module["_adl_positionSeek"] = wasmExports2["oa"];
2665
+ _adl_positionRewind = Module["_adl_positionRewind"] = wasmExports2["pa"];
2666
+ _adl_setTempo = Module["_adl_setTempo"] = wasmExports2["qa"];
2667
+ _adl_describeChannels = Module["_adl_describeChannels"] = wasmExports2["ra"];
2668
+ _adl_metaMusicTitle = Module["_adl_metaMusicTitle"] = wasmExports2["sa"];
2669
+ _adl_metaMusicCopyright = Module["_adl_metaMusicCopyright"] = wasmExports2["ta"];
2670
+ _adl_metaTrackTitleCount = Module["_adl_metaTrackTitleCount"] = wasmExports2["ua"];
2671
+ _adl_metaTrackTitle = Module["_adl_metaTrackTitle"] = wasmExports2["va"];
2672
+ _adl_metaMarkerCount = Module["_adl_metaMarkerCount"] = wasmExports2["wa"];
2673
+ _adl_play = Module["_adl_play"] = wasmExports2["xa"];
2674
+ _adl_playFormat = Module["_adl_playFormat"] = wasmExports2["ya"];
2675
+ _adl_generate = Module["_adl_generate"] = wasmExports2["za"];
2676
+ _adl_generateFormat = Module["_adl_generateFormat"] = wasmExports2["Aa"];
2677
+ _adl_atEnd = Module["_adl_atEnd"] = wasmExports2["Ba"];
2678
+ _adl_trackCount = Module["_adl_trackCount"] = wasmExports2["Ca"];
2679
+ _adl_setTrackOptions = Module["_adl_setTrackOptions"] = wasmExports2["Da"];
2680
+ _adl_setChannelEnabled = Module["_adl_setChannelEnabled"] = wasmExports2["Ea"];
2681
+ _adl_panic = Module["_adl_panic"] = wasmExports2["Fa"];
2682
+ _adl_rt_resetState = Module["_adl_rt_resetState"] = wasmExports2["Ga"];
2683
+ _adl_rt_noteOn = Module["_adl_rt_noteOn"] = wasmExports2["Ha"];
2684
+ _adl_rt_noteOff = Module["_adl_rt_noteOff"] = wasmExports2["Ia"];
2685
+ _adl_rt_noteAfterTouch = Module["_adl_rt_noteAfterTouch"] = wasmExports2["Ja"];
2686
+ _adl_rt_channelAfterTouch = Module["_adl_rt_channelAfterTouch"] = wasmExports2["Ka"];
2687
+ _adl_rt_controllerChange = Module["_adl_rt_controllerChange"] = wasmExports2["La"];
2688
+ _adl_rt_patchChange = Module["_adl_rt_patchChange"] = wasmExports2["Ma"];
2689
+ _adl_rt_pitchBend = Module["_adl_rt_pitchBend"] = wasmExports2["Na"];
2690
+ _adl_rt_pitchBendML = Module["_adl_rt_pitchBendML"] = wasmExports2["Oa"];
2691
+ _adl_rt_bankChangeLSB = Module["_adl_rt_bankChangeLSB"] = wasmExports2["Pa"];
2692
+ _adl_rt_bankChangeMSB = Module["_adl_rt_bankChangeMSB"] = wasmExports2["Qa"];
2693
+ _adl_rt_bankChange = Module["_adl_rt_bankChange"] = wasmExports2["Ra"];
2694
+ _adl_rt_systemExclusive = Module["_adl_rt_systemExclusive"] = wasmExports2["Sa"];
2695
+ __emscripten_timeout = wasmExports2["Ta"];
2696
+ _malloc = Module["_malloc"] = wasmExports2["Ua"];
2697
+ _free = Module["_free"] = wasmExports2["Va"];
2698
+ __emscripten_stack_restore = wasmExports2["Wa"];
2699
+ __emscripten_stack_alloc = wasmExports2["Xa"];
2700
+ _emscripten_stack_get_current = wasmExports2["Ya"];
2682
2701
  memory = wasmMemory = wasmExports2["n"];
2683
2702
  __indirect_function_table = wasmExports2["__indirect_function_table"];
2684
2703
  }
@@ -2881,6 +2900,8 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
2881
2900
  // Deep vibrato
2882
2901
  deepTremolo: false,
2883
2902
  // Deep tremolo
2903
+ emulator: void 0,
2904
+ // Emulator core (undefined = libADLMIDI default)
2884
2905
  ...options.processorOptions?.settings
2885
2906
  };
2886
2907
  this.initWasm(options.processorOptions);
@@ -2922,6 +2943,9 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
2922
2943
  */
2923
2944
  applySettings(settings) {
2924
2945
  if (!this.midi) return;
2946
+ if (settings.emulator !== void 0) {
2947
+ this.adl._adl_switchEmulator(this.midi, settings.emulator);
2948
+ }
2925
2949
  if (settings.numChips !== void 0) {
2926
2950
  this.adl._adl_setNumChips(this.midi, settings.numChips);
2927
2951
  }
@@ -3090,8 +3114,8 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3090
3114
  this.applySettings(msg.settings);
3091
3115
  this.port.postMessage({ type: "configured" });
3092
3116
  break;
3093
- case "loadBank":
3094
- this.loadBank(msg.data);
3117
+ case "loadBankData":
3118
+ this.loadBankData(msg.data);
3095
3119
  break;
3096
3120
  case "setBank": {
3097
3121
  const result = this.adl._adl_setBank(this.midi, msg.bank);
@@ -3117,6 +3141,9 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3117
3141
  case "getNumFourOpChannels":
3118
3142
  this.port.postMessage({ type: "numFourOpChannels", channels: this.adl._adl_getNumFourOpsChn(this.midi) });
3119
3143
  break;
3144
+ case "getNumFourOpChannelsObtained":
3145
+ this.port.postMessage({ type: "numFourOpChannelsObtained", channels: this.adl._adl_getNumFourOpsChnObtained(this.midi) });
3146
+ break;
3120
3147
  case "setScaleModulators":
3121
3148
  this.adl._adl_setScaleModulators(this.midi, msg.enabled ? 1 : 0);
3122
3149
  break;
@@ -3135,18 +3162,24 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3135
3162
  case "getChannelAllocMode":
3136
3163
  this.port.postMessage({ type: "channelAllocMode", mode: this.adl._adl_getChannelAllocMode(this.midi) });
3137
3164
  break;
3138
- case "setVolumeModel":
3165
+ case "setVolumeRangeModel":
3139
3166
  this.adl._adl_setVolumeRangeModel(this.midi, msg.model);
3140
3167
  break;
3141
- case "setPercMode":
3142
- this.adl._adl_setPercMode(this.midi, msg.enabled ? 1 : 0);
3143
- break;
3144
- case "setVibrato":
3168
+ case "setDeepVibrato":
3145
3169
  this.adl._adl_setHVibrato(this.midi, msg.enabled ? 1 : 0);
3146
3170
  break;
3147
- case "setTremolo":
3171
+ case "getDeepVibrato":
3172
+ this.port.postMessage({ type: "deepVibrato", enabled: this.adl._adl_getHVibrato(this.midi) !== 0 });
3173
+ break;
3174
+ case "setDeepTremolo":
3148
3175
  this.adl._adl_setHTremolo(this.midi, msg.enabled ? 1 : 0);
3149
3176
  break;
3177
+ case "getDeepTremolo":
3178
+ this.port.postMessage({ type: "deepTremolo", enabled: this.adl._adl_getHTremolo(this.midi) !== 0 });
3179
+ break;
3180
+ case "setSoftPanEnabled":
3181
+ this.adl._adl_setSoftPanEnabled(this.midi, msg.enabled ? 1 : 0);
3182
+ break;
3150
3183
  case "setRunAtPcmRate":
3151
3184
  this.adl._adl_setRunAtPcmRate(this.midi, msg.enabled ? 1 : 0);
3152
3185
  break;
@@ -3161,6 +3194,12 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3161
3194
  this.port.postMessage({ type: "emulatorName", name });
3162
3195
  break;
3163
3196
  }
3197
+ case "getErrorInfo": {
3198
+ const ptr = this.adl._adl_errorInfo(this.midi);
3199
+ const info = ptr ? this.adl.UTF8ToString(ptr) : "";
3200
+ this.port.postMessage({ type: "errorInfo", info });
3201
+ break;
3202
+ }
3164
3203
  case "getLibraryVersion": {
3165
3204
  const ptr = this.adl._adl_linkedLibraryVersion();
3166
3205
  const version = ptr ? this.adl.UTF8ToString(ptr) : "Unknown";
@@ -3183,8 +3222,8 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3183
3222
  case "getNumChipsObtained":
3184
3223
  this.port.postMessage({ type: "numChipsObtained", chips: this.adl._adl_getNumChipsObtained(this.midi) });
3185
3224
  break;
3186
- case "getVolumeModel":
3187
- this.port.postMessage({ type: "volumeModel", model: this.adl._adl_getVolumeRangeModel(this.midi) });
3225
+ case "getVolumeRangeModel":
3226
+ this.port.postMessage({ type: "volumeRangeModel", model: this.adl._adl_getVolumeRangeModel(this.midi) });
3188
3227
  break;
3189
3228
  case "getEmbeddedBanks": {
3190
3229
  const banks = this.getEmbeddedBankList();
@@ -3207,6 +3246,18 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3207
3246
  this.port.postMessage({ type: "musicCopyright", copyright });
3208
3247
  break;
3209
3248
  }
3249
+ case "getTrackTitleCount":
3250
+ this.port.postMessage({ type: "trackTitleCount", count: this.adl._adl_metaTrackTitleCount(this.midi) });
3251
+ break;
3252
+ case "getTrackTitle": {
3253
+ const ptr = this.adl._adl_metaTrackTitle(this.midi, msg.index);
3254
+ const title = ptr ? this.adl.UTF8ToString(ptr) : "";
3255
+ this.port.postMessage({ type: "trackTitle", title, index: msg.index, reqId: msg.reqId });
3256
+ break;
3257
+ }
3258
+ case "getMarkerCount":
3259
+ this.port.postMessage({ type: "markerCount", count: this.adl._adl_metaMarkerCount(this.midi) });
3260
+ break;
3210
3261
  case "play":
3211
3262
  if (this.adl._adl_atEnd(this.midi) !== 0) {
3212
3263
  this.adl._adl_positionRewind(this.midi);
@@ -3221,9 +3272,40 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3221
3272
  case "seek":
3222
3273
  this.adl._adl_positionSeek(this.midi, msg.position);
3223
3274
  break;
3224
- case "setLoop":
3275
+ case "setLoopEnabled":
3225
3276
  this.adl._adl_setLoopEnabled(this.midi, msg.enabled ? 1 : 0);
3226
3277
  break;
3278
+ case "setLoopCount":
3279
+ this.adl._adl_setLoopCount(this.midi, msg.count);
3280
+ break;
3281
+ case "setLoopHooksOnly":
3282
+ this.adl._adl_setLoopHooksOnly(this.midi, msg.enabled ? 1 : 0);
3283
+ break;
3284
+ case "getLoopStartTime":
3285
+ this.port.postMessage({ type: "loopStartTime", time: this.adl._adl_loopStartTime(this.midi) });
3286
+ break;
3287
+ case "getLoopEndTime":
3288
+ this.port.postMessage({ type: "loopEndTime", time: this.adl._adl_loopEndTime(this.midi) });
3289
+ break;
3290
+ case "selectSongNum":
3291
+ this.adl._adl_selectSongNum(this.midi, msg.num);
3292
+ break;
3293
+ case "getSongsCount":
3294
+ this.port.postMessage({ type: "songsCount", count: this.adl._adl_getSongsCount(this.midi) });
3295
+ break;
3296
+ case "getTrackCount":
3297
+ this.port.postMessage({ type: "trackCount", count: this.adl._adl_trackCount(this.midi) });
3298
+ break;
3299
+ case "setTrackOptions": {
3300
+ const result = this.adl._adl_setTrackOptions(this.midi, msg.track, msg.options);
3301
+ this.port.postMessage({ type: "trackOptionsSet", success: result === 0, track: msg.track, reqId: msg.reqId });
3302
+ break;
3303
+ }
3304
+ case "setChannelEnabled": {
3305
+ const result = this.adl._adl_setChannelEnabled(this.midi, msg.channel, msg.enabled ? 1 : 0);
3306
+ this.port.postMessage({ type: "channelEnabledSet", success: result === 0, channel: msg.channel, reqId: msg.reqId });
3307
+ break;
3308
+ }
3227
3309
  case "setTempo":
3228
3310
  this.adl._adl_setTempo(this.midi, msg.tempo);
3229
3311
  break;
@@ -3240,6 +3322,97 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3240
3322
  this.adl._adl_reset(this.midi);
3241
3323
  this.playMode = "realtime";
3242
3324
  break;
3325
+ // ================== Bank Management ==================
3326
+ case "reserveBanks": {
3327
+ const result = this.adl._adl_reserveBanks(this.midi, msg.count);
3328
+ this.port.postMessage({ type: "banksReserved", success: result >= 0, reqId: msg.reqId });
3329
+ break;
3330
+ }
3331
+ case "getBankId": {
3332
+ const bankIdPtr = this.adl._malloc(_AdlMidiProcessor.SIZEOF_ADL_BANK_ID);
3333
+ this.adl.HEAPU8[bankIdPtr] = msg.bankId.percussive ? 1 : 0;
3334
+ this.adl.HEAPU8[bankIdPtr + 1] = msg.bankId.msb || 0;
3335
+ this.adl.HEAPU8[bankIdPtr + 2] = msg.bankId.lsb || 0;
3336
+ const bankPtr = this.adl._malloc(_AdlMidiProcessor.SIZEOF_ADL_BANK);
3337
+ const bankResult = this.adl._adl_getBank(this.midi, bankIdPtr, 0, bankPtr);
3338
+ let id = null;
3339
+ if (bankResult === 0) {
3340
+ const outIdPtr = this.adl._malloc(_AdlMidiProcessor.SIZEOF_ADL_BANK_ID);
3341
+ const idResult = this.adl._adl_getBankId(this.midi, bankPtr, outIdPtr);
3342
+ if (idResult === 0) {
3343
+ id = {
3344
+ percussive: this.adl.HEAPU8[outIdPtr],
3345
+ msb: this.adl.HEAPU8[outIdPtr + 1],
3346
+ lsb: this.adl.HEAPU8[outIdPtr + 2]
3347
+ };
3348
+ }
3349
+ this.adl._free(outIdPtr);
3350
+ }
3351
+ this.adl._free(bankIdPtr);
3352
+ this.adl._free(bankPtr);
3353
+ this.port.postMessage({ type: "bankId", id, bankId: msg.bankId, reqId: msg.reqId });
3354
+ break;
3355
+ }
3356
+ case "removeBank": {
3357
+ const bankIdPtr = this.adl._malloc(_AdlMidiProcessor.SIZEOF_ADL_BANK_ID);
3358
+ this.adl.HEAPU8[bankIdPtr] = msg.bankId.percussive ? 1 : 0;
3359
+ this.adl.HEAPU8[bankIdPtr + 1] = msg.bankId.msb || 0;
3360
+ this.adl.HEAPU8[bankIdPtr + 2] = msg.bankId.lsb || 0;
3361
+ const bankPtr = this.adl._malloc(_AdlMidiProcessor.SIZEOF_ADL_BANK);
3362
+ const bankResult = this.adl._adl_getBank(this.midi, bankIdPtr, 0, bankPtr);
3363
+ let success = false;
3364
+ if (bankResult === 0) {
3365
+ success = this.adl._adl_removeBank(this.midi, bankPtr) === 0;
3366
+ }
3367
+ this.adl._free(bankIdPtr);
3368
+ this.adl._free(bankPtr);
3369
+ this.port.postMessage({ type: "bankRemoved", success, bankId: msg.bankId, reqId: msg.reqId });
3370
+ break;
3371
+ }
3372
+ case "loadEmbeddedBank": {
3373
+ const bankIdPtr = this.adl._malloc(_AdlMidiProcessor.SIZEOF_ADL_BANK_ID);
3374
+ this.adl.HEAPU8[bankIdPtr] = msg.bankId.percussive ? 1 : 0;
3375
+ this.adl.HEAPU8[bankIdPtr + 1] = msg.bankId.msb || 0;
3376
+ this.adl.HEAPU8[bankIdPtr + 2] = msg.bankId.lsb || 0;
3377
+ const bankPtr = this.adl._malloc(_AdlMidiProcessor.SIZEOF_ADL_BANK);
3378
+ const existed = this.adl._adl_getBank(this.midi, bankIdPtr, 0, bankPtr) === 0;
3379
+ const bankResult = existed ? 0 : this.adl._adl_getBank(this.midi, bankIdPtr, 1, bankPtr);
3380
+ let success = false;
3381
+ if (bankResult === 0) {
3382
+ success = this.adl._adl_loadEmbeddedBank(this.midi, bankPtr, msg.num) === 0;
3383
+ if (!success && !existed) {
3384
+ this.adl._adl_removeBank(this.midi, bankPtr);
3385
+ }
3386
+ }
3387
+ this.adl._free(bankIdPtr);
3388
+ this.adl._free(bankPtr);
3389
+ this.port.postMessage({ type: "embeddedBankLoaded", success, bankId: msg.bankId, reqId: msg.reqId });
3390
+ break;
3391
+ }
3392
+ // ================== SysEx ==================
3393
+ case "systemExclusive": {
3394
+ const bytes = new Uint8Array(msg.data);
3395
+ const ptr = this.adl._malloc(bytes.length);
3396
+ this.adl.HEAPU8.set(bytes, ptr);
3397
+ const result = this.adl._adl_rt_systemExclusive(this.midi, ptr, bytes.length);
3398
+ this.adl._free(ptr);
3399
+ this.port.postMessage({ type: "systemExclusiveSent", success: result !== 0, reqId: msg.reqId });
3400
+ break;
3401
+ }
3402
+ // ================== Debug / Diagnostics ==================
3403
+ case "describeChannels": {
3404
+ const numChips = this.adl._adl_getNumChipsObtained(this.midi);
3405
+ const size = Math.max(256, (numChips + 1) * 23);
3406
+ const textPtr = this.adl._malloc(size);
3407
+ const attrPtr = this.adl._malloc(size);
3408
+ this.adl._adl_describeChannels(this.midi, textPtr, attrPtr, size);
3409
+ const text = this.adl.UTF8ToString(textPtr);
3410
+ const attr = Array.from(this.adl.HEAPU8.slice(attrPtr, attrPtr + text.length));
3411
+ this.adl._free(textPtr);
3412
+ this.adl._free(attrPtr);
3413
+ this.port.postMessage({ type: "channelsDescribed", text, attr, reqId: msg.reqId });
3414
+ break;
3415
+ }
3243
3416
  }
3244
3417
  }
3245
3418
  loadMidiData(arrayBuffer) {
@@ -3286,7 +3459,7 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3286
3459
  }
3287
3460
  return banks;
3288
3461
  }
3289
- loadBank(arrayBuffer) {
3462
+ loadBankData(arrayBuffer) {
3290
3463
  try {
3291
3464
  const data = new Uint8Array(arrayBuffer);
3292
3465
  const dataPtr = this.adl._malloc(data.length);