Jump to content

Full MIDI Re-Map


Recommended Posts

If you ever want to re-map your MIDI, there's two ways to do this.

Scripter

2143459822_FullMIDIRe-Map.thumb.png.aafa199bae51b5018945ccab97921fa2.png

 

The Environment.

EnvironmentSetup.thumb.png.896a64778867a7e11ffc4b5a5a6f4d21.png

 

The Environment has the advantage that the re-map notes get MIDI Recorded.

The Scripter doesn't, you'd have to go thru IAC to finally get the re-map notes to MIDI Record.

 

A scenario that I see a usage for this is, on a 88-keyboard, you can split the keyboard to play in two different scales.

One half, D Harmonic Minor and the other half F Major. :mrgreen:

Edited by ValliSoftware
Link to comment
Share on other sites

  • 5 months later...
  • 2 years later...

Hi  endud,

9 hours ago, endub said:

Is the actual script for this available somewhere?

I don't have the actual script that was originally shared, but here's my take on it:

// Function to create a menu plug-in parameter
function createMenu(name, valueStrings, defaultValue) {
  return {
    name,
    type: 'menu',
    valueStrings,
    defaultValue,
    numberOfSteps: 128,
  };
}

// Create an array of menu contents with index and note names
const menuContents = MIDI._noteNames.map((noteName, i) => `${i} - ${noteName}`);

// Initialize the PluginParameters array by mapping MIDI note names
var PluginParameters = MIDI._noteNames.map((_, index) => {
  // Construct the menu name using the index and note name
  const menuName = `${index} - ${MIDI._noteNames[index]}`;
  // Create a menu object using the createMenu function
  // with a unique name, shared menu contents, and the default value based on the index
  return createMenu(menuName, menuContents, index);
});

// Handle incoming MIDI events
function HandleMIDI(e) {
  if (e instanceof Note) {
    // If the event is a Note event, remap the pitch based on the selected menu value
    const menuValue = GetParameter(e.pitch);
    e.pitch = menuValue;
    e.send();
  } else {
    // Let non-Note events pass through
    e.send();
  }
}

J.

  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...