Commit Graph

180 Commits

Author SHA1 Message Date
Robbert van der Helm 1fd60bb3ec Mention more specific unimplemented features 2020-03-28 22:56:14 +01:00
Robbert van der Helm 8ec0ed4c3c Allow GUIs to optionally update on a timer
Otherwise plugins can't update their editors when the GUI is being blocked.
2020-03-28 18:03:20 +01:00
Robbert van der Helm d52989acc5 Allow midi events to be handled during interaction 2020-03-28 17:00:12 +01:00
Robbert van der Helm 629fa72e0c Allow for an arbitrary number of midi events
By building the object on the heap in a buffer. I preferred the old
solution but this is more flexible.
2020-03-28 14:07:11 +01:00
Robbert van der Helm 2ea480a09d Mention why dropdowns block the GUI and a solution 2020-03-27 18:35:48 +01:00
Robbert van der Helm d5e125e6b3 Describe the way events are handled in more detail 2020-03-27 17:01:49 +01:00
Robbert van der Helm b23637232b Add a list of issues that still need fixing 2020-03-26 23:25:13 +01:00
Robbert van der Helm cc52c87f34 Properly handle effGet{Input,Output}Properties
Apparently the plugin needs the actual contents of the struct for this
to work.
2020-03-26 16:24:49 +01:00
Robbert van der Helm 0d7a5f10cd Change style of break statements with a block 2020-03-26 15:59:39 +01:00
Robbert van der Helm a85e936059 Reverse engineer IO related opcodes 2020-03-26 15:58:15 +01:00
Robbert van der Helm a3d8c6cb0a Get rid of some old experiments
Forgot to remove these in the last commit.
2020-03-25 23:11:24 +01:00
Robbert van der Helm 161e102113 Properly send XEmbed messages
The good news is that Wine now understands that it's an XEmbed message.
The bad news is that everything's now broken.
2020-03-24 18:50:24 +01:00
Robbert van der Helm 096e36dfdc Handle all dispatch calls from the main thread
Some plugins apparently assume that all events (or at least some
specific ones) are sent from the thread it was created on and will
segfault otherwise. The is the case for Melda plugins.
2020-03-23 23:41:00 +01:00
Robbert van der Helm 5552fc3009 Use the provided plugin instance
Some plugins call `audioMasterIOChanged` during their initialization
when this is still a null pointer.
2020-03-23 23:06:12 +01:00
Robbert van der Helm dc08d8032d Resize windows when needed 2020-03-23 22:57:56 +01:00
Robbert van der Helm d2be82285a Make sure messages can't get out of order 2020-03-23 22:33:28 +01:00
Robbert van der Helm 5d1051a00c Fix plugins not updating with dropdowns 2020-03-23 22:19:49 +01:00
Robbert van der Helm c046f9fe7b Implement the rest of the XEmbed protocol 2020-03-21 17:24:22 +01:00
Robbert van der Helm 2e44de6f49 Add a function for sending XEMBED messages 2020-03-21 16:32:39 +01:00
Robbert van der Helm 50f26d1238 Implement part of the XEmbed protocol 2020-03-20 22:56:04 +01:00
Robbert van der Helm 4ae1f03e4c Simplify GUI event handling 2020-03-19 21:37:16 +01:00
Robbert van der Helm f1f7523248 Make the GUI embedding work
There's still a few things that need fixing.
2020-03-19 17:29:30 +01:00
Robbert van der Helm eebfceff56 Implement the rest of the GUI events
The GUI is still not updating though.
2020-03-19 00:58:03 +01:00
Robbert van der Helm 168568ed51 Move the wrapper around the dispatch function 2020-03-18 23:51:53 +01:00
Robbert van der Helm ede14ece3b Add the start of reparenting the editor windows 2020-03-17 23:04:09 +01:00
Robbert van der Helm f3bf7879c6 Finish renaming win32-editor.h 2020-03-17 22:13:30 +01:00
Robbert van der Helm f43c0bc78b Fix xcb include 2020-03-17 22:11:57 +01:00
Robbert van der Helm 70ebb5d243 Replace Xlib with xcb 2020-03-17 22:08:44 +01:00
Robbert van der Helm e2d8c0883f Rename win32-editor.h -> editor.h
Since I no longer intent to do separate X11 handling on the plugin side
2020-03-17 21:37:53 +01:00
Robbert van der Helm 1c17513936 Move all window handling to the Wine host side 2020-03-17 21:31:19 +01:00
Robbert van der Helm d0a86887d3 Explicitely handle editor opening failures 2020-03-17 20:54:49 +01:00
Robbert van der Helm e7e1b26455 Add the base for GUI handling
Still need to embed the opened window into the window provided by the
host.
2020-03-17 01:51:02 +01:00
Robbert van der Helm 44a953c2d2 Change argument order for event handling functions 2020-03-17 00:53:09 +01:00
Robbert van der Helm cdc2402bc8 Add a wrapper around the Win32 window API 2020-03-17 00:45:57 +01:00
Robbert van der Helm c135fce3a6 Remove todo about multiout and sidechain inputs
Apparently this is the correct behavior. SOme other VST bridges simply
did not properly support this.
2020-03-16 15:51:03 +01:00
Robbert van der Helm a01319e507 Allow plugins to crash during shutdown
Sounds weird, but there are a small number of plugins that crash during
shutdown because they call functions not yet supported by Wine. Since
the host will have already saved all state before calling `effClose`
this should not cause any problems.
2020-03-16 14:14:55 +01:00
Robbert van der Helm 7172a42c67 Prevent data races in host callbacks 2020-03-16 13:58:49 +01:00
Robbert van der Helm 23ad05aba1 Better document the use-winedbg option 2020-03-16 13:45:00 +01:00
Robbert van der Helm 3b91e23fda Minor corrections in the readme 2020-03-15 17:44:07 +01:00
Robbert van der Helm 1066e0c5e4 Mention that all plugins somehow support multiout 2020-03-15 17:42:12 +01:00
Robbert van der Helm 10c517401c Stop flood of empty lines on plugin crash 2020-03-15 17:26:01 +01:00
Robbert van der Helm 138fa9eb31 Add winedbg support behind a feature flag
I had something similar saved as a stash since I did not want to make
things more complicated by adding feature flags, but this should be
fine.
2020-03-15 16:30:25 +01:00
Robbert van der Helm 454cef76e7 Add todo regarding concurrency 2020-03-14 18:29:49 +01:00
Robbert van der Helm f2597ca0b9 Prevent race conditions from simultaneous dispatch calls 2020-03-14 18:11:35 +01:00
Robbert van der Helm 5f584323c2 Monkey patch async pipes foor Boost 1.72
This is an simple workaround and it's much more practical than having to
downgrade Boost since that breaks any application that links to it.
2020-03-14 16:49:38 +01:00
Robbert van der Helm 37b0e72d4a Increase the number of permitted midi events 2020-03-12 23:17:42 +01:00
Robbert van der Helm bb6ffe4891 Fix crashes on startup in Bitwig's bridge 2020-03-12 23:17:14 +01:00
Robbert van der Helm 9554d7eebd Mention that MPE does work! 2020-03-12 22:53:42 +01:00
Robbert van der Helm a14d915ee7 Better describe Wine process shutdown 2020-03-12 21:22:37 +01:00
Robbert van der Helm bce45a244d Mention a possible way to debug the host 2020-03-12 20:58:51 +01:00