Roland Sh101 getUnitCount returning 0

I’m adding VST3 plugin support to MuLab 9.
The beta version works fine, many VST3 plugins have already been tested.
One exception are the Roland plugins.
When inserting eg. the Roland SH101, its factory, component and controller are all instantiated as expected, until it gets to IUnitInfo->getUnitCount which returns 0, which is not allowed, right?
From there on things get even worse and the Roland plugin simply crashes upon calling IMidiMapping->getMidiControllerAssignment(0,0,0,parm_id);
When skipping that crash code line, the SH101 also crashes upon IPlugView->attached.
There clearly is something wrong. The debugger gives me the impression that the Roland SH101 is trying to access memory just above zero, thus maybe some data or virtual func from a null object?
As said, all other VST3 plugins are working fine. I have no idea what’s wrong.
At what typical point in a VST3 plugin’s lifetime is the unit info generated?
Any help / hints how to resolve these crashes with the Roland synths?

Does the plug-in pass the validator in the SDK? If not I would guess that Roland needs to fix the plug-in.

Thanks for the good tip Arne.

Here is the output of the validator on the Roland SH101.vst3:

TestSuite : General Tests

[Scan Editor Classes]
Info: ===Scan Editor Classes ====================================
Info: This component has an edit controller class
Info: Controller CID: {78769BE4-2D62-3368-7989-71555E5DC970}

[Scan Buses]
Info: ===Scan Buses ====================================
Info: => Audio Buses: [0 In(s) => 1 Out(s)]
Info: Out[0]: “Stereo Out” (Main-Default Active)
Info: => Event Buses: [1 In(s) => 0 Out(s)]
Info: In [0]: “Event In” (Main-Default Active)

[Scan Parameters]
Info: ===Scan Parameters ====================================
Info: This component does not export any parameters!

[MIDI Mapping]
Info: ===MIDI Mapping ====================================

So validator suddenly stops at the MIDI Mapping line.

I compared that to another VST3 in the validator and there each test clearly ends with “Succeeded” and at the very end: “Result: 47 tests passed, 0 tests failed”.

So i guess the Roland SH101 also crashes the validator, which proves the issue is in the Roland plugin, right?

The strange thing is that the SH101 does work well in some other DAWs.

Yeah, it looks like that the plug-in does not pass validation.
Maybe it works in some DAWs because the crashing stuff is not used in these DAWs.
But as it does not pass validation it’s clearly a task for Roland to fix it.

Thanks Arne.
I’ve forwarded the relevant info to Roland.
Curious for their reply.


No news yet. Will keep you posted.

1 Like