Commit Graph

189 Commits

Author SHA1 Message Date
Robbert van der Helm b8f8dd7236 Log cached audioMasterGetTime() calls
Just like we log cached VST3 function calls.
2021-04-29 00:41:56 +02:00
Robbert van der Helm 2cf5f2dfb9 Fix missing timestamps since yabridge 3.0.0 2021-02-24 21:07:01 +01:00
Robbert van der Helm dc7c988623 Fix segfault in REAPER due to new vendor extension
This `effVendorSpecific` call would pass a non-zero non-pointer value to
the pointer argument, which would then of course result in segfaults.
2021-02-15 21:15:22 +01:00
Robbert van der Helm 39da1b1e1c Add missing whitespace in VST2 debug logs 2021-02-15 20:51:45 +01:00
Robbert van der Helm 2ea3f52632 Fix double timestamps in Wine STDERR logger 2021-02-13 17:42:30 +01:00
Robbert van der Helm 0ef15fc911 Add human readable name for effGetTailSize opcode 2021-02-13 17:34:51 +01:00
Robbert van der Helm e57c642cfe Also log IBStream metadata keys 2021-02-13 17:29:35 +01:00
Robbert van der Helm 907925d660 Log process context contents in IInfoListener::setChannelContextInfos 2021-02-13 16:40:24 +01:00
Robbert van der Helm 4f8eaaaa75 Refactor plugin factories into Vst3*Proxy format
Now every proxy object that's directly created by the host or plugin
shares the same structure.
2021-02-13 15:42:05 +01:00
Robbert van der Helm 4e4ed3a6b4 Don't serialize input output info for IComponent::getRoutingInfo
Yes, input output info.
2021-02-12 19:24:33 +01:00
Robbert van der Helm 67091bc13c Don't serialize input info for IComponent::getBusInfo 2021-02-12 19:12:49 +01:00
Robbert van der Helm e62bd603f9 Don't serialize input arrangement for IAudioProcessor::getBusArrangement 2021-02-12 19:08:51 +01:00
Robbert van der Helm 2020acfec1 Don't serialize input info for IEditController::getParameterInfo 2021-02-12 19:02:27 +01:00
Robbert van der Helm 5978247a0b Don't serialize input size for IPlugView::GetSize 2021-02-12 18:58:33 +01:00
Robbert van der Helm a1bb522ea0 Move piping stream lines to the log to common 2021-02-12 18:35:07 +01:00
Robbert van der Helm b5dd806b2d Cache VST3 parameter information
This is in some cases needed to get decent performance in REAPER, as
REAPER seems to query this information (which cannot change without the
plugin requesting a restart) four times per second.
2021-01-30 22:24:05 +01:00
Robbert van der Helm fc3c3524fd Hide IAudioProcessor::getLatencySamples in logs
On verbosity level 1
2021-01-30 16:11:29 +01:00
Robbert van der Helm 1043776e52 Differentiate between cached values in logs
If it turns out we forgot to flush this cache in some place.
2021-01-30 13:56:58 +01:00
Robbert van der Helm 9858db25d2 Show IComponent::getBusCount on verbosity level 1
The only reason this was hidden is because REAPER spams it, but it also
spams `IComponent::getBusInfo` which we cannot hide.
2021-01-30 01:51:14 +01:00
Robbert van der Helm 77414c80d6 Allow null pointers in IEditController::setComponentHandler 2021-01-24 14:51:18 +01:00
Robbert van der Helm 0044bc6b60 Allow passing null pointers to IPlugView::setFrame 2021-01-24 14:44:42 +01:00
Robbert van der Helm 1b804bd5ea 💥 Convert between UID formats for class IDs
This is a breaking change. Old projects containing VST3 plugins running
through yabridge will no longer work without modifications. I'll write
some scripts to convert the class IDs stored in those project files soon
a migration path.

The UIDs reported by the plugin were apparently wrong, which meant that
the native Linux VST3 version of plugin X and the normal Windows VST3
version of plugin X used different class ideas than the Windows VST3
version of plugin X running through yabridge. Those things are supposed
to be compatible, so we sadly needed to make this change at some point.
2021-01-22 14:24:40 +01:00
Robbert van der Helm d3d57a3fe0 Use UID conversion for GetControllerClassId 2021-01-22 14:13:27 +01:00
Robbert van der Helm ae0d7263b8 Use UID conversion for IsPlugInterfaceSupported
I assume that this would also be necessary here, right?
2021-01-22 13:50:06 +01:00
Robbert van der Helm f8ac296ec7 Print the tempo part of VstTimeInfo
At debug level 2. This was needed to debug an issue with Renoise.
2021-01-21 20:04:35 +01:00
Robbert van der Helm 6b992e7c9a Add logging for IParameterFunctionName 2021-01-17 14:10:01 +01:00
Robbert van der Helm 1dc900aff9 Add logging for IProgress 2021-01-17 00:19:01 +01:00
Robbert van der Helm 1ab9056a82 Add logging for IProcessContextRequirements 2021-01-16 16:17:34 +01:00
Robbert van der Helm 701271c273 Add logging for IPlugInterfaceSupport 2021-01-16 14:49:24 +01:00
Robbert van der Helm 26c78df37c Add logging for IMidiLearn 2021-01-16 13:57:43 +01:00
Robbert van der Helm cc35e89252 Add logging for INoteExpressionPhysicalUIMapping 2021-01-15 19:17:42 +01:00
Robbert van der Helm 07e84c78b3 Add a TODO for Wine logging prefixes 2021-01-14 17:32:49 +01:00
Robbert van der Helm d9d508a47e Add logging for IComponentHandlerBusActivation 2021-01-14 16:24:46 +01:00
Robbert van der Helm 0d674d6185 Add logging for IPlugViewContentScaleSupport 2021-01-14 14:46:29 +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 2e57631d39 Add logging for IInfoListener 2021-01-12 17:00:58 +01:00
Robbert van der Helm 892aaab65a Add logging for IPrefetchableSupport 2021-01-12 15:33:14 +01:00
Robbert van der Helm 73f3db88e0 Add logging for IUnitHandler2 2021-01-10 23:51:54 +01:00
Robbert van der Helm 609360537c Add logging for IAutomationState 2021-01-10 23:36:11 +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 ec1149e5ce Add logging for IXmlRepresentationController 2021-01-08 17:53:30 +01:00
Robbert van der Helm bdfd235ea0 Add logging for IKeyswitchController 2021-01-08 17:05:23 +01:00
Robbert van der Helm 70b667f3b0 Add logging for IEditControllerHostEditing 2021-01-08 16:27:12 +01:00
Robbert van der Helm 0617bfb565 Add logging for IContextMenu 2021-01-07 14:47:00 +01:00
Robbert van der Helm 5d0df7febe Fully implement IContextMenuTarget 2021-01-07 00:17:55 +01:00
Robbert van der Helm 48787b5e60 Add logging for IContextMenuTarget 2021-01-06 23:49:41 +01:00
Robbert van der Helm 5dffba4584 Implement Vst3ContextMenuProxyImpl destructor 2021-01-06 22:52:35 +01:00
Robbert van der Helm 79319413f5 Add logging for IComponentHandler3 2021-01-06 21:48:02 +01:00
Robbert van der Helm fe8211180f Add logging for IAudioPresentationLatency 2021-01-04 22:25:09 +01:00