Commit Graph

43 Commits

Author SHA1 Message Date
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 22f01a4b69 Update .clang-format 2020-03-05 13:04:16 +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 5b07941986 Add missing TODOs and part of the protocol 2020-02-26 18:09:42 +01:00
Robbert van der Helm b2acd5508c Add bitsery as a dependency 2020-02-26 17:57:14 +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 4f22597970 Better document the serialization part 2020-02-10 18:24:38 +01:00
Robbert van der Helm 309a6cb00e Add GPLv3 copyright headers 2020-02-10 16:47:43 +01:00
Robbert van der Helm a7dedf1fbe Describe the project's architecture 2020-02-10 16:18:46 +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
Robbert van der Helm b757001435 Add basic communication with a child process 2020-02-08 17:18:39 +01:00
Robbert van der Helm 65996f856a Add boilerplate for event handling 2020-02-07 17:16:09 +01:00
Robbert van der Helm 7a68654fa2 Handle freeing resources when closing the plugin 2020-02-07 15:04:27 +01:00
Robbert van der Helm 58d749862f Delegate the plugin functionality to a class
This way we can hopefully contain all the manual memory management and
raw pointers somewhat.
2020-02-06 19:01:30 +01:00
Robbert van der Helm 3cda70ec04 Add some more boilerplate 2020-02-03 15:52:16 +01:00
Robbert van der Helm f1a95ded2f Initial commit with project skeleton 2020-02-03 14:13:43 +01:00