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

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 2.0.0
    361
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 2.0.0
    361
  • 1.0.1
    42
  • 1.0.0
    2
  • 0.1.0
    5

Package Sidebar

Install

npm i midievents

Weekly Downloads

194

Version

2.0.0

License

MIT

Unpacked Size

58.3 kB

Total Files

18

Last publish

Collaborators

  • nfroidure