Kontakt 6 vst3 gui issue with wide NKI's

We have noticed vst3 issues with the current version of Juce. This one seems similar to a lot of others we’ve encountered and is easy to repro, so here goes.
Have Kontakt 6 installed and load it into the host.
Download and unzip the example NKI here Example NKI
Here’s a video showing the repro
Video Repro

Please can you let us know which JUCE commit you’re currently using? We made a few changes to our handling of VST3 scaling and sizing recently, so I’d like to confirm that you’re using those changes before spending time trying to reproduce the issue. Thanks!

Hi Reuk, we are using Juce 6.1.2 from 09-20-2021

There were some additional changes made on the 30th September. Please can you check whether the issues are still present with the very latest develop branch? Thanks!

Yes, the latest build has fixed the issue! However, now when I load kontakt into the juce plugin host, I get two instances. It doesn’t happen with other vst3 files I tried.

Thanks for trying it out. I’ll see whether I can reproduce the new issue.

Thank you for being attentive to the post :slight_smile:

I just tried reproducing the issue but was unsuccessful.

After installing Kontakt 6 Player, I scanned for new VST3 plugins, then tried right-clicking and adding an instance of Kontakt. This successfully created a single plugin instance. I also tried removing Kontakt from the list of plugins, and then dragging-and-dropping Kontakt.vst3 into the main graph window. This also created a single plugin instance.

How exactly are you creating the plugin instances? Is it possible that you have multiple items selected when you drag-and-drop the plugins into the graph window?

It looks like MainHostWindow::filesDropped will create multiple plugin instances if the plugin scanner detects multiple different plugins in the list of dropped files. You could also try adding some lines like this to the top of the filesDropped function (MainHostWindow.cpp line 883):

DBG ("num items: " << (int) files.size());
for (const auto& item : files)
    DBG ("scanning: " << item);

The debugger output should then print the list of files that were dropped. If multiple items are being dropped, this might explain why several plugin instances are created.

I am just dropping a single vst3 file, not multiple.

Did you try adding the debug statements? What do they print when you drop the vst3?

Yes, this is what gets printed.

num items: 1
scanning: C:\Program Files\Common Files\VST3\Kontakt.vst3

That’s very odd. I still can’t reproduce the problem here. As I said earlier, MainHostWindow::filesDropped will create multiple plugin instances if the plugin scanner detects multiple different plugins in the list of dropped files. It sounds like this line is adding multiple plugin types to typesFound.

knownPluginList.scanAndAddDragAndDroppedFiles (formatManager, files, typesFound);

Perhaps you could try stepping into this function in a debugger and checking why multiple PluginDescriptions are being added to typesFound. My best guess at the moment is that the KnownPluginList contains duplicate entries for Kontakt for some reason. If you open the plugin manager (“Options → Edit the List of Available Plugins…” in the main menu) are there multiple entries for Kontakt? If so, does the problem go away if you remove one/all of the entries?

I have cleared the list of plugins so there’s none at all. Then drag/drop kontakt vst3 and it now loads only the one instance.

After a rescan of the vst3 folder, kontakt is back in the list, but drag/drop no longer creates two instances. So I guess it was a glitch.

1 Like