Commit Graph

9 Commits

Author SHA1 Message Date
9cbf3ae4ad
Who needs PIs for Plugin GUIs?
Use abstract base class for plugin UIs wherever possible
2022-04-14 16:35:03 +02:00
9eb626cc37 Auditioner: hide unnecessary widgets for auditioner synth GUI 2022-02-04 20:18:00 -06:00
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
1321999aec
VST3: macOS key forwarding 2020-11-03 12:09:31 +01:00
e71cc6892e
Fix MSVC linker issue
Static globals are not shared between .dll and .exe
the FUID needs to be declared in the GUI as well for
FUnknownPtr<> cast by UUID lookup to work
2020-10-09 18:28:53 +02:00
e3ca1f0605
VST3: Implement GUI scale factor extension 2020-10-08 15:36:36 +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