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
07a994089b
Add missing null pointer checks
...
I did double check, and I don't think any of these are supposed to be
nullable.
2021-01-08 18:33:14 +01:00
Robbert van der Helm
2fc7621aee
Fully implement XmlRepresentationController
2021-01-08 18:02:43 +01:00
Robbert van der Helm
ec1149e5ce
Add logging for IXmlRepresentationController
2021-01-08 17:53:30 +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
30bb6d3b97
Fully implement IKeyswitchController
2021-01-08 17:12:17 +01:00
Robbert van der Helm
bdfd235ea0
Add logging for IKeyswitchController
2021-01-08 17:05:23 +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
5d5ec63fee
Fully implement IEditControllerHostEditing
2021-01-08 16:33:27 +01:00
Robbert van der Helm
70b667f3b0
Add logging for IEditControllerHostEditing
2021-01-08 16:27:12 +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
c375441971
Handle all IPlugView functions from the GUI thread
...
Melda plugins will freeze if GetSize wasn't called from the GUI thread
before.
2021-01-07 22:42:31 +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
0617bfb565
Add logging for IContextMenu
2021-01-07 14:47:00 +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
26eb8ac1f3
Store the actual context menu proxy impls
2021-01-07 00:07:48 +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
75284cea0b
Track registered context menus
...
So we can refer to them when the host executes a menu item later.
2021-01-06 23:09:55 +01:00
Robbert van der Helm
5dffba4584
Implement Vst3ContextMenuProxyImpl destructor
2021-01-06 22:52:35 +01:00
Robbert van der Helm
b9d4bd6042
Implement the Wine host side of IComponentHandler3
2021-01-06 22:41:45 +01:00
Robbert van der Helm
9e3c57476c
Implement the plugin side if IComponentHandler3
2021-01-06 22:25:23 +01:00
Robbert van der Helm
79319413f5
Add logging for IComponentHandler3
2021-01-06 21:48:02 +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
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