Commit Graph

1254 Commits

Author SHA1 Message Date
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
Robbert van der Helm 49eeee99fa Add an XEmbed compatibility option 2020-12-25 19:49:47 +01:00
Robbert van der Helm 7da5ec113c Reuse buffers in VST3 audio processing 2020-12-25 16:22:53 +01:00
Robbert van der Helm 8a56b67cb3 Add unknown interface logging on the Wine side 2020-12-25 15:25:56 +01:00
Robbert van der Helm cc2e12c8e4 Allow creating logger instances on the Wine side
So we can log filterable messages from the Wine side. Will be used to
warn about failed query interface calls.
2020-12-25 15:15:28 +01:00
Robbert van der Helm 70cb6dad89 Allow indirect IConnectionPoint connections
This is needed to support Ardour. These extra hops and serialization
steps will probably hurt performance, but outside of some huge hacks (to
connect the components directly anyways) there's not much else we can
do.
2020-12-25 14:21:18 +01:00
Robbert van der Helm fbad4a65ab Add an IConnectionPoint proxy implementation
We still have to pass this proxy to the plugin. That's next.
2020-12-25 13:46:03 +01:00
Robbert van der Helm 0fce9c9eed Add an IConnectionPoint proxy proxy
This is a bit dumb, but this way we can support indirectly connected
objects.
2020-12-25 13:28:03 +01:00
Robbert van der Helm 65694d261c Implement IConnectionPoint::notify 2020-12-25 13:13:56 +01:00
Robbert van der Helm 3566aa86a2 Fix IAttributeList serialization 2020-12-25 12:58:52 +01:00
Robbert van der Helm 5d2c7e0aea Replace SDK IMessage implementation with ours 2020-12-25 01:01:13 +01:00
Robbert van der Helm 84b859c499 Implement IMessage 2020-12-25 01:01:13 +01:00
Robbert van der Helm 7cfd1982dd Fix typos in comment 2020-12-25 01:01:13 +01:00
Robbert van der Helm b6304c83b5 Implement IAttributeList 2020-12-25 00:54:08 +01:00
Robbert van der Helm f4c871f07e Add pointer casts to instance creation
I copied this from the SDK implementation and they don't do any pointer
casts there because it's not strictly necessary, but they're relying on
implementation details that may not always hold true.
2020-12-24 14:46:02 +01:00
Robbert van der Helm b0fc8f2c5f Remove are_objects_directly_connected check
It's not necessary, since all of these objects are simple data objects
that will be passed as arguments to other functions. When we have to
pass through one of those functions we can just serialize the objects at
that point.
2020-12-24 14:45:58 +01:00
Robbert van der Helm 50b50418f4 Fix messages between directly connecting objects
iZotope plugins will already send messages when connect() is called on
the first object, so this flag has to be set on both host contexts at
the same time.
2020-12-24 13:58:32 +01:00
Robbert van der Helm a86c37a21d Partially implement IHostApplication
For now only works for directly connected components.
2020-12-24 13:48:31 +01:00
Robbert van der Helm 1be9f53bb3 Add missing compile flags 2020-12-24 13:47:01 +01:00
Robbert van der Helm 1186e7d775 Store whether two objects are connected directly
In the host context. So when the plugin wants to create an `IMessage`
object to send a message to the other object, we don't have to go
through the host.
2020-12-24 13:22:54 +01:00
Robbert van der Helm 4f8bfbcda6 [yabridgectl] Fix clippy lints 2020-12-24 13:12:19 +01:00
Robbert van der Helm 9ac437f02b [yabridgectl] Fix VST3 installation status display 2020-12-24 13:04:39 +01:00
Robbert van der Helm d79ccc75e6 [yabridgectl] Symlink VST 3.6.10 bundle resources
Although I haven't run into any of these 'new' bundles yet. Everything's
still in the legacy format.
2020-12-24 12:47:45 +01:00
Robbert van der Helm a0098034ed [yabridgectl] Rename the Vst3Module functions
Creating a clear naming scheme here is more difficult than it should be.
2020-12-24 12:38:47 +01:00
Robbert van der Helm a3e76b3370 [yabridgectl] Warn for duplicate VST3 plugins
Since we can't have multiple plugins with the same name this way.
2020-12-24 12:31:04 +01:00
Robbert van der Helm 9d33cafd37 [yabridgectl] Allow removing orphan VST3 modules 2020-12-24 12:12:48 +01:00
Robbert van der Helm 68c95e9527 [yabridgectl] Allow skipping hash checks 2020-12-24 11:54:45 +01:00
Robbert van der Helm e19cbca5d1 Actually create the IHostApplication smart pointer 2020-12-24 00:14:58 +01:00
Robbert van der Helm 55957ca798 [yabridgectl] Allow setting up VST3 plugins
This is still missing checks for removing leftover files, symlinks for
resources and presets, and a way to differentiate between plugins with
the same name from different prefixes.
2020-12-24 00:04:05 +01:00
Robbert van der Helm bc9801c932 [yabridgectl] Add VST3 modules to the status 2020-12-23 21:55:14 +01:00
Robbert van der Helm 5e476a2f9b [yabridgectl] Add utilities for VST3 paths 2020-12-23 21:40:11 +01:00
Robbert van der Helm 8cb1518023 [yabridgectl] Index and categorize VST3 modules 2020-12-23 21:08:24 +01:00
Robbert van der Helm 3d27426b9d [yabridgectl] Index .vst3 files
It doesn't actually identify VST3 modules yet though.
2020-12-23 18:39:22 +01:00
Robbert van der Helm 3dc1b1585b [yabridgectl] Add field for indexing VST3 modules 2020-12-23 17:41:16 +01:00