X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fapluginarray.C;h=a2be55142a2494ec7cbbd20ac867a089f89303e0;hb=361dbd9de4e6e4143ea0cac5daa89b30685a4c70;hp=b265d12cbb1a289f5d6607d9d1b9b7e62250341e;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/apluginarray.C b/cinelerra-5.1/cinelerra/apluginarray.C index b265d12c..a2be5514 100644 --- a/cinelerra-5.1/cinelerra/apluginarray.C +++ b/cinelerra-5.1/cinelerra/apluginarray.C @@ -19,6 +19,7 @@ * */ +#include "asset.h" #include "amodule.h" #include "apluginarray.h" #include "atrack.h" @@ -81,7 +82,8 @@ void APluginArray::create_modules() void APluginArray::process_realtime(int module, int64_t input_position, int64_t len) { - values[module]->process_buffer(realtime_buffers + module, + int ibfr = module % file->asset->channels; + values[module]->process_buffer(realtime_buffers + ibfr, input_position, len, edl->session->sample_rate, @@ -92,7 +94,8 @@ void APluginArray::process_realtime(int module, int64_t input_position, int64_t int APluginArray::process_loop(int module, int64_t &write_length) { if(!realtime_buffers) realtime_buffers = file->get_audio_buffer(); - int result = values[module]->process_loop(&realtime_buffers[module], + int ibfr = module % file->asset->channels; + int result = values[module]->process_loop(&realtime_buffers[ibfr], write_length); return result; }