How to filter / mask MIDI messages to specific ports (both standard MIDI and SysEx)
By default, Morningstar controllers are designed to send all programmed messages to all available physical and virtual MIDI outputs. However, as your rig grows, you may need to "mask" or filter these messages so that specific data only reaches specific devices—for example, sending messages for one device only via Omniports while sending messages for other devices to your DIN5 output.
Most MIDI-controlled devices adhere to "MIDI Channel"-based messaging. Each device gets a channel (from 1 to 16), and it only replies on that channel. Therefore, most people never need to mask. However, these are some reasons you may need to filter / mask your MIDI messages:
- A device responds to all channels ("Omni") and can't be changed to respond to only one channel.
- A device can't handle too many MIDI messages at once and chokes up, so you only send its own messages to that port.
- A device has a bug where it is responding to MIDI messages that don't belong to it. This is especially common with SysEx messages that are typically meant to be tied to specific Manufacturer and Device IDs, but sometimes a device responds to the wrong messages.
- You have more than 16 MIDI-capable devices and you need to get creative with routing.
Here are the two primary methods to achieve this:
Method 1: Defining Outputs via MIDI Channel Settings
This is the most efficient method if you have a device dedicated to a specific MIDI channel and you want all messages for that channel to always go to the same set of outputs.
- Access General Configuration: Open the Morningstar Editor and navigate to Controller Settings > General Configuration.
- Open MIDI Channel Editor: Locate the section for MIDI Channels (labeled "MIDI Channel" or "Midi Channel Settings").
- Define Port Routing per Channel: For each MIDI channel (1-16), you will see a list of available output ports (DIN5, TRS, USB, Omniports, etc.).
- Select Desired Outputs: Check the boxes for the ports you want that specific channel to use. Uncheck the boxes for any ports you want to block for that channel.
- Save Settings: Once configured, any MIDI message programmed with that specific Channel number will automatically be "filtered" and sent only to your chosen ports.
Method 2: Setting a MIDI Output Mask with a "Utility" Message
This method is "on-the-fly" and allows you to change where messages are sent within a specific preset or bank. This is useful if you want to temporarily disable an output or change routing without altering your global settings. This is also useful for SysEx messages, including the "ML10X" and "ML5R" message types, which do not have a MIDI Channel and therefore broadcast to all devices.
- Edit a Preset: In the Morningstar Editor, select the switch preset you wish to edit.
- Add a Message: Click to add a new message to the preset’s message list. Use the appropriate action
- Select Type: Set the Type to Utility.
- Select Sub-type: Under the Utility options, look for the function labeled Set MIDI Output Mask.
- Configure the Mask: You will be presented with a list of output ports (DIN5, USB, Omniports, etc.). Select the ports you want to remain Active. Any port not selected will be Masked (blocked) until another "Set MIDI Output Mask" message is sent to change it back, or until the preset's actions are "complete."
Tip for Method 2: If you are sending MIDI to multiple devices and only ONE needs a mask, do it last so you don't have to define another mask that resets the first one. The mask automatically resets once the chain of events for that preset completes.
Updated on: 03/03/2026
Thank you!
