Commit Graph

81 Commits

Author SHA1 Message Date
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 ff89d12c1a Use std::avriant to encode event payloads
It's a bit more complicated this way, but nwo we can easily add support
for the opcode specific structs.
2020-03-08 17:47:09 +01:00
Robbert van der Helm d434bcf682 Move data types and serializers to their own file 2020-03-08 14:32:15 +01:00
Robbert van der Helm b46488ac28 Add a description of communication.h 2020-03-08 14:25:15 +01:00
Robbert van der Helm 97a68e3fb0 Add debug labels for new dispatch opcodes 2020-03-08 13:52:55 +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 68490d42b6 Add more TODOs 2020-03-08 13:00:37 +01:00
Robbert van der Helm 68215679a6 Get rid of verbosity level 2
Probably wasn't going to be very useful.
2020-03-08 12:48:44 +01:00
Robbert van der Helm 3d92b9db28 Add a section about debugging in the readme 2020-03-08 12:46:53 +01:00
Robbert van der Helm ea4b0babcd Wrap the debug print functions in unlikely macros
Since the compiler can't tell that these routines should never be hit
during normal usage.
2020-03-07 23:59:45 +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 5d96f9e13b Improve logging formatting 2020-03-07 23:09:58 +01:00
Robbert van der Helm 80ed96acd7 Change the debug verbosity environment variable 2020-03-07 22:50:59 +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 e5348fc5f7 Fix logging to files 2020-03-07 18:58:23 +01:00
Robbert van der Helm 50172aefbb Write basic log messages 2020-03-07 17:57:56 +01:00
Robbert van der Helm 77b2d1b44a Add a function for formatting log messages 2020-03-07 16:48:41 +01:00
Robbert van der Helm 356d6a6efc Add a usage section to the readme 2020-03-07 15:39:45 +01:00
Robbert van der Helm e0d7e17d7d Update the todos 2020-03-07 15:39:45 +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 54d62c6a66 Split src/common/* into headers and definitions 2020-03-06 19:18:27 +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 2a2ff6bd2a Add a note on concurrency to the logger 2020-03-06 15:56:24 +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 54b5395c5e Use a statically allocated array for audio buffers
We wouldn't know the right size on the receiving end in advance.
2020-03-05 20:59:27 +01:00
Robbert van der Helm 9d68493af1 Shorten buffer_type to buffer_t 2020-03-05 19:47:31 +01:00
Robbert van der Helm 9754909930 Allow reusing buffers when reading and writing 2020-03-05 19:18:34 +01:00
Robbert van der Helm 620ba5b756 Define a buffer size for each type 2020-03-05 19:03:48 +01:00
Robbert van der Helm c9d6eea496 Add a data structure for serializing audio buffers 2020-03-05 18:33:51 +01:00
Robbert van der Helm e6671f687d Ensure written strings are null terminated
A strcpy would work as well but this is more robust and avoids C library
functions.
2020-03-05 18:02:13 +01:00
Robbert van der Helm f84557d0d0 Fix arguments for dispatch callback passthrough 2020-03-05 17:20:27 +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 8f34947307 Also serialize a plugin's parameter count
Forgot this initially.
2020-03-05 14:50:37 +01:00
Robbert van der Helm 5383bbb231 Add a serialization function for AEffect structs 2020-03-05 13:50:57 +01:00
Robbert van der Helm 88d5a5e9d8 Allow deserializing to existing objects 2020-03-05 13:13:40 +01:00
Robbert van der Helm 22f01a4b69 Update .clang-format 2020-03-05 13:04:16 +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