Commit Graph

1479 Commits

Author SHA1 Message Date
Robbert van der Helm f24632ac8f Add proxy class for IComponentHandlerBusActivation 2021-01-14 16:08:48 +01:00
Robbert van der Helm 0bed2b7bc0 Fully implement IPlugViewContentScaleSupport
With this we're at VST 3.6.6 level support.
2021-01-14 14:52:39 +01:00
Robbert van der Helm 0d674d6185 Add logging for IPlugViewContentScaleSupport 2021-01-14 14:46:29 +01:00
Robbert van der Helm 3c642dc3de Add messages for IPlugViewContentScaleSupport 2021-01-14 14:45:04 +01:00
Robbert van der Helm c57090600e Add stubs for IPlugViewContentScaleSupport 2021-01-14 14:33:20 +01:00
Robbert van der Helm 8cfe2512ed Add a proxy class for IPlugViewContentScaleSupport 2021-01-14 14:30:06 +01:00
Robbert van der Helm 4c2d4320b4 Mention the performance frequency scaling governor 2021-01-13 21:41:09 +01:00
Robbert van der Helm 1770cfd2c0 Remove mentions of wine-nspa
This hasn't been updated in a while, so you're better off using
wine-tkg.
2021-01-13 21:34:44 +01:00
Robbert van der Helm 4110c76657 Mention threadirqs 2021-01-13 21:23:14 +01:00
Robbert van der Helm 561aee4963 Pass channel context data from the GUI thread
This fixes Melodyne crashing as it presumably immediately wants to
redraw upon receiving this.
2021-01-12 18:44:43 +01:00
Robbert van der Helm 23f681c742 Bump the supported VST3 version to 3.6.5 2021-01-12 17:16:54 +01:00
Robbert van der Helm 661e916eef Add todos for logging IAtributeList keys 2021-01-12 17:16:54 +01:00
Robbert van der Helm 631166d0bf Fully implement IInfoListener 2021-01-12 17:04:07 +01:00
Robbert van der Helm 2e57631d39 Add logging for IInfoListener 2021-01-12 17:00:58 +01:00
Robbert van der Helm 67303f3adc Add message objects for IInfoListeener 2021-01-12 16:58:37 +01:00
Robbert van der Helm ccdb121f96 Add stubs for IInfoListener 2021-01-12 16:54:13 +01:00
Robbert van der Helm 7c0f9b9a49 Add missing IPrefetchableSupport query interface 2021-01-12 16:22:28 +01:00
Robbert van der Helm 9c63eb6fcd Add a proxy class for IInfoListener 2021-01-12 16:15:35 +01:00
Robbert van der Helm 6905c65af8 Read preset meta data in the same way as contexts 2021-01-12 16:07:56 +01:00
Robbert van der Helm 149be2f8f9 Add a function for copying channel contexts
For proxying `IInfoListener::setChannelContextInfos`.
2021-01-12 16:01:34 +01:00
Robbert van der Helm 87b270273f Fully implement IPrefetchableSupport 2021-01-12 15:37:58 +01:00
Robbert van der Helm 892aaab65a Add logging for IPrefetchableSupport 2021-01-12 15:33:14 +01:00
Robbert van der Helm 2decaabb34 Add message structs for IPrefetchableSupport 2021-01-12 15:29:03 +01:00
Robbert van der Helm 7c081b458a Add stubs for IPrefetchableSupport 2021-01-12 15:24:37 +01:00
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