@mwplugs ok i figured out a long handed way to achieve this..
declaring the midi modules in oninit
const var MIDIPlayer1 = Synth.getMidiPlayer("MIDI Player1");
const var Transposer1 = Synth.getMidiProcessor("Transposer1");
then i have to manually add the note range i want to trigger with transpose
function onNoteOn()
{
if(Message.getNoteNumber() == 36)
{
var timeStamp = Message.getTimestamp();
MIDIPlayer1.play(timeStamp);
Message.ignoreEvent(true);
Transposer1.setAttribute(Transposer1.TransposeAmount, -1);
}
if(Message.getNoteNumber() == 37)
{
var timeStamp = Message.getTimestamp();
MIDIPlayer1.play(timeStamp);
Message.ignoreEvent(true);
Transposer1.setAttribute(Transposer1.TransposeAmount, 1);
}
}
then the noteoff messages
{
if(Message.getNoteNumber() == 36)
{
var timeStamp = Message.getTimestamp();
MIDIPlayer1.stop(timeStamp);
Message.ignoreEvent(true);
}
if(Message.getNoteNumber() == 37)
{
var timeStamp = Message.getTimestamp();
MIDIPlayer1.stop(timeStamp);
Message.ignoreEvent(true);
}
}
i KNOW there is a much more efficient way to achieve this...however im not good with arrays and indexes. and i wouldnt be mad if someone optimized this code for 0-24 with note 12 root :) but as of now it works lol