mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-07 03:50:11 +02:00
Also add a proxy function for processReplacing
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user