Robbert van der Helm
cb6a1dd0ff
Fix yabridge_version() in chainloaders
...
The function doesn't (and cannot) have the same name as the function
pointer, so `MAYBE_LOAD_FUNCTION()` does the wrong thing here. May as
well just do it manually.
2023-12-10 22:48:34 +01:00
Robbert van der Helm
f1a7ad4dcb
Implement yabridge_version for all plugin bridges
...
The host can use this to query the yabridge version in use.
2023-12-10 22:30:52 +01:00
Robbert van der Helm
d39d3a68c1
Add the chainloader side of yabridge_version
...
This can be used by hosts to determine which version of yabridge is in
use.
2023-12-10 22:24:41 +01:00
Robbert van der Helm
204e2a6aa1
Fix regression in socket path generation
...
The latest master branch version would log parsing errors, but that
results in cyclic dependencies. `info_` here would end up being used
before its initialized, which meant that the socket base directory and
thus the logging path would not include the plugin's name.
2023-11-26 14:15:07 +01:00
Robbert van der Helm
fa2b348fc2
Run effVendorSpecific on the main thread
...
This should fix a freeze in Renoise.
2023-11-25 13:49:12 +01:00
Robbert van der Helm
f67a170a88
Update the CLAP dependency to version 1.1.9
2023-10-28 16:31:55 +02:00
Robbert van der Helm
4854f8ec3f
Make yabridge.toml parsing failures non-fatal
2023-10-28 15:07:53 +02:00
Robbert van der Helm
d7d7df575f
Move toml++ initialization to its own header
2023-10-28 15:06:59 +02:00
Robbert van der Helm
3af48be58a
Revert SWP_NOCOPYBITS removal from 9fd6603ce3
...
This was added on the request of Aurora FM's developer because they use
thousands of child windows for rendering, but this causes unnecessary
flickering in some situations and it should no longer be as needed now
that `fix_local_coordinates()` is only called once when moving windows
around.
2023-05-07 12:47:20 +02:00
Robbert van der Helm
6c0979c506
Also cache CLAP parameter infos
2023-05-06 22:42:46 +02:00
Robbert van der Helm
135ea8e9c4
Simplify VST3 parameter caching
2023-05-06 22:26:25 +02:00
Robbert van der Helm
8289d76818
Batch VST3 parameter info querying #236
...
To hopefully work mitigate the Kontakt bug that causes the host to
rescan thousands of parameters hundreds of times when using certain VST3
Kontakt patches in REAPER.
2023-04-28 19:25:04 +02:00
Robbert van der Helm
9005474ded
Spool fix_local_coordinates() call until release
...
This will cause the function to only be called on a `ConfigureNotify`
after all mouse buttons have been released. This prevents flickering
when dragging windows around.
2023-04-28 15:27:02 +02:00
Robbert van der Helm
b8a115f655
Clarify X11 error message printing
...
This simply ignores the error and moves on.
2023-04-28 14:57:25 +02:00
Robbert van der Helm
cf48929058
Remove old todo
2023-04-20 16:45:31 +02:00
Robbert van der Helm
3b213605e0
Allow more main thread mutual recursion in CLAP
...
This is also needed to fix that McRocklin Suite plugin. It changes its
latency during the init call.
2023-04-20 15:48:50 +02:00
Robbert van der Helm
ead4ca97c5
Fix race condition in CLAP request callback impl
...
This would deadlock if the host simultaneously tries to create a plugin
instance.
2023-04-20 15:38:28 +02:00
Robbert van der Helm
265ab1487b
Catch negative indices in IParamValueQueue impl
...
This would cause crashes with the validator which created empty
parameter queues, and many plugins try to `getPoint(numPoints() - 1)`.
2023-04-14 03:28:13 +02:00
Robbert van der Helm
fc8359fafb
Fix missing line break in initialization message
2023-03-26 15:30:28 +02:00
Robbert van der Helm
a35cd8da50
Preemptively unset WAYLAND_DISPLAY
2023-02-25 15:22:23 +01:00
Robbert van der Helm
ee971f610e
Fix missing detached flag in Process::Handle moves
...
This is why C++'s move semantics are footguns. The result of this was
that grouped plugins would no longer be detached when they were
moved (in this case, into the group connect handler closure). Which in
turn caused those plugins to block until the plugin host process
terminated, which thus ended up blocking the host indefinitely.
2023-02-21 15:01:01 +01:00
Robbert van der Helm
4ea0530a37
Prevent building tomlplusplus libs in subproject
...
This is supposed to be disabled by default, but it isn't.
2023-02-21 14:42:24 +01:00
Robbert van der Helm
e937bfb2dc
Remove old empty file
...
Not sure how this snuck back in.
2023-02-21 14:42:08 +01:00
Robbert van der Helm
83022726fc
Update tomlplusplus to version 3.3.0
...
Arch tries to build yabridge against this version, and some things are
now broken. We need to more forcefully hack tomlplusplus into thinking
its running on Linux, and shared library mode also needs to be
explicitly disabled.
2023-02-21 14:05:59 +01:00
Robbert van der Helm
d58c204178
Update to CLAP 1.1.7
...
Factories got moved to a new `factory` directory.
2023-01-27 21:04:34 +01:00
Robbert van der Helm
1e66654c2e
Update copyright headers for 2023
...
Happy new year!
2023-01-01 18:51:35 +01:00
Robbert van der Helm
399db4d2fc
Silence spurious std::to_array() warning
...
On GCC 12.2.
2022-12-23 19:59:52 +01:00
Robbert van der Helm
3bc9316f0d
Revert static initialization change from fea6eded4
2022-12-23 19:51:45 +01:00
Robbert van der Helm
acd745a3cb
Update the VST3 dependency to version 3.7.7
2022-12-23 19:19:39 +01:00
Robbert van der Helm
5150332d20
Update CLAP dependency to version 1.1.4
...
Version 1.1.3 changed the cv-qualification of the features array.
2022-12-22 14:59:49 +01:00
Robbert van der Helm
9fd6603ce3
Get rid of SWP_NOCOPYBITS
2022-11-20 14:20:33 +01:00
Robbert van der Helm
ea3680b8c7
Define yabridge Window class name in header
...
Apparently this is used in xdnd-proxy.cpp.
2022-11-14 23:31:37 +01:00
Robbert van der Helm
3f573cde31
Remove redundant semicolon
2022-11-14 23:06:24 +01:00
Robbert van der Helm
6e29c875c9
Add missing sstream include in notifcations.cpp
2022-11-14 23:05:04 +01:00
Robbert van der Helm
561a75b761
Use explicit nullptr instead of aggregate init
...
Makes it a bit more obvious that HCURSOR is a pointer.
2022-11-14 15:16:34 +01:00
Robbert van der Helm
fea6eded49
Work around static initialization bug in WIne 7.21
...
As reported here: https://bugs.winehq.org/show_bug.cgi?id=53912
2022-11-14 13:59:18 +01:00
Robbert van der Helm
7ddd20b6d5
Remove some assertions from D-Bus notifications
2022-11-02 18:40:17 +01:00
Robbert van der Helm
bc12687906
Undefine LIBDBUS_FUNCTIONS at the end of .cpp file
...
To avoid leaking macros.
2022-11-02 18:40:17 +01:00
Robbert van der Helm
e6574a2966
Make CLAP activate and load mutually recursive
...
The latter is needed to get DPF plugins to load.
2022-10-30 16:48:49 +01:00
Robbert van der Helm
ab3d61cc91
Allow mutual recursion on all CLAP callbacks
2022-10-30 16:47:37 +01:00
Robbert van der Helm
9dbaec4071
Bring back CLAP plugin-side mutual recursion
...
This partially reverts commit 90a41287be .
We do actually need this as DPF does a parameter value rescan inside of
the state load, for some reason.
2022-10-30 13:30:11 +01:00
Robbert van der Helm
90a41287be
Remove old todos
2022-10-29 16:13:23 +02:00
Robbert van der Helm
c80464da9e
Swap dbus library name and fallback name
2022-10-28 20:48:56 +02:00
Robbert van der Helm
31e76f416c
Also specifically try loading libdbus-1.so.3
2022-10-28 20:44:47 +02:00
Robbert van der Helm
c36627f4c2
Remove todo about using replaces_id
2022-10-28 19:50:43 +02:00
Robbert van der Helm
af0f38c00b
Drop notify-send and use libdbus-1 directly
...
This is mostly useful for more obscure distros that don't ship
notify-send together with libnotify.
2022-10-28 19:45:59 +02:00
Robbert van der Helm
b58eca9ed1
Move XMML and URL escape functions to common/utils
...
So we don't need to include notifications.h on the Wine side. The
alternative would be to put ifdef guards around everything involving
notification sending in `notifications.cpp` but that would be even more
problematic.
2022-10-28 17:52:23 +02:00
Robbert van der Helm
91832e5c0f
Fix dlsym check
2022-10-28 17:34:05 +02:00
Robbert van der Helm
40cff87fb5
Add missing include
2022-10-28 17:33:43 +02:00
Robbert van der Helm
d1b3de5fc0
Connect to the session message bus using libdbus-1
...
This is the first step of migrating the desktop notifications over to
pure DBus.
2022-10-28 16:46:53 +02:00