/**
 * Minified by jsDelivr using Terser v5.37.0.
 * Original file: /npm/webmidi-mapper@1.0.1/dist/webmidi-mapper.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.midiMaps=exports.debugMidi=exports.onDrumPad=exports.onButtonPress=exports.onRotaryEncoderChange=exports.onFaderChange=exports.init=exports.WebMidi=void 0;var _webmidi=require("webmidi"),_webmidi2=_interopRequireDefault(_webmidi),_maps=require("./maps/maps"),_maps2=_interopRequireDefault(_maps);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var maxMidiValue=127,midiDeviceReady=!1,midiInputDevice=!1,midiMap=!1;function init(e,i){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;_webmidi2.default.enable((function(a){a?(console.warn("[WebMidi] Could not be enabled: ",a),i(midiDeviceReady=!1)):(console.log("[WebMidi] Enabled!"),_webmidi2.default.inputs.length>0?(console.log("[WebMidi] Available inputs: ",_webmidi2.default.inputs),midiInputDevice=_webmidi2.default.inputs[n],midiDeviceReady=!0,console.log("[WebMidi] Connected: "+midiInputDevice.manufacturer+" "+midiInputDevice.name),void 0!==_maps2.default[e]?midiMap=e:console.warn("[WebMidi] Map: "+e+" not found! Check if this map exists or create your own..."),i(midiDeviceReady)):(console.warn("[WebMidi] No MIDI Devices available!"),i(midiDeviceReady=!1)))}))}function onFaderChange(e,i){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];midiDeviceReady&&midiMap&&void 0!==_maps2.default[midiMap].faders[e]&&midiInputDevice.addListener("controlchange","all",(function(a){if(_maps2.default[midiMap].faders[e]===a.controller.number){var t=n?a.value:a.value/maxMidiValue;i(t)}}))}function onRotaryEncoderChange(e,i){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];midiDeviceReady&&midiMap&&void 0!==_maps2.default[midiMap].rotary_encoders[e]&&midiInputDevice.addListener("controlchange","all",(function(a){if(_maps2.default[midiMap].rotary_encoders[e]===a.controller.number){var t=n?a.value:a.value/maxMidiValue;i(t)}}))}function onButtonPress(e,i){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];midiDeviceReady&&midiMap&&void 0!==_maps2.default[midiMap].buttons[e]&&midiInputDevice.addListener("controlchange","all",(function(a){_maps2.default[midiMap].buttons[e]===a.controller.number&&(n?i(a.value):a.value===maxMidiValue&&i())}))}function onDrumPad(e,i){midiDeviceReady&&midiMap&&void 0!==_maps2.default[midiMap].drum_pads[e]&&midiInputDevice.addListener("noteon","all",(function(n){_maps2.default[midiMap].drum_pads[e]===n.note.number&&"noteon"===n.type&&i()}))}function debugMidi(e){midiDeviceReady&&(midiInputDevice.addListener("controlchange","all",(function(i){e(i.controller.number,i.value,getKeyFromValue(_maps2.default[midiMap],i.controller.number,!1))})),midiInputDevice.addListener("noteon","all",(function(i){e(i.note.number,maxMidiValue,getKeyFromValue(_maps2.default[midiMap],i.note.number,!0))})))}function getKeyFromValue(e,i){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],a=Object.keys(e);if(n){for(var t="drum_pads",d=Object.keys(e[t]),o=0;o<d.length;o++)if(e[t][d[o]]===i)return{category:t,key:d[o]}}else{var r=a.indexOf("drum_pads");r>-1&&a.splice(r,1);for(var u=0;u<a.length;u++)for(var l=Object.keys(e[a[u]]),m=0;m<l.length;m++)if(e[a[u]][l[m]]===i)return{category:a[u],key:l[m]}}return{category:!1,key:!1}}function midiMaps(){return _maps2.default}Object.prototype.getKey=function(e){var i=this;return Object.keys(i).find((function(n){return i[n]===e}))},exports.WebMidi=_webmidi2.default,exports.init=init,exports.onFaderChange=onFaderChange,exports.onRotaryEncoderChange=onRotaryEncoderChange,exports.onButtonPress=onButtonPress,exports.onDrumPad=onDrumPad,exports.debugMidi=debugMidi,exports.midiMaps=midiMaps;
//# sourceMappingURL=/sm/5324c33a6c0489ba915c23d915873c57322c1df4d8f234e88b5e50243915e6e3.map