Skip to content

Instantly share code, notes, and snippets.

@tvandervossen
Created May 9, 2018 18:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tvandervossen/b9e075a696788a4203e487f346a45d88 to your computer and use it in GitHub Desktop.
Save tvandervossen/b9e075a696788a4203e487f346a45d88 to your computer and use it in GitHub Desktop.
loadAPI(1);
host.defineController("Roger Linn Design", "LinnStrument", "1.0", "B7DD06CB-63BA-4902-879E-050B09D3058F");
host.defineMidiPorts(1, 1);
host.addDeviceNameBasedDiscoveryPair(["LinnStrument MIDI"], ["LinnStrument MIDI"]);
function init()
{
host.getMidiInPort(0).setMidiCallback(onMidi);
noteInput = host.getMidiInPort(0).createNoteInput("", "??????");
noteInput.setUseExpressiveMidi(true, 0, 24);
var yesNo = ["Yes", "No"];
shouldSendInit = host.getPreferences().getEnumSetting("Send initialization messages", "MPE", yesNo, "Yes");
shouldSendInit.addValueObserver(function (should)
{
if (should == "Yes")
{
sendInitializationMessages();
}
});
if (shouldSendInit == "Yes")
{
sendInitializationMessages();
}
}
function sendInitializationMessages()
{
sendChannelController(0, 127, 15);
// Set up pitch bend sensitivity to 48 semitones (00/00)
sendChannelController(0, 100, 0); // Registered Parameter Number (RPN) - LSB*
sendChannelController(0, 101, 0); // Registered Parameter Number (RPN) - MSB*
sendChannelController(0, 38, 0);
sendChannelController(0, 6, 24);
}
function onMidi(status, data1, data2)
{
}
function exit()
{
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment