Robbert van der Helm
c0eafc85fd
Re-introduce window resizing while draggin
2020-04-12 19:42:12 +02:00
Robbert van der Helm
3850e39777
Resize the window together with ConfigureNotify
...
This way we need less hacks and things can't get out of sync.
2020-04-12 19:15:28 +02:00
Robbert van der Helm
e1cc342bd0
Work around local<->global coordinate issues
...
For reparented Wine windows. This is a similar approach as LinVST uses.
2020-04-12 18:24:33 +02:00
Robbert van der Helm
c2e62b30ca
Strip out everything related to XEmbed
...
We'll just go with the same workaroud LinVST uses isntead. It's not as
pretty but it does work a lot better.
2020-04-11 14:06:47 +02:00
Robbert van der Helm
e8fc990f0b
Add a less hacky workaround for the XEmbed issues
2020-04-09 18:21:16 +02:00
Robbert van der Helm
b5b3b69f67
Fix typos
2020-04-09 00:40:50 +02:00
Robbert van der Helm
aefb3e5b90
Fix typo in entrypoint check
2020-04-09 00:40:00 +02:00
Robbert van der Helm
fa045fb770
Delay the XEmbed messages
...
This works, but we now have the same issues with flickering and resizing
found in some other implementations such as Airwave.
2020-03-30 00:47:46 +02: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
0d7a5f10cd
Change style of break statements with a block
2020-03-26 15:59:39 +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
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
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
7172a42c67
Prevent data races in host callbacks
2020-03-16 13:58:49 +01:00
Robbert van der Helm
8464706336
Handle AEffect object updates
2020-03-11 16:33:44 +01:00
Robbert van der Helm
6ab7af10f9
Use the fancy new variant instead of strings
2020-03-11 16:04:49 +01:00
Robbert van der Helm
1ee0ffef8b
Wrap event result data in an std::variant
...
Gets a bit more complicated this way, but this avoids having to use
string to manually serialize and deserialize arbitrary objects.
The new options for `AEffect` and `VstTimeInfo` structs are not yet
used.
2020-03-11 15:52:56 +01:00
Robbert van der Helm
aa31665666
Move event handling its own file
2020-03-11 14:42:09 +01:00
Robbert van der Helm
c86ad23703
Get rid of old todos
2020-03-11 14:32:47 +01:00
Robbert van der Helm
7f2eab476d
Clarify the return value override
2020-03-11 01:12:40 +01:00
Robbert van der Helm
5cdfb90a9b
Implement audioMasterGetTime,fixing playback
...
Midi and audio now work!
2020-03-11 00:34:58 +01:00
Robbert van der Helm
90cd3a5751
Actually call processReplacing instead of process...
2020-03-10 23:25:03 +01:00
Robbert van der Helm
2bd33f1322
Print ignored opcodes
2020-03-10 22:15:11 +01:00
Robbert van der Helm
af94fe80d8
Filter out unsupported aduioMaster* events
...
Not sure if this is the correct approach, but these seem to not really
do anything and they sometimes crash the host.
2020-03-10 14:21:27 +01:00
Robbert van der Helm
7e75f913fa
Add the ability to override writing back data
2020-03-09 23:36:54 +01:00
Robbert van der Helm
8dad15b597
Always use resizable buffers
...
It was a slight problem for audio buffers, but events can apparently
also have an arbitrary size because of chunks.
2020-03-09 21:32:49 +01:00
Robbert van der Helm
adf33e84a8
Use a template argument for serializing behaviour
...
This keeps it a bit more readable.
2020-03-09 20:13:08 +01:00
Robbert van der Helm
40142f801e
Pass throug the VstEvents struct
2020-03-08 20:29:40 +01:00
Robbert van der Helm
f1901de62b
Add an updated version of the aeffectx.h header
...
From the Audacity project.
2020-03-08 13:48:09 +01:00
Robbert van der Helm
3232f76f97
Add missing flush
2020-03-08 13:18:50 +01:00
Robbert van der Helm
3bfb6cf38b
Disable logging on the Wine side
...
It was incredibly verbose, and for debugging the networking part you
could still use stdout.
2020-03-07 23:36:30 +01:00
Robbert van der Helm
35b0174b9e
Add log messages everywhere
2020-03-07 23:10:07 +01:00
Robbert van der Helm
50172aefbb
Write basic log messages
2020-03-07 17:57:56 +01:00
Robbert van der Helm
4bcb77defa
Add logging prefixes based on the plugin
2020-03-07 15:39:45 +01:00
Robbert van der Helm
1d2c3d4d75
Add the base for a debug log
2020-03-06 15:40:15 +01:00
Robbert van der Helm
46b08530ae
Pass through processReplacing
...
Should work, almost does.
2020-03-05 22:18:06 +01:00
Robbert van der Helm
bea600a13a
Pass through getParameter and setParameter
2020-03-05 17:00:45 +01:00
Robbert van der Helm
814a3b40b5
Use a thread for dispatch events
2020-03-05 16:29:59 +01:00
Robbert van der Helm
4f29a98cea
Pass through the plugin's AEffect struct
2020-03-05 14:55:32 +01:00
Robbert van der Helm
cb6ad5f043
Rename both Bridge classes to differentiate
...
Switching between them became a bit confusing.
2020-03-01 01:17:15 +01:00