vst~ hosting a MIDI plug-in seems to pass "dry" signal through?

Aqeel Aadam's icon

I'm primarily a plug-in developer, but I'm trying to put together a M4L wrapper for my plug-in, so that it can be used in Ableton a bit more easily.

My setup is pretty simple, at it's core. Basically midiin --> midiparse --> vst~ --> midiout.

Here's the issue that I'm having: whatever MIDI I send into vst~ seems to get passed through unaffected, in addition to whatever the plug-in actually generates/outputs. One feature of my plug-in is that it can transpose notes. So in that case, it takes the incoming note, generates a new note with a different pitch, and removes the original from the stream. However, with M4L I'm seeing that the original note still passes through the vst~ object, so rather than transposing, I get an interval/chord.

I've combed through the options and messages that vst~ accepts, but I'm not seeing some obvious control for whether or not MIDI should be passed through. I'm kind of a noob though, so it's very possible that I've missed something.

Martin Olavarria's icon

 Hi Aqeel.
Sounds like a straightforward process. Can you share your patch to check the basics? 


Aqeel Aadam's icon

I created a basic proof-of-concept to verify my issue. I'm not sure if the patch will be super helpful on its own since it's hard coded to use my plug-in, but any MIDI FX plug-in could be swapped in to demonstrate the issue. Basically, I'm seeing that any MIDI signal gets passed through the plug-in, no matter what logic it has internally (presumably some plug-ins want to keep the "dry" MIDI but others want to clobber it.. like mine). I'm not sure if there's a message to send to vst~ that I'm missing.

Max Patch
Copy patch and select New From Clipboard in Max.

Martin Olavarria's icon

Right, It seems to be a known issue. If you search around post on the forum there are a few versions.

The difference between VST2 and VST3 the main one, but also if you are using OSX or Windows.

Aqeel Aadam's icon

Ahh, I see... that's a huge bummer. It looks like I won't be able to release this M4L wrapper with such a fundamental part of the functionality busted. Shame.

Martin Olavarria's icon

Well I hope you find another way, or the issue gets tackled at some point.

Aqeel Aadam's icon

I issued a support ticket to Cycling74, though I'd be somewhat surprised if it got fixed.

I also had the presence of mind to test the AU version of my plug-in (which you can't normally use within Ableton, but possible in M4L), and it's even more busted than the VST3 version. It loads but basically doesn't do anything - can't start playback and generate notes, can't process notes, etc. I verified this behavior with the AU versions of some other MIDI plug-ins that I have as well. I'd imagine that the plug-ins aren't getting the transport information, sample rate, and/or BPM, which is why they're refusing to do anything.

Definitely disappointing. It seems that MIDI FX are sort of the forgotten ugly duckling of the plug-in world.