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
6fd878ed33
Further describe the architecture
2020-03-11 13:15:03 +01:00
Robbert van der Helm
21e0def6b2
Update the todos
2020-03-11 12:37:22 +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
c8ebb76b88
Clean up the TODOs section
2020-03-10 23:12:56 +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
2bd33f1322
Print ignored opcodes
2020-03-10 22:15:11 +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
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
e6a93d622d
Add todo about host callback crashes
2020-03-10 13:48:26 +01:00
Robbert van der Helm
8f08146db8
Mention variable size advantage of UDS over SHM
2020-03-10 13:00:28 +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
1da0d583a6
Draft up an approach for effGetChunk
2020-03-09 21:57:31 +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
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