libadlmidi-js 1.1.0 → 1.2.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.
- package/README.md +36 -1
- package/dist/core.d.ts +148 -0
- package/dist/fm_banks/manifest.json +1 -1
- package/dist/libadlmidi.d.ts +119 -2
- package/dist/libadlmidi.dosbox.browser.js +1 -1
- package/dist/libadlmidi.dosbox.browser.wasm +0 -0
- package/dist/libadlmidi.dosbox.core.js +1 -1
- package/dist/libadlmidi.dosbox.core.wasm +0 -0
- package/dist/libadlmidi.dosbox.js +0 -0
- package/dist/libadlmidi.dosbox.processor.js +152 -53
- package/dist/libadlmidi.dosbox.slim.browser.js +1 -1
- package/dist/libadlmidi.dosbox.slim.browser.wasm +0 -0
- package/dist/libadlmidi.dosbox.slim.core.js +1 -1
- package/dist/libadlmidi.dosbox.slim.core.wasm +0 -0
- package/dist/libadlmidi.dosbox.slim.js +0 -0
- package/dist/libadlmidi.dosbox.slim.processor.js +152 -53
- package/dist/libadlmidi.full.browser.js +1 -1
- package/dist/libadlmidi.full.browser.wasm +0 -0
- package/dist/libadlmidi.full.core.js +1 -1
- package/dist/libadlmidi.full.core.wasm +0 -0
- package/dist/libadlmidi.full.js +0 -0
- package/dist/libadlmidi.full.processor.js +152 -53
- package/dist/libadlmidi.full.slim.browser.js +1 -1
- package/dist/libadlmidi.full.slim.browser.wasm +0 -0
- package/dist/libadlmidi.full.slim.core.js +1 -1
- package/dist/libadlmidi.full.slim.core.wasm +0 -0
- package/dist/libadlmidi.full.slim.js +0 -0
- package/dist/libadlmidi.full.slim.processor.js +152 -53
- package/dist/libadlmidi.js +258 -4
- package/dist/libadlmidi.js.map +2 -2
- package/dist/libadlmidi.light.browser.js +1 -1
- package/dist/libadlmidi.light.browser.wasm +0 -0
- package/dist/libadlmidi.light.core.js +1 -1
- package/dist/libadlmidi.light.core.wasm +0 -0
- package/dist/libadlmidi.light.js +0 -0
- package/dist/libadlmidi.light.processor.js +152 -53
- package/dist/libadlmidi.light.slim.browser.js +1 -1
- package/dist/libadlmidi.light.slim.browser.wasm +0 -0
- package/dist/libadlmidi.light.slim.core.js +1 -1
- package/dist/libadlmidi.light.slim.core.wasm +0 -0
- package/dist/libadlmidi.light.slim.js +0 -0
- package/dist/libadlmidi.light.slim.processor.js +152 -53
- package/dist/libadlmidi.nuked.browser.js +1 -1
- package/dist/libadlmidi.nuked.browser.wasm +0 -0
- package/dist/libadlmidi.nuked.core.js +1 -1
- package/dist/libadlmidi.nuked.core.wasm +0 -0
- package/dist/libadlmidi.nuked.js +0 -0
- package/dist/libadlmidi.nuked.processor.js +152 -53
- package/dist/libadlmidi.nuked.slim.browser.js +1 -1
- package/dist/libadlmidi.nuked.slim.browser.wasm +0 -0
- package/dist/libadlmidi.nuked.slim.core.js +1 -1
- package/dist/libadlmidi.nuked.slim.core.wasm +0 -0
- package/dist/libadlmidi.nuked.slim.js +0 -0
- package/dist/libadlmidi.nuked.slim.processor.js +152 -53
- package/package.json +6 -5
- package/src/core.js +289 -24
- package/src/libadlmidi.js +229 -4
- package/src/processor.js +101 -1
|
@@ -2385,10 +2385,11 @@ async function createADLMIDI(moduleArg = {}) {
|
|
|
2385
2385
|
return;
|
|
2386
2386
|
}
|
|
2387
2387
|
try {
|
|
2388
|
-
func();
|
|
2389
|
-
maybeExit();
|
|
2388
|
+
return func();
|
|
2390
2389
|
} catch (e) {
|
|
2391
2390
|
handleException(e);
|
|
2391
|
+
} finally {
|
|
2392
|
+
maybeExit();
|
|
2392
2393
|
}
|
|
2393
2394
|
};
|
|
2394
2395
|
var _emscripten_get_now = () => performance.now();
|
|
@@ -2605,60 +2606,79 @@ async function createADLMIDI(moduleArg = {}) {
|
|
|
2605
2606
|
Module["setValue"] = setValue;
|
|
2606
2607
|
Module["getValue"] = getValue;
|
|
2607
2608
|
Module["UTF8ToString"] = UTF8ToString;
|
|
2608
|
-
var _adl_init, _adl_close, _adl_setNumChips, _adl_setBank, _adl_getBanksCount, _adl_getBankNames, _adl_reserveBanks, _adl_getBank, _adl_getInstrument, _adl_setInstrument, _adl_loadEmbeddedBank, _adl_setNumFourOpsChn, _adl_setPercMode, _adl_setHVibrato, _adl_setHTremolo, _adl_setScaleModulators, _adl_setLoopEnabled, _adl_setLoopCount, _adl_setSoftPanEnabled, _adl_setVolumeRangeModel, _adl_openBankFile, _adl_openBankData, _adl_openData, _adl_chipEmulatorName, _adl_switchEmulator, _adl_errorString, _adl_errorInfo, _adl_reset, _adl_totalTimeLength, _adl_positionTell, _adl_positionSeek, _adl_positionRewind, _adl_setTempo, _adl_play, _adl_playFormat, _adl_generate, _adl_generateFormat, _adl_atEnd, _adl_panic, _adl_rt_resetState, _adl_rt_noteOn, _adl_rt_noteOff, _adl_rt_controllerChange, _adl_rt_patchChange, _adl_rt_pitchBend, _adl_rt_pitchBendML, __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_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
2610
|
function assignWasmExports(wasmExports2) {
|
|
2610
2611
|
_adl_init = Module["_adl_init"] = wasmExports2["p"];
|
|
2611
2612
|
_adl_close = Module["_adl_close"] = wasmExports2["q"];
|
|
2612
2613
|
_adl_setNumChips = Module["_adl_setNumChips"] = wasmExports2["r"];
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2614
|
+
_adl_getNumChips = Module["_adl_getNumChips"] = wasmExports2["s"];
|
|
2615
|
+
_adl_getNumChipsObtained = Module["_adl_getNumChipsObtained"] = wasmExports2["t"];
|
|
2616
|
+
_adl_setBank = Module["_adl_setBank"] = wasmExports2["u"];
|
|
2617
|
+
_adl_getBanksCount = Module["_adl_getBanksCount"] = wasmExports2["v"];
|
|
2618
|
+
_adl_getBankNames = Module["_adl_getBankNames"] = wasmExports2["w"];
|
|
2619
|
+
_adl_reserveBanks = Module["_adl_reserveBanks"] = wasmExports2["x"];
|
|
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"];
|
|
2662
2682
|
memory = wasmMemory = wasmExports2["n"];
|
|
2663
2683
|
__indirect_function_table = wasmExports2["__indirect_function_table"];
|
|
2664
2684
|
}
|
|
@@ -3036,7 +3056,7 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
|
|
|
3036
3056
|
this.adl._adl_rt_noteOff(this.midi, msg.channel, msg.note);
|
|
3037
3057
|
break;
|
|
3038
3058
|
case "pitchBend":
|
|
3039
|
-
this.adl._adl_rt_pitchBendML(this.midi, msg.channel, msg.
|
|
3059
|
+
this.adl._adl_rt_pitchBendML(this.midi, msg.channel, msg.msb, msg.lsb);
|
|
3040
3060
|
break;
|
|
3041
3061
|
case "controlChange":
|
|
3042
3062
|
this.adl._adl_rt_controllerChange(this.midi, msg.channel, msg.controller, msg.value);
|
|
@@ -3044,6 +3064,21 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
|
|
|
3044
3064
|
case "programChange":
|
|
3045
3065
|
this.adl._adl_rt_patchChange(this.midi, msg.channel, msg.program);
|
|
3046
3066
|
break;
|
|
3067
|
+
case "noteAfterTouch":
|
|
3068
|
+
this.adl._adl_rt_noteAfterTouch(this.midi, msg.channel, msg.note, msg.pressure);
|
|
3069
|
+
break;
|
|
3070
|
+
case "channelAfterTouch":
|
|
3071
|
+
this.adl._adl_rt_channelAfterTouch(this.midi, msg.channel, msg.pressure);
|
|
3072
|
+
break;
|
|
3073
|
+
case "bankChange":
|
|
3074
|
+
this.adl._adl_rt_bankChange(this.midi, msg.channel, msg.bank);
|
|
3075
|
+
break;
|
|
3076
|
+
case "bankChangeMSB":
|
|
3077
|
+
this.adl._adl_rt_bankChangeMSB(this.midi, msg.channel, msg.msb);
|
|
3078
|
+
break;
|
|
3079
|
+
case "bankChangeLSB":
|
|
3080
|
+
this.adl._adl_rt_bankChangeLSB(this.midi, msg.channel, msg.lsb);
|
|
3081
|
+
break;
|
|
3047
3082
|
case "resetState":
|
|
3048
3083
|
this.adl._adl_rt_resetState(this.midi);
|
|
3049
3084
|
break;
|
|
@@ -3076,6 +3111,30 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
|
|
|
3076
3111
|
case "setNumChips":
|
|
3077
3112
|
this.adl._adl_setNumChips(this.midi, msg.chips);
|
|
3078
3113
|
break;
|
|
3114
|
+
case "setNumFourOpChannels":
|
|
3115
|
+
this.adl._adl_setNumFourOpsChn(this.midi, msg.channels);
|
|
3116
|
+
break;
|
|
3117
|
+
case "getNumFourOpChannels":
|
|
3118
|
+
this.port.postMessage({ type: "numFourOpChannels", channels: this.adl._adl_getNumFourOpsChn(this.midi) });
|
|
3119
|
+
break;
|
|
3120
|
+
case "setScaleModulators":
|
|
3121
|
+
this.adl._adl_setScaleModulators(this.midi, msg.enabled ? 1 : 0);
|
|
3122
|
+
break;
|
|
3123
|
+
case "setFullRangeBrightness":
|
|
3124
|
+
this.adl._adl_setFullRangeBrightness(this.midi, msg.enabled ? 1 : 0);
|
|
3125
|
+
break;
|
|
3126
|
+
case "setAutoArpeggio":
|
|
3127
|
+
this.adl._adl_setAutoArpeggio(this.midi, msg.enabled ? 1 : 0);
|
|
3128
|
+
break;
|
|
3129
|
+
case "getAutoArpeggio":
|
|
3130
|
+
this.port.postMessage({ type: "autoArpeggio", enabled: this.adl._adl_getAutoArpeggio(this.midi) !== 0 });
|
|
3131
|
+
break;
|
|
3132
|
+
case "setChannelAllocMode":
|
|
3133
|
+
this.adl._adl_setChannelAllocMode(this.midi, msg.mode);
|
|
3134
|
+
break;
|
|
3135
|
+
case "getChannelAllocMode":
|
|
3136
|
+
this.port.postMessage({ type: "channelAllocMode", mode: this.adl._adl_getChannelAllocMode(this.midi) });
|
|
3137
|
+
break;
|
|
3079
3138
|
case "setVolumeModel":
|
|
3080
3139
|
this.adl._adl_setVolumeRangeModel(this.midi, msg.model);
|
|
3081
3140
|
break;
|
|
@@ -3088,6 +3147,9 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
|
|
|
3088
3147
|
case "setTremolo":
|
|
3089
3148
|
this.adl._adl_setHTremolo(this.midi, msg.enabled ? 1 : 0);
|
|
3090
3149
|
break;
|
|
3150
|
+
case "setRunAtPcmRate":
|
|
3151
|
+
this.adl._adl_setRunAtPcmRate(this.midi, msg.enabled ? 1 : 0);
|
|
3152
|
+
break;
|
|
3091
3153
|
case "switchEmulator": {
|
|
3092
3154
|
const result = this.adl._adl_switchEmulator(this.midi, msg.emulator);
|
|
3093
3155
|
this.port.postMessage({ type: "emulatorSwitched", success: result === 0, emulator: msg.emulator });
|
|
@@ -3099,6 +3161,31 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
|
|
|
3099
3161
|
this.port.postMessage({ type: "emulatorName", name });
|
|
3100
3162
|
break;
|
|
3101
3163
|
}
|
|
3164
|
+
case "getLibraryVersion": {
|
|
3165
|
+
const ptr = this.adl._adl_linkedLibraryVersion();
|
|
3166
|
+
const version = ptr ? this.adl.UTF8ToString(ptr) : "Unknown";
|
|
3167
|
+
this.port.postMessage({ type: "libraryVersion", version });
|
|
3168
|
+
break;
|
|
3169
|
+
}
|
|
3170
|
+
case "getVersion": {
|
|
3171
|
+
const ptr = this.adl._adl_linkedVersion();
|
|
3172
|
+
const version = ptr ? {
|
|
3173
|
+
major: this.adl.getValue(ptr, "i16"),
|
|
3174
|
+
minor: this.adl.getValue(ptr + 2, "i16"),
|
|
3175
|
+
patch: this.adl.getValue(ptr + 4, "i16")
|
|
3176
|
+
} : null;
|
|
3177
|
+
this.port.postMessage({ type: "version", version });
|
|
3178
|
+
break;
|
|
3179
|
+
}
|
|
3180
|
+
case "getNumChips":
|
|
3181
|
+
this.port.postMessage({ type: "numChips", chips: this.adl._adl_getNumChips(this.midi) });
|
|
3182
|
+
break;
|
|
3183
|
+
case "getNumChipsObtained":
|
|
3184
|
+
this.port.postMessage({ type: "numChipsObtained", chips: this.adl._adl_getNumChipsObtained(this.midi) });
|
|
3185
|
+
break;
|
|
3186
|
+
case "getVolumeModel":
|
|
3187
|
+
this.port.postMessage({ type: "volumeModel", model: this.adl._adl_getVolumeRangeModel(this.midi) });
|
|
3188
|
+
break;
|
|
3102
3189
|
case "getEmbeddedBanks": {
|
|
3103
3190
|
const banks = this.getEmbeddedBankList();
|
|
3104
3191
|
this.port.postMessage({ type: "embeddedBanks", banks });
|
|
@@ -3108,6 +3195,18 @@ var _AdlMidiProcessor = class _AdlMidiProcessor extends AudioWorkletProcessor {
|
|
|
3108
3195
|
case "loadMidi":
|
|
3109
3196
|
this.loadMidiData(msg.data);
|
|
3110
3197
|
break;
|
|
3198
|
+
case "getMusicTitle": {
|
|
3199
|
+
const ptr = this.adl._adl_metaMusicTitle(this.midi);
|
|
3200
|
+
const title = ptr ? this.adl.UTF8ToString(ptr) : "";
|
|
3201
|
+
this.port.postMessage({ type: "musicTitle", title });
|
|
3202
|
+
break;
|
|
3203
|
+
}
|
|
3204
|
+
case "getMusicCopyright": {
|
|
3205
|
+
const ptr = this.adl._adl_metaMusicCopyright(this.midi);
|
|
3206
|
+
const copyright = ptr ? this.adl.UTF8ToString(ptr) : "";
|
|
3207
|
+
this.port.postMessage({ type: "musicCopyright", copyright });
|
|
3208
|
+
break;
|
|
3209
|
+
}
|
|
3111
3210
|
case "play":
|
|
3112
3211
|
if (this.adl._adl_atEnd(this.midi) !== 0) {
|
|
3113
3212
|
this.adl._adl_positionRewind(this.midi);
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "libadlmidi-js",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"libadlmidi": {
|
|
5
5
|
"version": "1.6.2",
|
|
6
|
-
"commit": "
|
|
6
|
+
"commit": "89284b0b63e236ccaf84ac2763574738840d37b4"
|
|
7
7
|
},
|
|
8
8
|
"description": "WebAssembly build of libADLMIDI - OPL3/FM synthesis for the browser",
|
|
9
9
|
"main": "dist/libadlmidi.js",
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
"build:types": "tsc",
|
|
55
55
|
"build:banks": "node scripts/copy-banks.js",
|
|
56
56
|
"build": "npm run build:wasm && npm run build:js && npm run build:types && npm run build:banks",
|
|
57
|
+
"setup:emsdk": "bash scripts/setup-emsdk.sh",
|
|
57
58
|
"clean": "rm -rf build-* dist/*.js dist/*.wasm dist/*.d.ts dist/*.map dist/fm_banks",
|
|
58
59
|
"test": "npm run build:types && vitest run",
|
|
59
60
|
"test:watch": "vitest",
|
|
@@ -85,12 +86,12 @@
|
|
|
85
86
|
"url": "https://github.com/libadlmidi-js/libadlmidi-js.git"
|
|
86
87
|
},
|
|
87
88
|
"devDependencies": {
|
|
88
|
-
"@eslint/js": "^
|
|
89
|
+
"@eslint/js": "^10.0.1",
|
|
89
90
|
"@playwright/test": "^1.57.0",
|
|
90
91
|
"@types/node": "^25.0.3",
|
|
91
92
|
"esbuild": "^0.27.2",
|
|
92
|
-
"eslint": "^
|
|
93
|
-
"globals": "^
|
|
93
|
+
"eslint": "^10.0.3",
|
|
94
|
+
"globals": "^17.4.0",
|
|
94
95
|
"playwright": "^1.57.0",
|
|
95
96
|
"typescript": "^5.9.3",
|
|
96
97
|
"vitest": "^4.0.16"
|