Hosting a VST as a component



I’m trying to achieve the following:
Loading a VST, calling CreateEditor and put the returned component on my main UI (not in its own window).
I need the VST editor to interact correctly with all the other components. for example, if i SetPosition him to X=-50, i expect it to be partially hidden under the component on the left.
To do that, i had to call sendToDesktop on the control hosting the VST editor so it will have its own window, then i called SetParent on the editor hoster component to put it back under my main app window.

my question is: Is there a better/simpler way to do it ?

Thanks in advance


I couldn’t get this to work either. I was able to load the VST UI into a resizable window, and add that to the main window … but the paint method is not called by the plugin UI unless it is in it’s own window.

Obviously referring to the UI component via pointer and calling the juce repaint method doesn’t do it either, since it’s some other VST based paint method that needs to be called?

There must be a simple way to ask a VST plugin to repaint?


Hmmm… I made a VST consisting of two “internal VSTs”, each of them showing their editor on the GUI of the host VST. Worked without using any dirty tricks…


Hi there!

Did you ever come up with a solution for this problem? I am trying to do exactly the same thing, namely drawing a VST GUI directly in a component (as a child component), but it does not repaint correctly.

Would it help to use AU versions of the plugin instead do you think?