Commit Graph

2006 Commits

Author SHA1 Message Date
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 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 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
Robbert van der Helm bdaa1bbeba Move all functionality to the bridge class 2020-02-29 00:26:21 +01:00
Robbert van der Helm 7b7e2e2c21 Check whether LoadLibrary has failed
Because that too can happen.
2020-02-28 22:45:09 +01:00
Robbert van der Helm e598d7c133 Add a bridge for the Wine host to connect back
This is equivalent to plugin/bridge.h but for communicating between the
native Linus VST plugin and the Windows VST plugin.
2020-02-27 13:55:19 +01:00
Robbert van der Helm cd5b294952 Replace msgpack with bitsery 2020-02-26 22:17:05 +01:00
Robbert van der Helm c2e102969e Rename parameters for clarity 2020-02-26 16:52:54 +01:00
Robbert van der Helm 3d12489e58 Pass all events to the plugin 2020-02-24 19:25:26 +01:00
Robbert van der Helm b04353e88c Get rid of the STDIN/STDOUT redirections
Not needed anymore.
2020-02-24 16:45:20 +01:00
Robbert van der Helm 5c946fff6a Communicate over the socket instead of STDIN 2020-02-24 16:43:04 +01:00
Robbert van der Helm df47104297 Connect to the unix socket from the Wine VST host 2020-02-24 15:46:22 +01:00
Robbert van der Helm a716072272 Pass the paths to the VST plugin .dll and socket 2020-02-24 13:50:47 +01:00
Robbert van der Helm b133d2078d Fix warning for function pointer casts
Still ain't pretty.
2020-02-24 13:28:02 +01:00
Robbert van der Helm cfa765e4d6 Clean up file path creation 2020-02-24 13:22:03 +01:00
Robbert van der Helm 073f71847d Fix socket creation 2020-02-10 21:43:05 +01:00
Robbert van der Helm fd29e0a2d4 Add a Unix domain socket for host->vst events 2020-02-10 21:00:03 +01:00
Robbert van der Helm 309a6cb00e Add GPLv3 copyright headers 2020-02-10 16:47:43 +01:00
Robbert van der Helm 5fc87d2da4 Rename the wineprefix detection function
Since it actually has to produce a complete environment since there's no
way to conditionally set environment variables otherwise.
2020-02-10 15:01:32 +01:00
Robbert van der Helm 25382711da Add wineprefix detection 2020-02-10 14:56:27 +01:00
Robbert van der Helm 1b1c0c57b9 Add the groundwork for loading VST plugins 2020-02-09 22:53:31 +01:00
Robbert van der Helm 875308bd6f Answer event queries within the Wine VST host 2020-02-09 20:05:47 +01:00
Robbert van der Helm 73256d0055 Print exceptions thrown during initialization 2020-02-09 17:52:23 +01:00
Robbert van der Helm b6c9acc57c Add functions to encapsulate serialization 2020-02-09 17:22:45 +01:00