Commit Graph

984 Commits

Author SHA1 Message Date
Robbert van der Helm 49e696e42f Update the copyright headers
Happy new year!
2024-01-09 19:25:38 +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 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 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 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 e937bfb2dc Remove old empty file
Not sure how this snuck back in.
2023-02-21 14:42:08 +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 3bc9316f0d Revert static initialization change from fea6eded4 2022-12-23 19:51:45 +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 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 90a41287be Remove old todos 2022-10-29 16:13:23 +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 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
Robbert van der Helm d1ef29aa3e Implement the CLAP timer-support extension
This is entirely implemented on the Wine side. I'll assume most Windows
plugins will use their own timers instead, but this could be useful for
plugins that try to use the same interface on all platforms.
2022-10-26 23:35:54 +02:00
Robbert van der Helm 987ce8f204 Rename asio-fix.h to use-linux-asio.h
Bit of an ugly verbose name but it probably makes it much clearer why
the include is needed.
2022-10-26 17:10:18 +02:00
Robbert van der Helm aa586d40ee Fully implement CLAP note name extension 2022-10-21 17:17:50 +02:00
Robbert van der Helm e2ec0e286f Implement host side of the note-name extension 2022-10-21 17:11:28 +02:00
Robbert van der Helm 39b0f75fad Add structs for the CLAP note name extension 2022-10-21 17:02:28 +02:00
Robbert van der Helm abaaaeed3c Implement CLAP audio-ports-config extension 2022-10-21 16:44:02 +02:00
Robbert van der Helm 21c1ca117d Add structs and utils for audio-ports-config 2022-10-21 15:38:10 +02:00
Robbert van der Helm 19ee32039b Allow set_size() before set_parent()
REAPER does this.
2022-10-10 17:39:12 +02:00
Robbert van der Helm 0143d43c7e Implement the CLAP render extension 2022-10-10 16:08:26 +02:00
Robbert van der Helm a4d5748c05 Implement the voice-info CLAP extension 2022-10-09 23:19:53 +02:00
Robbert van der Helm 9a92a0c914 Print a message when ignoring resize requests 2022-10-09 14:25:03 +02:00
Robbert van der Helm 24e50a3afc Rename get_win32_handle() to win32_handle() 2022-10-09 14:23:29 +02:00
Robbert van der Helm 04e03840e0 Rename maybe_resize_editor() to resize_editor() 2022-10-09 14:22:49 +02:00
Robbert van der Helm 4df2b389a0 Work around resizing bug in Surge XT/CJE 2022-10-09 14:22:02 +02:00
Robbert van der Helm 6cb12aad73 Implement the CLAP log extension 2022-10-09 00:22:34 +02:00
Robbert van der Helm f8399f26b5 Enable mutual recursion for all CLAP callbacks
This fixes Surge XT. It would otherwise deadlock when it tried to do a
parameter rescan on first load.
2022-10-08 23:50:05 +02:00
Robbert van der Helm 6979805773 Allow mutual recursion for all CLAP main thread callbacks
This is needed because otherwise it's very easy for the combined
request_callback+on_main_thread mechanic on both sides to deadlock.
2022-10-08 23:43:54 +02:00
Robbert van der Helm fb3914e3d4 Implement the thread check extension 2022-10-08 23:36:43 +02:00
Robbert van der Helm 431dbdca02 Enable mutually recursive GUI callbacks in CLAP
This fixes resizing under Qtractor.
2022-10-08 20:32:01 +02:00
Robbert van der Helm bd272ffc5f Rename CLAP mutual recursive send function
To adhere to the CLAP message sending naming convention.
2022-10-08 20:25:03 +02:00
Robbert van der Helm b9a2f89089 Remove commented out process setup field 2022-10-08 17:57:43 +02:00
Robbert van der Helm f559bed13e Remove audio thread mutual recursion for CLAP
We can always add this back in later if we do need it.
2022-10-08 17:57:26 +02:00
Robbert van der Helm 06dfd66d93 Add a TODO about mutual recursion 2022-10-03 03:38:03 +02:00
Robbert van der Helm 18b27d3fc4 Don't log callbacks on the Wine side 2022-10-03 03:01:43 +02:00
Robbert van der Helm 80b224fcbd Implement the Wine side of clap_plugin::process() 2022-10-03 02:24:32 +02:00
Robbert van der Helm b14d4cd49b Add serialization wrapper for process data
This isn't used yet, but in theory we can just hook this up now and
audio processing will work.
2022-10-03 02:24:32 +02:00
Robbert van der Helm 3d832159b3 Change wording 2022-10-03 02:24:32 +02:00
Robbert van der Helm bcb39c995e Add a CLAP TODO for offline rendering 2022-10-02 16:41:16 +02:00
Robbert van der Helm 187db7562f Remove unused lambda capture 2022-10-01 17:41:10 +02:00
Robbert van der Helm 1473f7f126 Fully implement the params flush function
Now the params extension is finally fully implemented, and a lot of the
unused variable compiler warnings are gone.
2022-10-01 17:08:55 +02:00
Robbert van der Helm 866b7660de Add a function to parse a CLAP event 2022-10-01 02:00:05 +02:00