use buffer APIs instead of raw memcpy, fix plugin bypass
This commit is contained in:
parent
f4060c6b38
commit
9875d43414
@ -346,9 +346,8 @@ PluginInsert::connect_and_run (BufferSet& bufs, pframes_t nframes, framecnt_t of
|
||||
/* XXX: audio only */
|
||||
uint32_t first_idx = in_map.get (DataType::AUDIO, 0, &valid);
|
||||
if (valid) {
|
||||
Sample const * mono = bufs.get_audio (first_idx).data (offset);
|
||||
for (uint32_t i = in_streams.n_audio(); i < natural_input_streams().n_audio(); ++i) {
|
||||
memcpy (bufs.get_audio (in_map.get (DataType::AUDIO, i, &valid)).data (offset), mono, sizeof (Sample) * nframes);
|
||||
bufs.get_audio(in_map.get (DataType::AUDIO, i, &valid)).read_from(bufs.get_audio(first_idx), nframes, offset, offset);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -490,8 +489,9 @@ PluginInsert::run (BufferSet& bufs, framepos_t /*start_frame*/, framepos_t /*end
|
||||
|
||||
/* not active, but something has make up for any channel count increase */
|
||||
|
||||
for (uint32_t n = out - in; n < out; ++n) {
|
||||
memcpy (bufs.get_audio (n).data(), bufs.get_audio(in - 1).data(), sizeof (Sample) * nframes);
|
||||
// TODO: option round-robin (n % in) or silence additional buffers ??
|
||||
for (uint32_t n = in; n < out; ++n) {
|
||||
bufs.get_audio(n).read_from(bufs.get_audio(in - 1), nframes);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user