Robbert van der Helm
f2597ca0b9
Prevent race conditions from simultaneous dispatch calls
2020-03-14 18:11:35 +01:00
Robbert van der Helm
5f584323c2
Monkey patch async pipes foor Boost 1.72
...
This is an simple workaround and it's much more practical than having to
downgrade Boost since that breaks any application that links to it.
2020-03-14 16:49:38 +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
bb6ffe4891
Fix crashes on startup in Bitwig's bridge
2020-03-12 23:17:14 +01:00
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
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
90cd3a5751
Actually call processReplacing instead of process...
2020-03-10 23:25:03 +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
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
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