mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-10 04:30:12 +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);
|
intptr_t dispatch_proxy(AEffect*, int32_t, int32_t, intptr_t, void*, float);
|
||||||
void process_proxy(AEffect*, float**, float**, int32_t);
|
void process_proxy(AEffect*, float**, float**, int32_t);
|
||||||
|
void process_replacing_proxy(AEffect*, float**, float**, int);
|
||||||
void setParameter_proxy(AEffect*, int32_t, float);
|
void setParameter_proxy(AEffect*, int32_t, float);
|
||||||
float getParameter_proxy(AEffect*, int32_t);
|
float getParameter_proxy(AEffect*, int32_t);
|
||||||
|
|
||||||
@@ -92,7 +93,7 @@ HostBridge::HostBridge(audioMasterCallback host_callback)
|
|||||||
plugin.process = process_proxy;
|
plugin.process = process_proxy;
|
||||||
plugin.setParameter = setParameter_proxy;
|
plugin.setParameter = setParameter_proxy;
|
||||||
plugin.getParameter = getParameter_proxy;
|
plugin.getParameter = getParameter_proxy;
|
||||||
// TODO: Add processReplacing
|
plugin.processReplacing = process_replacing_proxy;
|
||||||
|
|
||||||
// TODO: Replace manual thread creation with an async_read loop
|
// TODO: Replace manual thread creation with an async_read loop
|
||||||
// Start accepting host callbacks after we've set up our sockets and basic
|
// Start accepting host callbacks after we've set up our sockets and basic
|
||||||
@@ -146,6 +147,13 @@ void HostBridge::process(AEffect* /*plugin*/,
|
|||||||
// TODO: Unimplmemented
|
// TODO: Unimplmemented
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void HostBridge::process_replacing(AEffect* /*plugin*/,
|
||||||
|
float** /*inputs*/,
|
||||||
|
float** /*outputs*/,
|
||||||
|
int /*sample_frames*/) {
|
||||||
|
// TODO: Unimplmemented
|
||||||
|
}
|
||||||
|
|
||||||
void HostBridge::set_parameter(AEffect* /*plugin*/,
|
void HostBridge::set_parameter(AEffect* /*plugin*/,
|
||||||
int32_t /*index*/,
|
int32_t /*index*/,
|
||||||
float /*value*/) {
|
float /*value*/) {
|
||||||
@@ -307,6 +315,14 @@ void process_proxy(AEffect* plugin,
|
|||||||
sample_frames);
|
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) {
|
void setParameter_proxy(AEffect* plugin, int32_t index, float value) {
|
||||||
return get_bridge_instance(*plugin).set_parameter(plugin, index, value);
|
return get_bridge_instance(*plugin).set_parameter(plugin, index, value);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,6 +60,10 @@ class HostBridge {
|
|||||||
float** inputs,
|
float** inputs,
|
||||||
float** outputs,
|
float** outputs,
|
||||||
int32_t sample_frames);
|
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);
|
void set_parameter(AEffect* plugin, int32_t index, float value);
|
||||||
float get_parameter(AEffect* plugin, int32_t index);
|
float get_parameter(AEffect* plugin, int32_t index);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user