Commit Graph

937 Commits

Author SHA1 Message Date
Robbert van der Helm 237b755c52 Add a proxy class for IComponentHandler3 2021-01-06 20:53:10 +01:00
Robbert van der Helm 1c5ba427c2 Serialize the context menu ID 2021-01-06 19:19:33 +01:00
Robbert van der Helm ead1008597 Add stubs for IContextMenuTarget 2021-01-06 19:02:52 +01:00
Robbert van der Helm 5e1f75c20f Add missing GCC diagnostic pop 2021-01-06 19:02:52 +01:00
Robbert van der Helm d3eeebc9f9 Add a proxy class for context menu targets 2021-01-06 19:02:52 +01:00
Robbert van der Helm 0cbcf44e3e Add stubs for an IContextMenu implementation 2021-01-06 19:02:52 +01:00
Robbert van der Helm 1267b725a6 Still add support for multiple context menus
Even though having more than one of these open at a time will be
impossible, I could see some misbehaving plugin keeping an old context
menu pointer around and dropping it when another context menu is open,
which would otherwise cause the new context menu to get destroyed.
2021-01-06 19:02:52 +01:00
Robbert van der Helm fbbd2f0671 Add proxy classes for IContextMenu
So we can proxy objects returned by the host during
`IComponentHandler3::createContextMenu`.
2021-01-06 17:16:03 +01:00
Robbert van der Helm 2f5d22ca17 Handle effMainsChanged on the main UI thread #75
This fixes EZdrummer not producing any sound, as the plugin presumably
schedules some task on the Win32 message loop to load its resources,
which won't happen if this is run from any other thread.
2021-01-05 23:04:18 +01:00
Robbert van der Helm 0e3b5af94e Fully implement IAudioPresentationLatency
Now we support all VST 3.1.0 interfaces.
2021-01-04 22:33:44 +01:00
Robbert van der Helm fe8211180f Add logging for IAudioPresentationLatency 2021-01-04 22:25:09 +01:00
Robbert van der Helm 85d90217bd Add message structs for IAudioPresentationLatency 2021-01-04 22:25:02 +01:00
Robbert van der Helm dcfbc34ba1 Add stubs for IAudioPresentationLatency 2021-01-04 22:17:19 +01:00
Robbert van der Helm 44f42d7e02 Add a proxy class for IAudioPresentationLatency 2021-01-04 22:06:05 +01:00
Robbert van der Helm 9983f81875 Fully implement IComponentHandler2 2021-01-04 21:56:14 +01:00
Robbert van der Helm 0ed9438ffb AAdd logging for the IComponentHandler2 messages 2021-01-04 21:49:22 +01:00
Robbert van der Helm d16cf4eb01 Add message structs for IComponentHandler2 2021-01-04 21:46:05 +01:00
Robbert van der Helm a997a7cd20 Add stubs for IComponentHandler2 2021-01-04 21:36:25 +01:00
Robbert van der Helm ffde7642f3 Add a proxy class for IComponentHandler2 2021-01-04 21:29:12 +01:00
Robbert van der Helm 5311c9ca6e Add logging for IHostApplication::createInstance 2021-01-04 16:50:19 +01:00
Robbert van der Helm 74c5728100 Get rid of old todos 2021-01-04 16:48:15 +01:00
Robbert van der Helm 4ec8b01bcc Completely run effEditIdle from a timer
Although it hasn't shown up, this will get rid of the possibility of
off-thread effEditIdle calls causing issues. And since we need some way
to run call this function while the event loop is running anyways, doing
it entirely from a timer similar to how hosts on Windows would do it
seems like the best solution.
2021-01-04 15:50:17 +01:00
Robbert van der Helm c554b9b4ab Use SW_MINIMIZE instead of SW_HIDE
Before deferring closing the editor. This still gets rid of that issue
in Wine's X11drv that would result in a double destroy, and it also gets
rid of a delay that would still occur in Carla.
2021-01-04 13:54:01 +01:00
Robbert van der Helm 37c43970f3 Serialize the IMidiMapping support
I forgot this, so hosts would think plugins supported IMidiMapping when
they really didn't.
2021-01-04 00:24:31 +01:00
Robbert van der Helm 8924124abb Fully implement IParameterFinder
With this we're at VST 3.0.2 support.
2021-01-03 23:46:13 +01:00
Robbert van der Helm 52d4fe2f08 Add a wrapper struct around IPlugView for casts 2021-01-03 23:43:51 +01:00
Robbert van der Helm ace0d789d3 Add logging for the IParameterFinder messages 2021-01-03 23:27:57 +01:00
Robbert van der Helm 00632dc920 Add message structs for IParameterFinder 2021-01-03 23:24:14 +01:00
Robbert van der Helm 52de84f81f Add a proxy class for IParameterFinder 2021-01-03 23:18:21 +01:00
Robbert van der Helm 71eadff1ed Fix rare X11 error on editor closing
With the new deferred closing behaviour, closing the editor of Vital's
VST2 version would trigger an X11 error in Wine's X11drv. This doesn't
seem to happen with other plugins (or the VST3 version of Vital) and the
fact that this workaround even works is strange to say the least, but at
least it does work.
2021-01-03 16:49:23 +01:00
Robbert van der Helm fb6e5ab33f Fully implement IMidiMapping 2021-01-02 23:54:01 +01:00
Robbert van der Helm e980afddb4 Add stubs for IMidiMapping 2021-01-02 23:49:47 +01:00
Robbert van der Helm 792e6ed233 Add logging for the IMidiMapping messages 2021-01-02 23:43:41 +01:00
Robbert van der Helm 17d2d21bef Add request structs for IMidiMapping 2021-01-02 22:21:02 +01:00
Robbert van der Helm 315148d628 Add a proxy class for IMidiMapping 2021-01-02 22:13:54 +01:00
Robbert van der Helm 176e7fd1ae Add a comment on why we don't set a background 2021-01-02 19:42:37 +01:00
Robbert van der Helm 4a7b560972 Revert "Add a background brush to the window"
While this does get rid of artifacts, it can also add a brief moment
where the gray background becomes visible when the window reconfigures
which can look jarring.

This reverts commit 35c7138333.
2021-01-02 19:32:28 +01:00
Robbert van der Helm a8a0e325fe Fully implement INoteExpressionCOntroller 2021-01-02 18:40:34 +01:00
Robbert van der Helm 26c04cf246 Update winedbg GDB proxy support
The GDB proxy now seems to work again, but only in remote sessions.
2021-01-02 18:21:18 +01:00
Robbert van der Helm 1b47522de8 Fix YaPlugView::IsPlatformTypeSupported logging
Even though this branch will never be hit.
2021-01-02 17:16:27 +01:00
Robbert van der Helm a3770387cc Add logging for INoteExpressionController messages 2021-01-02 15:42:58 +01:00
Robbert van der Helm 8a4de7da53 Add stubs for INoteExpressionController 2021-01-02 15:27:55 +01:00
Robbert van der Helm 3c99d43247 Add message structs for INoteExpressionController 2021-01-01 23:37:43 +01:00
Robbert van der Helm c6276d03a1 Add a proxy class for INoteExpressionController 2021-01-01 21:37:38 +01:00
Robbert van der Helm 34f8d3b1d2 Update the copyright notices for 2021 2021-01-01 18:54:02 +01:00
Robbert van der Helm 5f8926f8ae Defer Win32 window closing
This gets rid of all potential delays when closing windows.
2020-12-31 14:18:26 +01:00
Robbert van der Helm fa0753f520 Use atomic fetch-and-add for unique window classes 2020-12-31 14:12:14 +01:00
Robbert van der Helm c3c0f96585 Get rid of CS_HREDRAW and CS_VREDRAW
This causes the window to black out to fully redraw even when the
plugin's editor window can just draw over the new parts.
2020-12-31 13:31:44 +01:00
Robbert van der Helm 9d24d422d1 Log successful FUnknown::queryInterface calls 2020-12-31 13:13:39 +01:00
Robbert van der Helm 8d79bcfa02 Print a warning when using Ardour 2020-12-30 23:01:17 +01:00