M9 Docs   Using MIDI Controllers

Besides the fact that you can use MIDI events (including MIDI control change events (MIDI CC)) to trigger context functions (see Function Shortcuts) you can also use MIDI CC events to control module parameters. For example you could map the modulation wheel on your MIDI keyboard to the cutoff of the lowpass filter of a synth.

The easiest way to map a MIDI CC to a MUX module parameter is to right-click the parameter knob -> "Map MIDI Controller". This will open a dialog panel and when you tweak your MIDI controller it will automatically be recognized as the source.

For VST / CLAP plugins the procedure is similar but because MUX Modular has no access to the plugin editor itself, instead of right-clicking a plugin parameter you give it a little tweak and then open the plugin context menu via the Options button at the top of the plugin editor, there you'll find "Map MIDI Controller" and you'll see that the last tweaked parameter is already set as the target parameter.

MIDI Mapping Location

MuLab is constructed in a modular way.
You can see it as a tree structure with the root being the Project Modular Area.
Each module (also VST / CLAP plugins are modules) has its own MIDI controller map.
So MIDI CC mappings can exist on any modular level in the modular tree structure.
If you map a MIDI CC by right-clicking a parameter (as explained above), then the mapping is stored into the module that currently has MIDI input focus, which is not necessarily that parameter's module itself.

A concrete example:
Imagine you have a modular synth and you would map CC1 to the cutoff of its filter module.
Now that filter module is a sub-module of the synth and when the synth is selected the MIDI focus goes to the synth (rack), not that specific filter sub-module and so the mapping would not be effective because the filter 1 would not receive the MIDI CC events, as they're sent to the synth (rack).
So in this case (right-clicking the parameter) the MIDI CC mapping is automatically stored in the synth (rack).

When you use the module's context menu -> Map MIDI Controller or Edit MIDI Controller Map, then you're effectively editing that specific module's MIDI controller map, no automatic re-leveling then.

Conclusion: To keep it simple and easy, right-click a parameter -> Map MIDI Controller. To have precise control over where the MIDI mapping is stored (eg when you want to save a MIDI mapping within a MUX preset) use the module's Map MIDI Controller or Edit MIDI Controller Map functions.

Project-Wide MIDI Mappings

If you want to use MIDI controllers that are always active independent from the current MIDI input focus, then put the mapping on the project level, as that's the highest modular level. You can do so using the "Edit Project MIDI Input Controller Map" function. (MuLab -> "PROJECT" menu), or click the main "MODULAR" button at the top of the project window, there click the Options button (at the top-left) and use Map MIDI Controller / Edit MIDI Controller Map to create project global mappings.

Copy As Parameter Event

Also in the parameter context menu is the "Copy As Parameter Event" function. This function copies the current parameter value as a parameter event on the clipboard. Then you can paste the parameter event in an event sequence in your composition, via the Event List Editor. So this way you can create initialization events for a certain parameter. Note that the target module of that specific sequence clip must be the module of that parameter, otherwise the target module won't recognize the parameter.

Table Of Contents