Commit Graph

86 Commits

Author SHA1 Message Date
Robbert van der Helm a14d915ee7 Better describe Wine process shutdown 2020-03-12 21:22:37 +01:00
Robbert van der Helm 28b3800fb4 Force-stop the io_context manually
Apparently this will cause the io_context to just abandon all of its
work and not throw any exceptions.
2020-03-11 21:48:53 +01:00
Robbert van der Helm 05de100d3e Disable GUI related events 2020-03-11 17:27:34 +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 5528f0a496 Allow the bridge to shut down gracefully-ish 2020-03-10 22:47:40 +01:00
Robbert van der Helm 6fc2f70279 Allow plugins to clean up after themselves 2020-03-10 22:00:56 +01:00
Robbert van der Helm d2febcfa2b Print the socket endpoint during startup 2020-03-10 15:53: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 54966a36f2 Implement effSetChunk 2020-03-10 12:57:53 +01:00
Robbert van der Helm e89ddfe7b1 Correct reading chunks
They're not actually stored in `data`, but in `*data`.
2020-03-10 00:36:34 +01:00
Robbert van der Helm 7fcf5abaf2 Handle effGetChunk correctly 2020-03-09 23:53:36 +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 96d0428d56 Factor out the serializer for event payloads 2020-03-09 21:44:44 +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 1434f5855b Fix wine forward initialization order
`io_context.run()` returns if there is no more work to do, so it should
be called only after we give it something to do.
2020-03-08 17:59:47 +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 b67a3546b7 Remove redundant information from logging 2020-03-07 23:40:09 +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 ee75dcc7e6 Add specific logging functions for all the events 2020-03-07 22:29:21 +01:00
Robbert van der Helm 280d9fcd2b Print Wine STDOUT and STDERR through the logger 2020-03-07 21:43:04 +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 6c4dca151b Also add a proxy function for processReplacing 2020-03-05 15:31:15 +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