diff options
author | Robin Gareus <robin@gareus.org> | 2017-01-19 21:07:22 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-01-19 21:35:22 +0100 |
commit | 761747760921b5c6b3f4899ca1c40e9aa27bc4a0 (patch) | |
tree | 62aba50c8fc3ca5ee269488e6ab0fd85f3f847a0 /libs/ardour/lv2_plugin.cc | |
parent | 5d7b6fdd627af94906aaf2fd5405bb33312f96f8 (diff) |
Scale default Atom Ringbuffer size with samplerate
This increases the safe-margin for plugins producing more messages
sent to the plugin GUI (usually fixed ~25Hz updates)
Diffstat (limited to 'libs/ardour/lv2_plugin.cc')
-rw-r--r-- | libs/ardour/lv2_plugin.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc index 24fa22dcfd..a1a7ce860a 100644 --- a/libs/ardour/lv2_plugin.cc +++ b/libs/ardour/lv2_plugin.cc @@ -1647,7 +1647,8 @@ LV2Plugin::write_from_ui(uint32_t index, if (_atom_ev_buffers && _atom_ev_buffers[0]) { bufsiz = lv2_evbuf_get_capacity(_atom_ev_buffers[0]); } - rbs = max((size_t) bufsiz * 8, rbs); + int fact = ceilf(_session.frame_rate () / 3000.f); + rbs = max((size_t) bufsiz * std::max (8, fact), rbs); _from_ui = new RingBuffer<uint8_t>(rbs); } |