Robbert van der Helm
8bcb3d7095
Add a proxy class for IPrefetchableSupport
2021-01-12 15:18:46 +01:00
Robbert van der Helm
3b5cb272c0
Accept integer values for frame_rate
2021-01-12 00:24:16 +01:00
Robbert van der Helm
66d137f0e6
Add frame_rate to the example config file
2021-01-11 23:46:48 +01:00
Robbert van der Helm
bf3a4e7296
Allow changing the event loop tick rate
...
This also changes the refresh rate for most plugins. You can now lower
this setting if your computer is struggling to keep up with rendering a
certain heavy plugin.
2021-01-11 23:38:21 +01:00
Robbert van der Helm
b86df213fb
Change to SCHED_OTHER on IPlugView init/destruct
...
Instead of only on `IPlugView::attached`/`IPlugView::removed` like in
the previous commit. I forgot to also do this when creating and
destroying IPlugViews (since I can assume lots of plugins will then
already start loading resources).
2021-01-11 19:04:46 +01:00
Robbert van der Helm
8f15578d8c
Also disable realtime priority during effEditGetRect
...
Since on some hosts this is called before effEditOpen.
2021-01-11 18:53:36 +01:00
Robbert van der Helm
f015739942
Open and close editors without realtime priority
2021-01-11 18:50:53 +01:00
Robbert van der Helm
10b8ef7870
Use unique_ptr for managing the Vst3PluginBridge
...
Not quite sure why we were doing raw pointers before.
2021-01-11 17:09:43 +01:00
Robbert van der Helm
3ca7061659
Switch to SCHED_OTHER while handling events
...
GUI drawing should not be able to interrupt the cores that are handling
DSP, but it seems like that was happening for some people with
suboptimal kernel configurations. This will require some more extensive
testing to see if these changes don't actually increase DSP load.
2021-01-11 14:20:03 +01:00
Robbert van der Helm
e3ea1dd2fe
Allow an option set_realtime_priority() to revert
2021-01-11 14:04:54 +01:00
Robbert van der Helm
5855ffbe85
Fully implement IUnitHandler2
2021-01-10 23:54:43 +01:00
Robbert van der Helm
73f3db88e0
Add logging for IUnitHandler2
2021-01-10 23:51:54 +01:00
Robbert van der Helm
727956f476
Add message structs for IUnitHandler2
2021-01-10 23:50:59 +01:00
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
a2d1a97309
Fully implement IAutomationState
2021-01-10 23:38:40 +01:00
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