Commit Graph

1439 Commits

Author SHA1 Message Date
Robbert van der Helm 609360537c Add logging for IAutomationState 2021-01-10 23:36:11 +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 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