Hmm, this could be a problem. When an instrument plugin is loaded, the number of inputs is typically 0. newSampleBuffer() will refuse to create an instance with 0 channels, so it returns NULL here. Then in pluginChainProcessAudio(), segfault can be triggered here:

https://github.com/teragonaudio/MrsWatson/pull/169/files#diff-192a10e5945b12a64da47f7a4eab6e5eR283

Rather than adding additional null checks in pluginChainProcessAudio(), I would instead suggest changing this line to look like so:

    int numInputs = self->getSetting(self, PLUGIN_NUM_INPUTS);
    self->inputBuffer = newSampleBuffer(numInputs > 0 ? numInputs : getNumChannels(), getBlocksize());

I guess numInputs would actually have to be declared at top of scope because VS doesn't support C99, but you get the idea.