Commit Graph

900 Commits

Author SHA1 Message Date
Robbert van der Helm a8a0e325fe Fully implement INoteExpressionCOntroller 2021-01-02 18:40:34 +01:00
Robbert van der Helm 26c04cf246 Update winedbg GDB proxy support
The GDB proxy now seems to work again, but only in remote sessions.
2021-01-02 18:21:18 +01:00
Robbert van der Helm 1b47522de8 Fix YaPlugView::IsPlatformTypeSupported logging
Even though this branch will never be hit.
2021-01-02 17:16:27 +01:00
Robbert van der Helm a3770387cc Add logging for INoteExpressionController messages 2021-01-02 15:42:58 +01:00
Robbert van der Helm 8a4de7da53 Add stubs for INoteExpressionController 2021-01-02 15:27:55 +01:00
Robbert van der Helm 3c99d43247 Add message structs for INoteExpressionController 2021-01-01 23:37:43 +01:00
Robbert van der Helm c6276d03a1 Add a proxy class for INoteExpressionController 2021-01-01 21:37:38 +01:00
Robbert van der Helm 34f8d3b1d2 Update the copyright notices for 2021 2021-01-01 18:54:02 +01:00
Robbert van der Helm 5f8926f8ae Defer Win32 window closing
This gets rid of all potential delays when closing windows.
2020-12-31 14:18:26 +01:00
Robbert van der Helm fa0753f520 Use atomic fetch-and-add for unique window classes 2020-12-31 14:12:14 +01:00
Robbert van der Helm c3c0f96585 Get rid of CS_HREDRAW and CS_VREDRAW
This causes the window to black out to fully redraw even when the
plugin's editor window can just draw over the new parts.
2020-12-31 13:31:44 +01:00
Robbert van der Helm 9d24d422d1 Log successful FUnknown::queryInterface calls 2020-12-31 13:13:39 +01:00
Robbert van der Helm 8d79bcfa02 Print a warning when using Ardour 2020-12-30 23:01:17 +01:00
Robbert van der Helm b6a2752882 Log bus types and flags 2020-12-30 17:12:06 +01:00
Robbert van der Helm 42b9cf902c Swap read_object arguments to match write_object 2020-12-30 16:38:19 +01:00
Robbert van der Helm ecd9d6c2df Change YaAudioBusBuffers parameter order
So it matches the other constructor.
2020-12-30 15:55:58 +01:00
Robbert van der Helm 1ecdc5f270 Add a better list with unimplemented interfaces 2020-12-30 14:43:29 +01:00
Robbert van der Helm 651ebd4db3 Update the ViewRect in checkSizeConstraint() 2020-12-30 14:35:18 +01:00
Robbert van der Helm 8458ea041f Add a TODO for a missing return value 2020-12-30 14:18:42 +01:00
Robbert van der Helm 3553b080fe Implement IUnitData
With this all VST 3.0.0 interfaces are finally supported.
2020-12-29 22:00:22 +01:00
Robbert van der Helm f85912fd25 Add logging for IUnitData structs 2020-12-29 21:51:53 +01:00
Robbert van der Helm 53c5e46b4c Add the request and response structs for IUnitData 2020-12-29 21:48:38 +01:00
Robbert van der Helm 104cdef919 Add a proxy class for IUnitData 2020-12-29 21:48:29 +01:00
Robbert van der Helm bddcc40e24 Implement IProgramListData on the plugin side
With this the interface is fully implemented.
2020-12-29 19:11:12 +01:00
Robbert van der Helm 96fe8b16a5 Add more explicit moves in VST3 message handling
The compiler might be smart enough to do this for us, but doing it
manually doesn't hurt.
2020-12-29 18:54:57 +01:00
Robbert van der Helm 38211d0fb3 Implement IProgramListData on the Wine side 2020-12-29 18:50:17 +01:00
Robbert van der Helm 3704ca8cb0 Add logging for the YaProgramListData structs 2020-12-29 18:37:28 +01:00
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 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 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 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