Robbert van der Helm
89111d2f5f
Add stubs for IUnitHandler2
2021-01-10 23:49:58 +01:00
Robbert van der Helm
cbb8ebaf5d
Add a proxy class for IUnitHandler2
2021-01-10 23:44:10 +01:00
Robbert van der Helm
c62c67a96c
Add a message structs for IAutomationState
2021-01-10 23:34:23 +01:00
Robbert van der Helm
cfa1aff1bf
Add stubs for IAutomationState
2021-01-10 23:32:55 +01:00
Robbert van der Helm
ba983be99f
Add a proxy class for IAutomationState
2021-01-10 23:32:55 +01:00
Robbert van der Helm
c938068cf5
Update VST3 implementation level
...
We're now at VST 3.6.0.
2021-01-10 17:46:56 +01:00
Robbert van der Helm
e28a73e88a
Remove old todo regarding IStreamAttributes
2021-01-10 17:45:58 +01:00
Robbert van der Helm
d632d5643d
Relax IBStream reading even further
...
And reset the seek position after reading. This new approach where we
also read from empty IBStreams to provide a perfect proxy would
otherwise cause plugins to crash in Bitwig when either loading or saving
state.
2021-01-10 17:41:55 +01:00
Robbert van der Helm
4fdd50d1a3
Relax assertions in stream reading
...
Reading 0 bytes in Bitwig will return kResultFalse.
2021-01-10 17:34:42 +01:00
Robbert van der Helm
c514233922
Write back preset meta data set by the plugin
...
The docs don't mention that this is a thing you should support, but
`IStreamAttributes` doesn't make much sense without this.
2021-01-10 17:26:26 +01:00
Robbert van der Helm
8971a65825
Pass through host provided IBStream objects
...
So if the host supports IStreamAttributes, we can also provide objects
that support the same itnerface to the plugin.
2021-01-10 16:57:36 +01:00
Robbert van der Helm
9b603a964c
Implement IStreamAttributes when reading from host
...
This allows presets to contain meta data about file names and the type
of preset.
Even though the docs don't mention that this is also relevant for
`getState()`, we should also implement it there so plugins can write
their own meta data.
2021-01-10 16:23:45 +01:00
Robbert van der Helm
9b62386099
Move VectorStream to a new YaBStream
...
We'll have to extend this with `IStreamAttributes` for VST 3.6.0 preset
meta data.
2021-01-10 15:12:47 +01:00
Robbert van der Helm
b3406189e7
Add messages for IXmlRepresentationController
2021-01-08 17:47:10 +01:00
Robbert van der Helm
2072310b2b
Add stubs for IXmlRepresentationController
2021-01-08 17:43:43 +01:00
Robbert van der Helm
ebd887d565
Add a proxy class for IXmlRepresentationController
2021-01-08 17:33:49 +01:00
Robbert van der Helm
e21568a38e
Add message structs for IKeyswitchController
2021-01-08 16:59:53 +01:00
Robbert van der Helm
7969ec20fd
Add stubs for IKeyswitchController
2021-01-08 16:53:43 +01:00
Robbert van der Helm
4ef734dc5a
Add a proxy class for IKeyswitchController
2021-01-08 16:44:58 +01:00
Robbert van der Helm
78243c265f
Add message structs for IEditControllerHostEditing
2021-01-08 16:25:00 +01:00
Robbert van der Helm
eed068b9f7
Add stubs for IEditControllerHostEditing
2021-01-08 16:18:45 +01:00
Robbert van der Helm
66020f3056
Add a proxy class for IEditControllerHostEditing
2021-01-08 16:12:38 +01:00
Robbert van der Helm
25af73c86e
Update the context menu status
2021-01-07 20:22:32 +01:00
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