VST3 MIDI Plugins Won't Load in Ableton Live

I’m building a plugin that generates MIDI and I’m having trouble loading the VST3 build in Ableton Live. Same goes for the ArpeggiatorPlugin demo that comes with Juce 5.4.5:

This happens on both Windows and Mac (Mojave) in the latest Ableton Live version (10.1.5). Other Juce VST3 plugins load just fine (e.g. the GainPlugin), and the VST2 version of my own plugin works flawlessly.

Does anyone know what the problem is here?

https://forum.juce.com/t/midi-projucer-settings-ableton-live-arrpeggiator/27983

Thanks, but that’s not the same problem. I get an error when I try to put the plugin on any track. Ableton just won’t instantiate it.

OK, I found a solution. Checking “plugin is a synth” in the Projucer and adding an audio output to the processor does the trick.

This will work for me (I was planning to output audio anyway) but surely it must be possible to do MIDI only VST3 plugins?

1 Like

Is there any additional information on this? I’m having the exact same issue, but checking “plugin is a synth” isn’t working for me. The plugin will load in the JUCE audio host, but nothing else. I’ve tried Ableton and FL Studio, on both Mac and Windows, after compiling in Xcode and VS2019, respectively. I keep getting the same error message listed at the top of this thread.

I haven’t really investigated any further, I’m afraid.

How are the output buses of your plugin set up? IIRC it quite possible to load up a VST3 with no outputs in the AudioPluginHost, but not in Ableton.

1 Like

The thing with Ableton VST3 is they don’t allow to have empty input bus.
I’ve logged it with Ableton (and you can reference to it):
ABLDEV-00057

I guess it might be the same with FL.

1 Like

Yup, that appears to be the problem. I just downloaded Reaper and my VST opens with no issues. Thanks so very much for pointing this out. This was slowly driving me insane.

Thanks for clearing that up… everything makes more sense now :slight_smile:

Hmm… it seems that Ableton Live will load other VST3 plugins with no audio inputs just fine. If I load up any of the Arturia V Collection VST3 plugins in the AudioPluginHost, I see they have no audio input busses - and they work just fine in Live.

I think this must be a JUCE problem somehow?

I’m able to make it work if I don’t check the box for MIDI Effect Plugin. I haven’t checked to see what’s different about the resulting code with this box checked, but the problem could be related to this.

Thanks, works for me too.

I guess I need to spend some time studying the generated code too… those properties are not very intuitive :frowning:

Hi I’m just stumbling over the EXACT same problem: loading any MIDI related plugin into Ableton won’t load. I’ve tried all different configurations, “Plugin is a Synth”, “Plugin MIDI Input / Output”, “MIDI Effect Plugin” but it still fails to load. Even the arpeggiator example and any new project I generate has this problem.

Is there anything else I can try to make this work?
Any help is hugely appreciated!

It’s been awhile since I had the problem so my memory is a bit hazy on exactly which options I had checked off, but what ended up working for me was specifically not checking “MIDI Effect Plugin,” which is ironic since the only thing my plugin does is affect MIDI. Still, the plugin then started to compile.

Okay, thank you, thats really strange then. Unfortunately that doesn’t cut it for me. :frowning:
I’ll keep trying things but I am slowly running out of ideas haha

Can you get the MidiLogger demo from the JUCE repo to load in Live? I remember having to enable some unused audio channels in order for it to load properly.

Yes! The MidiLogger does load! So strange… I have copied the exact same settings to a new project and that seems to work, but only as an effect and not an instrument. I’ll make some more tests but it seems be related to the VST3 category maybe… Thanks for the tip reuk :slight_smile:

I found this in the MidiLogger code:

static BusesProperties getBusesLayout()
{
    // Live doesn't like to load midi-only plugins, so we add an audio output there.
    return PluginHostType().isAbletonLive() ? BusesProperties().withOutput ("out", AudioChannelSet::stereo())
                                            : BusesProperties();
}

This is what you meant with unused audio channel! Got it. :slight_smile: :+1:t3:

2 Likes

Unfortunately this doesn’t appear to have been fixed in Live 11 D:

I stumbled accross it following this tutorial:
https://docs.juce.com/master/tutorial_plugin_examples.html

as nicolezim pointed out it works in the midilogger tutorial.
Ableton needs an audiooutput. The easiest way ist to instatiate the Audioprocessor like this:

Arpeggiator()
: AudioProcessor (BusesProperties().withOutput (“out”, AudioChannelSet::stereo())) //

so the BusesProperties are set to have an audio output. now ableton was happy