Add support for legacy plugins with only process()

By emulating the behavior of `processReplacing()`. Not that there should
still be any plugins around that don't support processReplacing.
This commit is contained in:
Robbert van der Helm
2020-04-22 16:51:30 +02:00
parent 2e36c64796
commit 259d23ec57
3 changed files with 21 additions and 7 deletions
+1 -1
View File
@@ -357,7 +357,7 @@ void HostBridge::process_replacing(AEffect* /*plugin*/,
const AudioBuffers request{input_buffers, sample_frames};
write_object(host_vst_process_replacing, request, process_buffer);
// /Write the results back to the `outputs` arrays
// Write the results back to the `outputs` arrays
AudioBuffers response;
response =
read_object(host_vst_process_replacing, response, process_buffer);
+4 -2
View File
@@ -78,8 +78,10 @@ class HostBridge {
void* data,
float option);
/**
* Ask the VST plugin to process audio for us. This should also be used for
* the deprecated 'process' function.
* Ask the VST plugin to process audio for us. If the plugin somehow does
* not support `processReplacing()` and only supports the old `process()`
* function, then this will be handled implicitely in
* `PluginBridge::handle_process_replacing()`.
*/
void process_replacing(AEffect* plugin,
float** inputs,