Commit Graph

239 Commits

Author SHA1 Message Date
Robbert van der Helm 3d690a370b Change the todo about IComponentHandler3
This is actually supported by hosts. It's just that plugins don't seem
to use it.
2021-01-07 17:34:44 +01:00
Robbert van der Helm f944bf4a39 Fully implement IContextMenu
Although all of this stuff is completely untested, and since no host on
Linux uses it we'll likely never know whether this implementation is
correct.
2021-01-07 16:47:28 +01:00
Robbert van der Helm 83d45eef27 Implement the plugin side of IContextMenu 2021-01-07 16:19:41 +01:00
Robbert van der Helm 9e159d278d Add message structs for IContextMenu 2021-01-07 14:30:52 +01:00
Robbert van der Helm 5d0df7febe Fully implement IContextMenuTarget 2021-01-07 00:17:55 +01:00
Robbert van der Helm 48787b5e60 Add logging for IContextMenuTarget 2021-01-06 23:49:41 +01:00
Robbert van der Helm 1d75fbedc6 Add message structs for IContextMenuTarget 2021-01-06 23:34:22 +01:00
Robbert van der Helm c1576658d6 Split up a ConstructArgs from YaContextMenuTarget
So we can send this as a payload when the plugin adds a context menu
item.
2021-01-06 23:23:11 +01:00
Robbert van der Helm 053a288cd5 Add message structs for IComponentHandler3 2021-01-06 21:09:54 +01:00
Robbert van der Helm abe7085ab5 Add stubs for IComponentHandler3 2021-01-06 20:55:27 +01:00
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 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 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 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 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 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 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 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 a8a0e325fe Fully implement INoteExpressionCOntroller 2021-01-02 18:40:34 +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 ecd9d6c2df Change YaAudioBusBuffers parameter order
So it matches the other constructor.
2020-12-30 15:55:58 +01:00
Robbert van der Helm 1ecdc5f270 Add a better list with unimplemented interfaces 2020-12-30 14:43:29 +01:00
Robbert van der Helm 651ebd4db3 Update the ViewRect in checkSizeConstraint() 2020-12-30 14:35:18 +01:00
Robbert van der Helm 8458ea041f Add a TODO for a missing return value 2020-12-30 14:18:42 +01:00
Robbert van der Helm 3553b080fe Implement IUnitData
With this all VST 3.0.0 interfaces are finally supported.
2020-12-29 22:00:22 +01:00
Robbert van der Helm f85912fd25 Add logging for IUnitData structs 2020-12-29 21:51:53 +01:00
Robbert van der Helm 53c5e46b4c Add the request and response structs for IUnitData 2020-12-29 21:48:38 +01:00
Robbert van der Helm 104cdef919 Add a proxy class for IUnitData 2020-12-29 21:48:29 +01:00
Robbert van der Helm 1c7a5e08a0 Check for null pointers in input parameter changes
This is not allowed to be a null pointer, but the SDK's plugin validator
will pass a null pointer anyways.
2020-12-29 17:32:33 +01:00
Robbert van der Helm ccba1ce36c Add IProgramListData request and response objects 2020-12-29 16:11:25 +01:00
Robbert van der Helm 22269570d0 Add stubs for IProgramListData 2020-12-29 15:53:01 +01:00
Robbert van der Helm c2f1722f14 Add a proxy class for IProgramListData 2020-12-29 15:47:25 +01:00
Robbert van der Helm c1118af21c Update the readmes for merging into master 2020-12-29 15:39:41 +01:00
Robbert van der Helm 4226ab6e43 Pass pointers to IMessage objects around
Instead of serializing the actual `YaMessage`, for the reasons mentioned
in the comments. This was needed to stop iZotope VocalSynth 2 in Ardour
from segfaulting when editing parameters, because that plugin is
apparently being very naughty.
2020-12-29 00:22:42 +01:00