Multiple MIDI channel outputs from one plugin?

I’m trying to send MIDI information out on three separate channels from my plugin.

Writing separately for each channel :


However, in my DAW (FL Studio) to get the instrument to send out MIDI at all, I need to specify which MIDI channel it sends on, and then the messages go out only on that.

Is this a limitation of FL Studio? Or the VST format? Or is there something else I can do in my plugin to get it to go out on multiple channels?

Bumped in case anyone missed this who might know the answer :slight_smile:

It’s entirely up to the DAW what it chooses to do with the MIDI your plugin produces. As a plugin writer it’s a good idea to use at least a few different DAWs so you can test behaviours like this yourself.

re: what Jules replied :
Reaper is cheap as chips.
Ableton Live demo you can use (without being able to save/export) indefinitely.

Agreed, it seems to be a host thing.

FL Studio doesn’t support it, but there’s a workaround. A plugin called MidiChannelFilter from

Basically I just create three instances of this ChannelFilter, all listening on the port that my plugin outputs its 3 channels of MIDI to. Each instance of the filter is then tuned to pick up and forward one Midi channel, each to a separate output port.

It’s a faff. But does the job.

Re: FL Studio. I’ve been using it for nearly 18 years and have a tonne of music created with it. I don’t particularly want to decamp to a different commercial DAW. The only reason I would leave it is to move to a free-software DAW that I can run in Linux, such as LMMS.

I think you misunderstood, the point is those are 2 hosts that are either very cheap or free if all you want to do is test how your plugin behaves in another host. Not suggesting you dump FL at all. :slight_smile:

Ah, OK understand.

Actually I have tried my plugin in Ableton Live intro. And it seems to run. But as I’m far less familiar with Live I haven’t quite worked out how to route from my plugin to the instruments.

We have been able to do this with Stochas, but with one issue … Ableton! They have not thought about internal midi routing from software and all 16 midi channels get ‘smushed’ into 1. Not great for us as we have a multi layer setup with independent midi channel support.

We are looking at creating a separate tcp connection between each layer and a receiving plugin which will then route out again to another track, which can then be routed out to the instruments, but we have a concern over system resources and latency issues. Will probably start a separate thread with our finding on this, as I am pretty sure this will be something others will want at some point in the future.


I think I’m in a similar situation, however, with FL studio and input events.
It seems it doesn’t support overlapping (duplicate) midi notes being played as it squishes them to the same channel, producing an erroneous stream of midi events

For example:

Keyboard Events: A1.1-down --------> A1.2-down ------> A1.1-up ---------------------------------> A1.2-up

When I get the midi results in processBlock I get:

MIDI Input - Channel 1: A1-down --------> A1-down ------> A1-up ---------------------------------> A1-up

Which translates to:

Keyboard Events: A1.1-down --------> A1.2-down ------> A1.?-up ---------------------------------> A1.?-up

Is this a known issue with FL studio/Ableton, or is this something to do with plugin configuration?