Commit Graph

914 Commits

Author SHA1 Message Date
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 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 6373c38663 Correct VeSTige header name to aeffectx.h 2020-03-08 13:27:17 +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 bfc0d46780 Shut up CCLS 2020-03-07 15:39:45 +01:00
Robbert van der Helm 7d0bf3e3c4 Further clean up the Boost hacks
This way we can also finally split up the src/common/* files into
headers and implementations.
2020-03-06 18:44:47 +01:00
Robbert van der Helm 13d013312a Clean up the Boost/windows.h trickery
I didn't know NOMINMAX was a thing, but that fixes a lot of compile
errors.
2020-03-06 18:37:35 +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
Robbert van der Helm 5ace761ce9 Pass callbacks back through to the host
Instead of using std::thread this can be done cleaner using recursive
async read functions. Everything withing those functions should of
course still remain synchronous.
2020-03-01 01:06:35 +01:00
Robbert van der Helm ca713ada4e Factor out sending and passing through events
Since we can use this both for the dispatch function and for host
callbacks.
2020-03-01 00:19:27 +01:00