Robbert van der Helm
027d9a96d5
Always use 64-bit pointer types for serialization
...
This way the 32-bit host can cast them down to 32-bit integers when
needed, and the serialization pipeline can stay fixed. We're not passing
any pointers directly to the other application anyway so this should be
safe!
2020-04-29 17:17:33 +02:00
Robbert van der Helm
7ce42e4306
Add support for effGetMidiKeyName
...
Not a lot of plugins use it, but it's really nice to have when they do.
2020-04-28 12:54:36 +02:00
Robbert van der Helm
ed9428da83
Fix chunk size formatting in log messages
2020-04-28 12:28:41 +02:00
Robbert van der Helm
641351d525
Also filter out the event with opcode 52
...
Not sure what this is, but it's called by Bitwig every time a buffer is
being processed.
2020-04-28 12:04:09 +02:00
Robbert van der Helm
e515547d5a
Add a todo on another event to filter
2020-04-27 18:56:14 +02:00
Robbert van der Helm
527db1f49f
Use different types for strings and binary data
2020-04-27 00:51:36 +02:00
Robbert van der Helm
aeac8e87fa
Implement effGetParameterProperties
2020-04-26 16:53:34 +02:00
Robbert van der Helm
0ce9c1e3a4
Add another less verbose debug level
2020-04-26 15:42:01 +02:00
Robbert van der Helm
9f3ed85208
Replace std::monostate with std::nullptr_t
...
This represents the underlying meaning better since we're mostly dealing
with the `data` void pointer argument.
2020-04-19 16:05:37 +02:00
Robbert van der Helm
cc52c87f34
Properly handle effGet{Input,Output}Properties
...
Apparently the plugin needs the actual contents of the struct for this
to work.
2020-03-26 16:24:49 +01:00
Robbert van der Helm
a85e936059
Reverse engineer IO related opcodes
2020-03-26 15:58:15 +01:00
Robbert van der Helm
eebfceff56
Implement the rest of the GUI events
...
The GUI is still not updating though.
2020-03-19 00:58:03 +01:00
Robbert van der Helm
1c17513936
Move all window handling to the Wine host side
2020-03-17 21:31:19 +01:00
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
8464706336
Handle AEffect object updates
2020-03-11 16:33:44 +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
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
84480c5d35
Don't print long binary strings
2020-03-10 14:07:56 +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
ec96064cc1
Implement another EventPayload for binary data
2020-03-09 23:24:10 +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
2fda0bc9f2
Add missing copyright headers
2020-03-08 22:34:53 +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
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
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
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
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
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
54d62c6a66
Split src/common/* into headers and definitions
2020-03-06 19:18:27 +01:00