13
0
Commit Graph

8 Commits

Author SHA1 Message Date
bbc54873ae
VST3: GUI d'tor re-order
We have to call close_view(), which calls IPlugView::removed()
before destroying the parent widget.

Previously ~VST3PluginUI() was called after the derived class
destroyed the owned private `_gui_widget`, `_ns_view` or x11 parent.

On windows that may lead to the hwnd of the window becoming invalid
before the call to ::removed().
2020-12-14 19:29:53 +01:00
7e2bb01ff1
VST3: ignore GUI size allocations before realizing the view
This fixes crashes with some VST3s when calling `onSize()` before
attaching thew view (e.g. Reason Rack Plug on macOS).
2020-11-19 23:12:52 +01:00
b7c9917467
VST3: Fix initial GUI display and window-size 2020-09-23 18:14:57 +02:00
b8028f1239
VST3: fix initial display of custom plugin UI 2020-09-23 17:57:53 +02:00
2288279e57
No-OP: prefer constants from API header 2020-09-22 22:17:09 +02:00
48037dc545
Prevent concurrent use of VST3X11Runloop
In theory the GUI is single threaded and registration of
events happens only when a plugin GUI is constructed or
destroyed (which happens in the GUI thread).

Except it seems that if a plugin uses reference counting,
un-registration can happen later.
2020-09-21 21:18:50 +02:00
67b1481c12
VST3: work-around endless/recursive resize requests
Some plugins correct their own size when resized which can lead
to endlessly growing GUIs. In particular this issue exists
if Ardour's plugin-toolbar forces a plugin to grow in size to fill
the allocated space. While the plugin aims for fixed aspect-ratio.

This will need a proper solution involving VST's checkSizeConstraint,
however GTK+2 does not have an appropriate API...
2020-09-18 02:11:25 +02:00
1759ba96b6
VST3: Plugin GUI support 2020-09-17 00:10:21 +02:00