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
8ac39a3bf6
Mention symlinking entire directories to ~/.vst
2021-01-10 11:36:33 +01:00
Robbert van der Helm
d620117f6d
Mention option for disabling VST3 support in error
2021-01-09 23:35:46 +01:00
Robbert van der Helm
7801313566
Prevent building VST3 support on old Wine versions
...
Those builds will segfault because of an interaction between those
version of Wine's winelib support and the `CoCreateGuid` function.
2021-01-09 22:38:15 +01:00
Robbert van der Helm
9ee7d45a77
Fix consistency in meson command line arguments
2021-01-09 12:16:23 +01:00
Robbert van der Helm
c78fcbd3c0
Link with -mwindows instead of -mconsole again
...
I onderstood these wrong, we of course _don't_ want a visible console
window. (although that only seems to appear when running with winedbg)
2021-01-09 12:15:03 +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
67ddc8a987
Mention variations on the VstPlugins directory
2021-01-08 12:23:29 +01:00
Robbert van der Helm
3ac64ec27b
Update readme for Renoise 3.3.0
2021-01-07 23:05:44 +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