Jump to content

Edrwin Nahwlnin

Member
  • Posts

    1
  • Joined

  • Last visited

Edrwin Nahwlnin's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. Hi guys! I´ve been searching for a script that lets me transform polyphonic midi input into monophonic performance with LOW note priority. My primary goal is to layer a polyphonic pad with a monophonic bass so that the bass always plays the lowest note in the chord. I´ve already found one M4l device (http://www.maxforlive.com/library/device/437/midi-mono-ddg-mono) that works perfectly but i would like to do this in MainStage as well. Here is a script that i found (forgot where unfortunately) that ALMOST closes the deal. Just won't work with upward legato playing. I´m a complete illiterate when it comes to scripting so any help would be very appreciated. Cheers! /Edvin var NoteIsOn = 0; function SwitchNote(NoteNumber, Velo, state) { if(Velo == 0) return state; if(state == 0) { var on = new NoteOn; on.pitch = NoteNumber; on.velocity = Velo; on.send(); } else { var off = new NoteOff; off.pitch = NoteNumber; off.velocity = Velo; off.send(); } state = 1 - state; return state; } function Reset() { if(NoteIsOn == 1) NoteIsOn = SwitchNote(BassNoteNumber, 1, NoteIsOn); BassNoteNumber = 1000; } function HandleMIDI(event) { if(event instanceof NoteOn) { var Pitch = event.pitch; if(Pitch < BassNoteNumber) { if(NoteIsOn == 1) NoteIsOn = SwitchNote(BassNoteNumber, 1, NoteIsOn); // switch old note off BassNoteNumber = Pitch; NoteIsOn = SwitchNote(BassNoteNumber, event.velocity, NoteIsOn); // switch new Note on } } else if(event instanceof NoteOff) { var Pitch = event.pitch; if(Pitch == BassNoteNumber) { if(NoteIsOn == 1) NoteIsOn = SwitchNote(BassNoteNumber, 1, NoteIsOn); // switch old note off BassNoteNumber = 1000; } } else event.send(); }
×
×
  • Create New...