midievents

2.0.0 • Public • Published

midievents

Decode/encode MIDI events.

NPM version Build status Dependency Status devDependency Status Coverage Status Code Climate Dependency Status

What it does

  • Decode MIDI events
  • Check MIDI events (using strictMode)
  • Calculate needed buffer to encode MIDI events
  • Encode MIDI events

What it doesn't do

Usage

// Your variable with an ArrayBuffer instance containing your MIDI events
var anyBuffer;
 
// Parse MIDI events
var events = [];
var parser = new MIDIEvents.createParser(new DataView(anyBuffer), 0, false);
var event = parser.next();
 
do {
  events.push(event);
  event = parser.next();
} while(event);
 
// Check bufffer size before encoding
if(anyBuffer.length >= MIDIEvents.getRequiredBufferLength(events)) {
  console.log('ok');
}
 
// Encode MIDI events
var destination = new Uint8Array(anyBuffer);
MIDIEvents.writeToTrack(events, destination);
 

Contributing / Testing

Install them and run the following command :

npm install --dev
su npm install grunt-cli -g
grunt test

Contributing

  • Feel free to PR
  • If you find MIDI events the library can't read, create a test an do a pull request. I'll work on it asap.
  • Run npm run to get a list of useful development commands.

License

MIT

Package Sidebar

Install

npm i midievents

Weekly Downloads

177

Version

2.0.0

License

MIT

Unpacked Size

58.3 kB

Total Files

18

Last publish

Collaborators

  • nfroidure