Commit Graph

1298 Commits

Author SHA1 Message Date
Robbert van der Helm 1c7a5e08a0 Check for null pointers in input parameter changes
This is not allowed to be a null pointer, but the SDK's plugin validator
will pass a null pointer anyways.
2020-12-29 17:32:33 +01:00
Robbert van der Helm ccba1ce36c Add IProgramListData request and response objects 2020-12-29 16:11:25 +01:00
Robbert van der Helm 22269570d0 Add stubs for IProgramListData 2020-12-29 15:53:01 +01:00
Robbert van der Helm c2f1722f14 Add a proxy class for IProgramListData 2020-12-29 15:47:25 +01:00
Robbert van der Helm c1118af21c Update the readmes for merging into master 2020-12-29 15:39:41 +01:00
Robbert van der Helm b34762db29 Mention that XEmbed is only available on master 2020-12-29 15:23:22 +01:00
Robbert van der Helm 5a3b6319bd Add VST3 status to supported DAWs list 2020-12-29 15:17:19 +01:00
Robbert van der Helm 7946a1d874 Set the global bridge instance to null on deinit
Hosts like Qtractor will deinitialize the module only to then
immediately initialize it again, so without this we would get an
assertion failure in `InitModule()`.
2020-12-29 14:57:45 +01:00
Robbert van der Helm 902b05ddc0 Update todos in the readme 2020-12-29 14:42:36 +01:00
Robbert van der Helm 1e1eaee69c Log the entire speaker arrangement bitsets
This makes it very clear why lots of plugins don't work in Ardour right
now.
2020-12-29 13:13:15 +01:00
Robbert van der Helm c42c05a795 Make BusInfo logging more verbose 2020-12-29 01:26:25 +01:00
Robbert van der Helm 49745d23f1 Fix IEditController::createView log message 2020-12-29 00:50:27 +01:00
Robbert van der Helm 0a05558a8c Make the persistent buffer thread local
Now that we allow ad hoc socket spawning for the audio sockets.
2020-12-29 00:39:23 +01:00
Robbert van der Helm 33806139e9 Revert "Allow disabling ad-hoc socket spawning"
It turns out we can't safely disable this, because in some situations we
still have these mutually recursive function calls. We could optimize
this a bit to have those calls be handled by the general sockets, but
this is much more manageable.

This reverts commit 415c1b5683.
2020-12-29 00:25:44 +01:00
Robbert van der Helm 4226ab6e43 Pass pointers to IMessage objects around
Instead of serializing the actual `YaMessage`, for the reasons mentioned
in the comments. This was needed to stop iZotope VocalSynth 2 in Ardour
from segfaulting when editing parameters, because that plugin is
apparently being very naughty.
2020-12-29 00:22:42 +01:00
Robbert van der Helm 2c3312b452 Merge branch 'master' into feature/vst3 2020-12-28 11:51:28 +01:00
Robbert van der Helm ae71536639 Add back __cdecl on older Wine versions 2020-12-28 11:50:08 +01:00
Robbert van der Helm dd74e54854 Add FIXME for a crazy design issue in VocalSynth 2
They're exchanging pointers between the processor and the controller
using messages. And not only that, they're storing the message objects
instead of storing the pointers.
2020-12-28 00:38:35 +01:00
Robbert van der Helm 9cacf03765 Add missing lambda return type annotations 2020-12-27 23:34:40 +01:00
Robbert van der Helm 047c7691e2 Flip the logging prefixes
This makes it easier to visually distinguish the direction of the
request.
2020-12-27 23:24:42 +01:00
Robbert van der Helm 9c3b3a0ca9 Fix typo in plugin factory logging 2020-12-27 18:37:07 +01:00
Robbert van der Helm d6a33b422d Fix Vst3Bridge stderr logger
This was trying to free `std::cerr`, which of course won't work.
2020-12-27 18:33:09 +01:00
Robbert van der Helm 5773c471f9 [yabridgectl] Don't purge VST3 yabridge.toml
We only want to consider directories here.
2020-12-27 18:25:13 +01:00
Robbert van der Helm 2823a74783 Implement all IUnitInfo functions
With this IUnitInfo has been fully implemented.
2020-12-27 18:07:32 +01:00
Robbert van der Helm 163c936286 Add logging for the new IUnitInfo structs 2020-12-27 17:55:22 +01:00
Robbert van der Helm 1229518fb5 Add request and response structs for IUnitInfo 2020-12-27 17:20:53 +01:00
Robbert van der Helm 70c5792593 Implement IUnitInfo::getSelectedUnit 2020-12-27 16:48:47 +01:00
Robbert van der Helm fbef37b924 Disable blitting on window position changes
This slightly reduces flickering because redraws are now a bit faster.
2020-12-27 15:08:39 +01:00
Robbert van der Helm 35c7138333 Add a background brush to the window
So the background always gets cleared out when the window resizes.
2020-12-27 14:37:43 +01:00
Robbert van der Helm 86c8b284a2 Mention the XEmbed Wine patch in the readme 2020-12-27 13:31:16 +01:00
Robbert van der Helm 07d57771c1 Fix IPluginFactory implementation level detection
These were not getting initialized, and could thus evaluate to true if
you're unlucky.
2020-12-27 13:03:49 +01:00
Robbert van der Helm 095716d248 Fix retrieving old-style class infos
Most plugins implement IPluginFactory3 so this slipped through. Melodyne
5 apparently does not.
2020-12-27 13:00:20 +01:00
Robbert van der Helm 14c47c1c09 Change plugin factory logging format 2020-12-27 13:00:20 +01:00
Robbert van der Helm d34b399ba0 Implement IUnitInfo::getProgramPitchName 2020-12-26 23:20:13 +01:00
Robbert van der Helm e414c58a7a Implement IUnitInfo::hasProgramPitchNames 2020-12-26 23:04:02 +01:00
Robbert van der Helm f96e6b5a1e Implement IUnitInfo::getProgramInfo 2020-12-26 23:00:15 +01:00
Robbert van der Helm 204765ec0c Implement IUnitInfo::getProgramName 2020-12-26 22:38:15 +01:00
Robbert van der Helm 60f6b30b84 Implement IUnitInfo::getProgramListInfo 2020-12-26 22:17:21 +01:00
Robbert van der Helm 92a7cb755a Implement IUnitInfo::getProgramListCount 2020-12-26 22:10:46 +01:00
Robbert van der Helm 999cf45d6a Fix the return type for IUnitInfo::getUnitCount 2020-12-26 22:07:12 +01:00
Robbert van der Helm 5e832a2689 Implement IUnitInfo::getUnitInfo 2020-12-26 22:03:26 +01:00
Robbert van der Helm f3e706a39a Implement IUnitInfo::getUnitCount 2020-12-26 21:33:19 +01:00
Robbert van der Helm aed369c4be Add stubs for IUnitInfo
This is a big boy.
2020-12-26 21:18:11 +01:00
Robbert van der Helm f940d3371b Allow casting YaComponentInfo to IUnitHandler
Quite an important detail.
2020-12-26 21:13:23 +01:00
Robbert van der Helm bce3afa5e4 Revert "Mostly fix editor GUIs drifting in negative coords"
I've also tried a lot of other things, but none of the solutions I've
tried work 100% of the time. It sounds like a better idea to have
something that doesn't work consistently than to have something that
inconsistently sort of works. Setting the size in `WM_WINDOWPOSCHANGING`
to (0, 0) fixes the drifting, but the mouse coordinates are still wrong
and `SetWindowPos()` breaks the reparenting.

This reverts commit db2cc5800a.
2020-12-26 18:13:40 +01:00
Robbert van der Helm db2cc5800a Mostly fix editor GUIs drifting in negative coords
I think some rounding in Wine is causing this issue, but then again
we're not supposed to send these ConfigureNotify events to the window
directly anyways.
2020-12-26 16:30:25 +01:00
Robbert van der Helm 47177ed889 Implement IUnitHandler::notifyProgramListChange
With this IUnitHandler has been fully implemented.
2020-12-26 14:30:28 +01:00
Robbert van der Helm bf40e10780 Implement IUnitHandler::notifyUnitSelection 2020-12-26 14:26:29 +01:00
Robbert van der Helm 934aea3860 Add IUnitHandler stubs to component handler proxy 2020-12-26 14:17:10 +01:00
Robbert van der Helm 5e26d30752 Add a wrapper for IUnitHandler 2020-12-26 14:12:40 +01:00