UNPKG

webdaw-modules

Version:

a set of modules for building a web-based DAW

46 lines 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createNotes = void 0; var index = 0; exports.createNotes = function (events) { var filtered = events.reduce(function (acc, val) { // console.log(val.type); if (val.type === 0x80 || val.type === 0x90) { acc.push(val); } return acc; }, []); // filtered = sortMIDIEvents(filtered); var notes = []; var tmp = {}; filtered.forEach(function (e) { var id = e.trackId + "-" + e.noteNumber; // console.log(e.ticks, e.type, id); if (e.type === 0x90) { if (tmp[id]) { // console.warn(`note existed already! ${id}`); } else { tmp[id] = e; } } else if (e.type === 0x80) { if (!tmp[id]) { // console.warn(`note doesn't exist! ${id}`); } else { var noteOn = tmp[id]; var note = { id: "note-" + new Date().getTime() + "-" + index++, noteOn: noteOn, noteOff: e, }; notes.push(note); delete tmp[id]; } } }); // console.log(notes); return notes; }; //# sourceMappingURL=createNotes.js.map