Compiling two plugins: one as "synth" and another as MIDI effect

Bumping this because I think I hopefully found a solution that doesn’t require CMake.

First you have to check the plugin characteristic Plugin MIDI Input, Plugin MIDI Output, and MIDI Effect Plugin, but leave Plugin Is A Synth unchecked.

Secondly, you have to remove the #if and #endif directives from the audio processor constructor, to add a “dummy” input and output. If you comment them out, it should look like this:

MyFirstPluginAudioProcessor::MyFirstPluginAudioProcessor()
#ifndef JucePlugin_PreferredChannelConfigurations
: AudioProcessor (BusesProperties()
//#if ! JucePlugin_IsMidiEffect
//#if ! JucePlugin_IsSynth
.withInput (“Input”, juce::AudioChannelSet::stereo(), true)
//#endif
.withOutput (“Output”, juce::AudioChannelSet::stereo(), true)
//#endif
),
#endif

From what I’ve tested so far, this allows Logic to see the plugin as a “MIDI Effect”, and Ableton to see it as a regular effect (because of the dummy input/output). I still need to test this on other DAWS, but Logic and Ableton were my top priority and I now have one Projucer project that works with both. Hope this helps anyone who’s dealing with the same problem!

1 Like

OT: to make your code more readable, please indent every line with 4 spaces, or surround the whole code with three backticks before and after, like this:

```
void your_code_here ()
{
}
``` 

The same is obtained by selecting the code in your post while editing, then pressing the button that has this symbol on it: </>

Ah thank you for letting me know! I guessed and used the blockquote button instead