Crash! đź’Ą Please Help!

No, you don’t. Mainstage does not support VST or VST3 formats, you must use the AU format. And because Apple applications are the only one that REQUIRE the AU format, many developers don’t test the AU format with other plugin hosts.

GP tends to exercise more of the APIs used for implementing plugins than do many other hosts (including DAWs) and sometimes plugin developers don’t implement some of those APIs properly or they make assumptions that they shouldn’t and that’s generally what leads to problems.

For example, some developers assume incorrectly that the Window Handle they are given for a plugin editor window will always be valid so they cache it and reuse it. Some plugin hosts do reuse the handle but you don’t have to (and we don’t) and so depending on that assumption can be an issue.

Another thing we’ve seen from time to time is that some plugins don’t like being “reset”. The developer has made the (invalid) assumption that a plugin will never be reset more than once when it’s first loaded. But in GP, there can be several cases where we do want to reset plugins (predictive loading is a good example) and a plugin that doesn’t tolerate being reset can crash.

There are other cases where we have seen some strange behavior, again due to invalid assumptions about how the plugin will be used. I won’t mention names but we encountered an effects plugin once from a well-known company that did audio processing only, no MIDI and so no MIDI port was exposed. In a channel strip model this is not an issue because MIDI events don’t get passed into an audio effects plugin but the GP paradigm is much more general and if a plugin should not respond to MIDI events it should be ignoring MIDI that arrives along the way but this plugin was processing MIDI events coming from controllers anyway and so parameters got changed unexpectedly.

You’d be surprised at some of the things we’ve seen.

6 Likes