Commit Graph

1287 Commits

Author SHA1 Message Date
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
Robbert van der Helm b9b6129933 Rewrite the readme introduction 2020-12-26 13:57:57 +01:00
Robbert van der Helm d32e566446 Update the changelog for VST3 support 2020-12-26 13:57:57 +01:00
Robbert van der Helm 38f34f91f2 Update the readme for VST3 2020-12-26 13:57:57 +01:00
Robbert van der Helm f4ad43638f [yabridgectl] Update readme for VST3 2020-12-26 12:55:57 +01:00
Robbert van der Helm 57e23ee392 Rewrite X11 event mask
A literal like this is much more understandable.
2020-12-26 01:42:55 +01:00
Robbert van der Helm 86aaf2fa3a Implement IEditController2::openAboutBox
With this IEditController2 has been fully implemented.
2020-12-26 00:10:39 +01:00
Robbert van der Helm 3c5700163e Implement IEditController2::openHelp 2020-12-26 00:06:32 +01:00
Robbert van der Helm 91a96249fc Implement IEditController2::setKnobMode 2020-12-26 00:03:29 +01:00
Robbert van der Helm 448158df8f Update comments in Editor implementation 2020-12-25 22:53:33 +01:00
Robbert van der Helm 6b4df4d274 Explicitly include <mutex>
This is an indirect dependency in Boost 1.72/1.73, but not in older
versions.
2020-12-25 21:55:00 +01:00
Robbert van der Helm 80ef1ec394 Add XEmbed support back in
Still very much broken, albeit a bit less broken than a year ago.
2020-12-25 19:49:47 +01:00