Commit Graph

179 Commits

Author SHA1 Message Date
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 37b0e72d4a Increase the number of permitted midi events 2020-03-12 23:17:42 +01:00
Robbert van der Helm 8464706336 Handle AEffect object updates 2020-03-11 16:33:44 +01:00
Robbert van der Helm ea8feb07a9 Reorder arguments 2020-03-11 16:08:09 +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 8c187e3ca5 Use const references for logging paylaod data 2020-03-11 15:58:56 +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 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 07d488a4f3 Fix deserialization errors when reading chunks
Forgot to also increase this limit
2020-03-10 14:16:40 +01:00
Robbert van der Helm 84480c5d35 Don't print long binary strings 2020-03-10 14:07:56 +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 ec96064cc1 Implement another EventPayload for binary data 2020-03-09 23:24:10 +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 10b6121cb8 Fix deserialization format of events
Apparently it uses VLAs, but in a very sneaky way.
2020-03-09 17:20:15 +01:00
Robbert van der Helm 69008e97a4 Serialize midi events using vectors
Easier than to implement C-style arrays in Bitsery and this way we also
don't have to worry about cleanup.

Serum still segfaults with multiple events so something is still off.
2020-03-09 15:31:35 +01:00
Robbert van der Helm be11364c58 Remvoe the bitsery c-array attempt
I'll just use vectors and a thin wrapper instead, shouldn't have much
overhead.
2020-03-09 14:42:11 +01:00
Robbert van der Helm 6b30100611 Move the derived bitsery extension to bitsery::ext
To make it easier to move it over later and to make the implementation
slightly less verbose.
2020-03-09 12:39:06 +01:00
Robbert van der Helm cd8d12094b Rename the temporary pointer object extension
This should make it clearer at a glance that it's not the original
implementation.
2020-03-09 12:32:45 +01:00
Robbert van der Helm 765dcf01e3 Add a file for a c-array bitsery extension 2020-03-08 23:03:10 +01:00
Robbert van der Helm 2fda0bc9f2 Add missing copyright headers 2020-03-08 22:34:53 +01:00
Robbert van der Helm 40142f801e Pass throug the VstEvents struct 2020-03-08 20:29:40 +01:00
Robbert van der Helm c5ea1e5153 Add serialization for midi events 2020-03-08 20:02:24 +01:00
Robbert van der Helm 5523871fd8 Pass a marker struct instead of an empty array 2020-03-08 18:51:16 +01:00
Robbert van der Helm d8e39ed16a Fix returning buffers from std::visit
Last time I tried it references somehow didn't work.
2020-03-08 18:40:16 +01:00
Robbert van der Helm 2326a92c62 Improve event passing clarity 2020-03-08 18:33:01 +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 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 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