No midi messages in process block?


#1

Hi Everyone,

First post :slight_smile:

I’m trying to make a basic midi plugin for studio one, but I’m having trouble intercepting midi messages.

I followed the making an audio plugin tute, and the plugin loads in Studio One for me (v3.3.4.41922)

But it doesn’t adjust the volume like it’s supposed to.

So I put in a test int and incremented it in different places to see what was happening with the execution. As you can see in the code comments below, processBlock appears to be firing. but midiMessages appears to be empty :confused:

The first number in the text field in the plugin screenshot is a test int in the editor class, the second one is the test int below in the processor code.

Any suggestions?


#2

Have you also overridden the following methods:

bool isMidiEffect() const override                  { return true; }
bool acceptsMidi() const override                   { return true; }
bool producesMidi() const override                  { return true; }

Also, have you tested your plug-in in other DAWs. Not all DAWs support MIDI effect plug-ins.


#3

The template code created by JUCE already sets these three bools properly, I tried you snippet anyway though but neither way makes any difference.

It seems pretty clear that JUCE’s ability to process midi messages in Studio One is broken at the moment, which is frustrating. I just wanted to do a simple audio plugin that displayed lyrics based on midi input, but until this bug is fixed there isn’t really anything I can do :disappointed:


#4

Re other daws, I’m not making this plugin for distribution, I’m making it for personal use.

And I use Studio One so… ¯_(ツ)_/¯


#5

Ah wait, I get it.

I’ve been trying to do it as an effect, I need to do it as an instrument.

(the multiOutSynth plugin example worked fine for me).


#6

Still, you might want to add a note for studio one users to your very first tute to warn them that it won’t work for them…