Okay, I figured it out. If anyone's interested, I was able to achieve what I wanted by modifying the script for the Scripter MIDI effect preset "Key Range" and saving it as a new preset. The modified script looks like this:
var activeNotes = [];
function HandleMIDI(event)
{
if (event instanceof NoteOn) {
if (event.pitch % 12 != GetParameter('Pitch') % 12)
return undefined;
else {
activeNotes.push(event);
event.send()
}
}
else if (event instanceof NoteOff) {
for (i=0; i < activeNotes.length; i++) {
if (event.pitch == activeNotes[i].pitch) {
event.send();
activeNotes.splice(i,1);
break;
}
}
}
else { // pass non-note events through
event.send();
}
}
var PluginParameters = [
{ name:'Pitch', type:'lin',
minValue:0, maxValue:127, numberOfSteps:127, defaultValue:115},
];