libadlmidi-js 1.2.0 → 2.0.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 (75) hide show
  1. package/dist/core.d.ts +186 -4
  2. package/dist/fm_banks/manifest.json +1 -1
  3. package/dist/libadlmidi.d.ts +143 -65
  4. package/dist/libadlmidi.dosbox.browser.js +1 -1
  5. package/dist/libadlmidi.dosbox.browser.wasm +0 -0
  6. package/dist/libadlmidi.dosbox.core.js +1 -1
  7. package/dist/libadlmidi.dosbox.core.wasm +0 -0
  8. package/dist/libadlmidi.dosbox.js +0 -0
  9. package/dist/libadlmidi.dosbox.processor.js +242 -74
  10. package/dist/libadlmidi.dosbox.slim.browser.js +1 -1
  11. package/dist/libadlmidi.dosbox.slim.browser.wasm +0 -0
  12. package/dist/libadlmidi.dosbox.slim.core.js +1 -1
  13. package/dist/libadlmidi.dosbox.slim.core.wasm +0 -0
  14. package/dist/libadlmidi.dosbox.slim.js +0 -0
  15. package/dist/libadlmidi.dosbox.slim.processor.js +242 -74
  16. package/dist/libadlmidi.full.browser.js +1 -1
  17. package/dist/libadlmidi.full.browser.wasm +0 -0
  18. package/dist/libadlmidi.full.core.js +1 -1
  19. package/dist/libadlmidi.full.core.wasm +0 -0
  20. package/dist/libadlmidi.full.js +0 -0
  21. package/dist/libadlmidi.full.processor.js +242 -74
  22. package/dist/libadlmidi.full.slim.browser.js +1 -1
  23. package/dist/libadlmidi.full.slim.browser.wasm +0 -0
  24. package/dist/libadlmidi.full.slim.core.js +1 -1
  25. package/dist/libadlmidi.full.slim.core.wasm +0 -0
  26. package/dist/libadlmidi.full.slim.js +0 -0
  27. package/dist/libadlmidi.full.slim.processor.js +242 -74
  28. package/dist/libadlmidi.js +465 -21
  29. package/dist/libadlmidi.js.map +3 -3
  30. package/dist/libadlmidi.light.browser.js +1 -1
  31. package/dist/libadlmidi.light.browser.wasm +0 -0
  32. package/dist/libadlmidi.light.core.js +1 -1
  33. package/dist/libadlmidi.light.core.wasm +0 -0
  34. package/dist/libadlmidi.light.js +0 -0
  35. package/dist/libadlmidi.light.processor.js +242 -74
  36. package/dist/libadlmidi.light.slim.browser.js +1 -1
  37. package/dist/libadlmidi.light.slim.browser.wasm +0 -0
  38. package/dist/libadlmidi.light.slim.core.js +1 -1
  39. package/dist/libadlmidi.light.slim.core.wasm +0 -0
  40. package/dist/libadlmidi.light.slim.js +0 -0
  41. package/dist/libadlmidi.light.slim.processor.js +242 -74
  42. package/dist/libadlmidi.nuked.browser.js +1 -1
  43. package/dist/libadlmidi.nuked.browser.wasm +0 -0
  44. package/dist/libadlmidi.nuked.core.js +1 -1
  45. package/dist/libadlmidi.nuked.core.wasm +0 -0
  46. package/dist/libadlmidi.nuked.js +0 -0
  47. package/dist/libadlmidi.nuked.processor.js +242 -74
  48. package/dist/libadlmidi.nuked.slim.browser.js +1 -1
  49. package/dist/libadlmidi.nuked.slim.browser.wasm +0 -0
  50. package/dist/libadlmidi.nuked.slim.core.js +1 -1
  51. package/dist/libadlmidi.nuked.slim.core.wasm +0 -0
  52. package/dist/libadlmidi.nuked.slim.js +0 -0
  53. package/dist/libadlmidi.nuked.slim.processor.js +242 -74
  54. package/dist/profiles/dosbox.d.ts +1 -0
  55. package/dist/profiles/dosbox.slim.d.ts +1 -0
  56. package/dist/profiles/full.d.ts +1 -0
  57. package/dist/profiles/full.slim.d.ts +1 -0
  58. package/dist/profiles/light.d.ts +1 -0
  59. package/dist/profiles/light.slim.d.ts +1 -0
  60. package/dist/profiles/nuked.d.ts +1 -0
  61. package/dist/profiles/nuked.slim.d.ts +1 -0
  62. package/dist/utils/constants.d.ts +59 -0
  63. package/package.json +1 -1
  64. package/src/core.js +352 -4
  65. package/src/libadlmidi.js +374 -56
  66. package/src/processor.js +204 -12
  67. package/src/profiles/dosbox.js +7 -4
  68. package/src/profiles/dosbox.slim.js +7 -4
  69. package/src/profiles/full.js +7 -4
  70. package/src/profiles/full.slim.js +7 -4
  71. package/src/profiles/light.js +7 -4
  72. package/src/profiles/light.slim.js +7 -4
  73. package/src/profiles/nuked.js +7 -4
  74. package/src/profiles/nuked.slim.js +7 -4
  75. package/src/utils/constants.js +51 -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
  }
@@ -3090,8 +3109,8 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3090
3109
  this.applySettings(msg.settings);
3091
3110
  this.port.postMessage({ type: "configured" });
3092
3111
  break;
3093
- case "loadBank":
3094
- this.loadBank(msg.data);
3112
+ case "loadBankData":
3113
+ this.loadBankData(msg.data);
3095
3114
  break;
3096
3115
  case "setBank": {
3097
3116
  const result = this.adl._adl_setBank(this.midi, msg.bank);
@@ -3117,6 +3136,9 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3117
3136
  case "getNumFourOpChannels":
3118
3137
  this.port.postMessage({ type: "numFourOpChannels", channels: this.adl._adl_getNumFourOpsChn(this.midi) });
3119
3138
  break;
3139
+ case "getNumFourOpChannelsObtained":
3140
+ this.port.postMessage({ type: "numFourOpChannelsObtained", channels: this.adl._adl_getNumFourOpsChnObtained(this.midi) });
3141
+ break;
3120
3142
  case "setScaleModulators":
3121
3143
  this.adl._adl_setScaleModulators(this.midi, msg.enabled ? 1 : 0);
3122
3144
  break;
@@ -3135,18 +3157,24 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3135
3157
  case "getChannelAllocMode":
3136
3158
  this.port.postMessage({ type: "channelAllocMode", mode: this.adl._adl_getChannelAllocMode(this.midi) });
3137
3159
  break;
3138
- case "setVolumeModel":
3160
+ case "setVolumeRangeModel":
3139
3161
  this.adl._adl_setVolumeRangeModel(this.midi, msg.model);
3140
3162
  break;
3141
- case "setPercMode":
3142
- this.adl._adl_setPercMode(this.midi, msg.enabled ? 1 : 0);
3143
- break;
3144
- case "setVibrato":
3163
+ case "setDeepVibrato":
3145
3164
  this.adl._adl_setHVibrato(this.midi, msg.enabled ? 1 : 0);
3146
3165
  break;
3147
- case "setTremolo":
3166
+ case "getDeepVibrato":
3167
+ this.port.postMessage({ type: "deepVibrato", enabled: this.adl._adl_getHVibrato(this.midi) !== 0 });
3168
+ break;
3169
+ case "setDeepTremolo":
3148
3170
  this.adl._adl_setHTremolo(this.midi, msg.enabled ? 1 : 0);
3149
3171
  break;
3172
+ case "getDeepTremolo":
3173
+ this.port.postMessage({ type: "deepTremolo", enabled: this.adl._adl_getHTremolo(this.midi) !== 0 });
3174
+ break;
3175
+ case "setSoftPanEnabled":
3176
+ this.adl._adl_setSoftPanEnabled(this.midi, msg.enabled ? 1 : 0);
3177
+ break;
3150
3178
  case "setRunAtPcmRate":
3151
3179
  this.adl._adl_setRunAtPcmRate(this.midi, msg.enabled ? 1 : 0);
3152
3180
  break;
@@ -3161,6 +3189,12 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3161
3189
  this.port.postMessage({ type: "emulatorName", name });
3162
3190
  break;
3163
3191
  }
3192
+ case "getErrorInfo": {
3193
+ const ptr = this.adl._adl_errorInfo(this.midi);
3194
+ const info = ptr ? this.adl.UTF8ToString(ptr) : "";
3195
+ this.port.postMessage({ type: "errorInfo", info });
3196
+ break;
3197
+ }
3164
3198
  case "getLibraryVersion": {
3165
3199
  const ptr = this.adl._adl_linkedLibraryVersion();
3166
3200
  const version = ptr ? this.adl.UTF8ToString(ptr) : "Unknown";
@@ -3183,8 +3217,8 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3183
3217
  case "getNumChipsObtained":
3184
3218
  this.port.postMessage({ type: "numChipsObtained", chips: this.adl._adl_getNumChipsObtained(this.midi) });
3185
3219
  break;
3186
- case "getVolumeModel":
3187
- this.port.postMessage({ type: "volumeModel", model: this.adl._adl_getVolumeRangeModel(this.midi) });
3220
+ case "getVolumeRangeModel":
3221
+ this.port.postMessage({ type: "volumeRangeModel", model: this.adl._adl_getVolumeRangeModel(this.midi) });
3188
3222
  break;
3189
3223
  case "getEmbeddedBanks": {
3190
3224
  const banks = this.getEmbeddedBankList();
@@ -3207,6 +3241,18 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3207
3241
  this.port.postMessage({ type: "musicCopyright", copyright });
3208
3242
  break;
3209
3243
  }
3244
+ case "getTrackTitleCount":
3245
+ this.port.postMessage({ type: "trackTitleCount", count: this.adl._adl_metaTrackTitleCount(this.midi) });
3246
+ break;
3247
+ case "getTrackTitle": {
3248
+ const ptr = this.adl._adl_metaTrackTitle(this.midi, msg.index);
3249
+ const title = ptr ? this.adl.UTF8ToString(ptr) : "";
3250
+ this.port.postMessage({ type: "trackTitle", title, index: msg.index, reqId: msg.reqId });
3251
+ break;
3252
+ }
3253
+ case "getMarkerCount":
3254
+ this.port.postMessage({ type: "markerCount", count: this.adl._adl_metaMarkerCount(this.midi) });
3255
+ break;
3210
3256
  case "play":
3211
3257
  if (this.adl._adl_atEnd(this.midi) !== 0) {
3212
3258
  this.adl._adl_positionRewind(this.midi);
@@ -3221,9 +3267,40 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3221
3267
  case "seek":
3222
3268
  this.adl._adl_positionSeek(this.midi, msg.position);
3223
3269
  break;
3224
- case "setLoop":
3270
+ case "setLoopEnabled":
3225
3271
  this.adl._adl_setLoopEnabled(this.midi, msg.enabled ? 1 : 0);
3226
3272
  break;
3273
+ case "setLoopCount":
3274
+ this.adl._adl_setLoopCount(this.midi, msg.count);
3275
+ break;
3276
+ case "setLoopHooksOnly":
3277
+ this.adl._adl_setLoopHooksOnly(this.midi, msg.enabled ? 1 : 0);
3278
+ break;
3279
+ case "getLoopStartTime":
3280
+ this.port.postMessage({ type: "loopStartTime", time: this.adl._adl_loopStartTime(this.midi) });
3281
+ break;
3282
+ case "getLoopEndTime":
3283
+ this.port.postMessage({ type: "loopEndTime", time: this.adl._adl_loopEndTime(this.midi) });
3284
+ break;
3285
+ case "selectSongNum":
3286
+ this.adl._adl_selectSongNum(this.midi, msg.num);
3287
+ break;
3288
+ case "getSongsCount":
3289
+ this.port.postMessage({ type: "songsCount", count: this.adl._adl_getSongsCount(this.midi) });
3290
+ break;
3291
+ case "getTrackCount":
3292
+ this.port.postMessage({ type: "trackCount", count: this.adl._adl_trackCount(this.midi) });
3293
+ break;
3294
+ case "setTrackOptions": {
3295
+ const result = this.adl._adl_setTrackOptions(this.midi, msg.track, msg.options);
3296
+ this.port.postMessage({ type: "trackOptionsSet", success: result === 0, track: msg.track, reqId: msg.reqId });
3297
+ break;
3298
+ }
3299
+ case "setChannelEnabled": {
3300
+ const result = this.adl._adl_setChannelEnabled(this.midi, msg.channel, msg.enabled ? 1 : 0);
3301
+ this.port.postMessage({ type: "channelEnabledSet", success: result === 0, channel: msg.channel, reqId: msg.reqId });
3302
+ break;
3303
+ }
3227
3304
  case "setTempo":
3228
3305
  this.adl._adl_setTempo(this.midi, msg.tempo);
3229
3306
  break;
@@ -3240,6 +3317,97 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3240
3317
  this.adl._adl_reset(this.midi);
3241
3318
  this.playMode = "realtime";
3242
3319
  break;
3320
+ // ================== Bank Management ==================
3321
+ case "reserveBanks": {
3322
+ const result = this.adl._adl_reserveBanks(this.midi, msg.count);
3323
+ this.port.postMessage({ type: "banksReserved", success: result >= 0, reqId: msg.reqId });
3324
+ break;
3325
+ }
3326
+ case "getBankId": {
3327
+ const bankIdPtr = this.adl._malloc(_AdlMidiProcessor.SIZEOF_ADL_BANK_ID);
3328
+ this.adl.HEAPU8[bankIdPtr] = msg.bankId.percussive ? 1 : 0;
3329
+ this.adl.HEAPU8[bankIdPtr + 1] = msg.bankId.msb || 0;
3330
+ this.adl.HEAPU8[bankIdPtr + 2] = msg.bankId.lsb || 0;
3331
+ const bankPtr = this.adl._malloc(_AdlMidiProcessor.SIZEOF_ADL_BANK);
3332
+ const bankResult = this.adl._adl_getBank(this.midi, bankIdPtr, 0, bankPtr);
3333
+ let id = null;
3334
+ if (bankResult === 0) {
3335
+ const outIdPtr = this.adl._malloc(_AdlMidiProcessor.SIZEOF_ADL_BANK_ID);
3336
+ const idResult = this.adl._adl_getBankId(this.midi, bankPtr, outIdPtr);
3337
+ if (idResult === 0) {
3338
+ id = {
3339
+ percussive: this.adl.HEAPU8[outIdPtr],
3340
+ msb: this.adl.HEAPU8[outIdPtr + 1],
3341
+ lsb: this.adl.HEAPU8[outIdPtr + 2]
3342
+ };
3343
+ }
3344
+ this.adl._free(outIdPtr);
3345
+ }
3346
+ this.adl._free(bankIdPtr);
3347
+ this.adl._free(bankPtr);
3348
+ this.port.postMessage({ type: "bankId", id, bankId: msg.bankId, reqId: msg.reqId });
3349
+ break;
3350
+ }
3351
+ case "removeBank": {
3352
+ const bankIdPtr = this.adl._malloc(_AdlMidiProcessor.SIZEOF_ADL_BANK_ID);
3353
+ this.adl.HEAPU8[bankIdPtr] = msg.bankId.percussive ? 1 : 0;
3354
+ this.adl.HEAPU8[bankIdPtr + 1] = msg.bankId.msb || 0;
3355
+ this.adl.HEAPU8[bankIdPtr + 2] = msg.bankId.lsb || 0;
3356
+ const bankPtr = this.adl._malloc(_AdlMidiProcessor.SIZEOF_ADL_BANK);
3357
+ const bankResult = this.adl._adl_getBank(this.midi, bankIdPtr, 0, bankPtr);
3358
+ let success = false;
3359
+ if (bankResult === 0) {
3360
+ success = this.adl._adl_removeBank(this.midi, bankPtr) === 0;
3361
+ }
3362
+ this.adl._free(bankIdPtr);
3363
+ this.adl._free(bankPtr);
3364
+ this.port.postMessage({ type: "bankRemoved", success, bankId: msg.bankId, reqId: msg.reqId });
3365
+ break;
3366
+ }
3367
+ case "loadEmbeddedBank": {
3368
+ const bankIdPtr = this.adl._malloc(_AdlMidiProcessor.SIZEOF_ADL_BANK_ID);
3369
+ this.adl.HEAPU8[bankIdPtr] = msg.bankId.percussive ? 1 : 0;
3370
+ this.adl.HEAPU8[bankIdPtr + 1] = msg.bankId.msb || 0;
3371
+ this.adl.HEAPU8[bankIdPtr + 2] = msg.bankId.lsb || 0;
3372
+ const bankPtr = this.adl._malloc(_AdlMidiProcessor.SIZEOF_ADL_BANK);
3373
+ const existed = this.adl._adl_getBank(this.midi, bankIdPtr, 0, bankPtr) === 0;
3374
+ const bankResult = existed ? 0 : this.adl._adl_getBank(this.midi, bankIdPtr, 1, bankPtr);
3375
+ let success = false;
3376
+ if (bankResult === 0) {
3377
+ success = this.adl._adl_loadEmbeddedBank(this.midi, bankPtr, msg.num) === 0;
3378
+ if (!success && !existed) {
3379
+ this.adl._adl_removeBank(this.midi, bankPtr);
3380
+ }
3381
+ }
3382
+ this.adl._free(bankIdPtr);
3383
+ this.adl._free(bankPtr);
3384
+ this.port.postMessage({ type: "embeddedBankLoaded", success, bankId: msg.bankId, reqId: msg.reqId });
3385
+ break;
3386
+ }
3387
+ // ================== SysEx ==================
3388
+ case "systemExclusive": {
3389
+ const bytes = new Uint8Array(msg.data);
3390
+ const ptr = this.adl._malloc(bytes.length);
3391
+ this.adl.HEAPU8.set(bytes, ptr);
3392
+ const result = this.adl._adl_rt_systemExclusive(this.midi, ptr, bytes.length);
3393
+ this.adl._free(ptr);
3394
+ this.port.postMessage({ type: "systemExclusiveSent", success: result !== 0, reqId: msg.reqId });
3395
+ break;
3396
+ }
3397
+ // ================== Debug / Diagnostics ==================
3398
+ case "describeChannels": {
3399
+ const numChips = this.adl._adl_getNumChipsObtained(this.midi);
3400
+ const size = Math.max(256, (numChips + 1) * 23);
3401
+ const textPtr = this.adl._malloc(size);
3402
+ const attrPtr = this.adl._malloc(size);
3403
+ this.adl._adl_describeChannels(this.midi, textPtr, attrPtr, size);
3404
+ const text = this.adl.UTF8ToString(textPtr);
3405
+ const attr = Array.from(this.adl.HEAPU8.slice(attrPtr, attrPtr + text.length));
3406
+ this.adl._free(textPtr);
3407
+ this.adl._free(attrPtr);
3408
+ this.port.postMessage({ type: "channelsDescribed", text, attr, reqId: msg.reqId });
3409
+ break;
3410
+ }
3243
3411
  }
3244
3412
  }
3245
3413
  loadMidiData(arrayBuffer) {
@@ -3286,7 +3454,7 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
3286
3454
  }
3287
3455
  return banks;
3288
3456
  }
3289
- loadBank(arrayBuffer) {
3457
+ loadBankData(arrayBuffer) {
3290
3458
  try {
3291
3459
  const data = new Uint8Array(arrayBuffer);
3292
3460
  const dataPtr = this.adl._malloc(data.length);