Check it out on…


I’m bringing together the two things I do best, theatre and software development, on a pretty epic project called The Last Defender with the House Theatre of Chicago. We have a stack of Arduinos, Raspberry Pis, Lighting, Sound, and Video control consoles that all need to coordinate, and the most reliable way to do so is to harken back to the 1980’s and run them with good old MIDI.

This module wraps the midi module, creating an object that allows you to pass and receive javascript objects with parameters that you’ll recognize, abstracting away the need to lookup hex values and construct byte arrays. For instance:

var msc = require('midi-show-control');
var output = msc.mscOutput();
output.openPort(0);
 
output.sendMsc({
    deviceId: 2,
    commandFormat: "sound.general",
    command: "go",
    cue: "25.5",
    cueList: "3.1",
    cuePath: "1.2"
})

Easy! Install from NPM and view the code on GitHub. Comments and pull requests welcome.