Commit Graph

975 Commits

Author SHA1 Message Date
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
Robbert van der Helm 9e62d9a447 Add editor_disable_host_scaling support for CLAP 2022-10-01 00:38:17 +02:00
Robbert van der Helm 1b875ad286 Rename vst3_no_scaling to editor_disable_host_scaling
This will also affect CLAP plugins.
2022-10-01 00:37:58 +02:00
Robbert van der Helm 82840ab6df Properly resize the CLAP editor window 2022-09-29 20:11:41 +02:00
Robbert van der Helm b5aaa02645 Add missing default cases 2022-09-29 20:01:05 +02:00
Robbert van der Helm cd609fa90f Implement the plugin side of the GUI functions 2022-09-29 20:01:05 +02:00
Robbert van der Helm 48a3c76fe6 Remove debug prints when opening VST2 editors 2022-09-29 19:57:31 +02:00
Robbert van der Helm 87a9ac75b9 Fully implement the host side GUI extension 2022-09-29 19:57:31 +02:00
Robbert van der Helm 7305178654 Fully implement the state extension 2022-09-27 15:20:15 +02:00
Robbert van der Helm 5621e8bf08 Add a serialization wrapper for streams 2022-09-27 15:08:48 +02:00