From 6c4dca151b37ae6729491aba8db2ba52597d0334 Mon Sep 17 00:00:00 2001 From: Robbert van der Helm Date: Thu, 5 Mar 2020 15:31:15 +0100 Subject: [PATCH] Also add a proxy function for processReplacing --- src/plugin/host-bridge.cpp | 18 +++++++++++++++++- src/plugin/host-bridge.h | 4 ++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/plugin/host-bridge.cpp b/src/plugin/host-bridge.cpp index eb04843b..c350008c 100644 --- a/src/plugin/host-bridge.cpp +++ b/src/plugin/host-bridge.cpp @@ -51,6 +51,7 @@ bp::environment set_wineprefix(); intptr_t dispatch_proxy(AEffect*, int32_t, int32_t, intptr_t, void*, float); void process_proxy(AEffect*, float**, float**, int32_t); +void process_replacing_proxy(AEffect*, float**, float**, int); void setParameter_proxy(AEffect*, int32_t, float); float getParameter_proxy(AEffect*, int32_t); @@ -92,7 +93,7 @@ HostBridge::HostBridge(audioMasterCallback host_callback) plugin.process = process_proxy; plugin.setParameter = setParameter_proxy; plugin.getParameter = getParameter_proxy; - // TODO: Add processReplacing + plugin.processReplacing = process_replacing_proxy; // TODO: Replace manual thread creation with an async_read loop // Start accepting host callbacks after we've set up our sockets and basic @@ -146,6 +147,13 @@ void HostBridge::process(AEffect* /*plugin*/, // TODO: Unimplmemented } +void HostBridge::process_replacing(AEffect* /*plugin*/, + float** /*inputs*/, + float** /*outputs*/, + int /*sample_frames*/) { + // TODO: Unimplmemented +} + void HostBridge::set_parameter(AEffect* /*plugin*/, int32_t /*index*/, float /*value*/) { @@ -307,6 +315,14 @@ void process_proxy(AEffect* plugin, sample_frames); } +void process_replacing_proxy(AEffect* plugin, + float** inputs, + float** outputs, + int sample_frames) { + return get_bridge_instance(*plugin).process_replacing( + plugin, inputs, outputs, sample_frames); +} + void setParameter_proxy(AEffect* plugin, int32_t index, float value) { return get_bridge_instance(*plugin).set_parameter(plugin, index, value); } diff --git a/src/plugin/host-bridge.h b/src/plugin/host-bridge.h index 562295aa..b84db621 100644 --- a/src/plugin/host-bridge.h +++ b/src/plugin/host-bridge.h @@ -60,6 +60,10 @@ class HostBridge { float** inputs, float** outputs, int32_t sample_frames); + void process_replacing(AEffect* plugin, + float** inputs, + float** outputs, + int sample_frames); void set_parameter(AEffect* plugin, int32_t index, float value); float get_parameter(AEffect* plugin, int32_t index);