💥 Rework Vst3MessageHandler

- Now allows direct deserialization into existing objects. This will be
  necessary for our VST3 implementations since the interface instances
  we'll deserialize into will not be trivially constructable because
  they have to be able to do callbacks.
- `ControlResponse` and `CallbackResponse` were dropped. These response
  enums are not necessary because of the `T::Response` associated type
  and returning the types directly makes the direct deserialization
  possible.
This commit is contained in:
Robbert van der Helm
2020-12-06 12:21:37 +01:00
parent 5423950a8a
commit d5374e4540
3 changed files with 27 additions and 65 deletions
+1 -1
View File
@@ -42,7 +42,7 @@ Vst3PluginBridge::Vst3PluginBridge()
host_callback_handler = std::jthread([&]() {
sockets.vst_host_callback.receive_messages(
std::pair<Vst3Logger&, bool>(logger, false),
[&](CallbackRequest request) -> CallbackResponse {
[&](CallbackRequest request) -> auto {
return std::visit(overload{[&](const WantsConfiguration&)
-> WantsConfiguration::Response {
return config;