summaryrefslogtreecommitdiff
path: root/libs/ardour/lua_api.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-10-07 14:37:09 +0200
committerRobin Gareus <robin@gareus.org>2016-10-07 14:37:09 +0200
commitd4229da4cfdb3c801cec291fd9a2c8531dee878c (patch)
tree67f30c90ab3152e5f9a330665fd6693c9af6a4d6 /libs/ardour/lua_api.cc
parent485e31f08215d6f311e6ae6221d8d7a7c31d599c (diff)
honor Vamp Plugin preferred step+block sizes.
Diffstat (limited to 'libs/ardour/lua_api.cc')
-rw-r--r--libs/ardour/lua_api.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/libs/ardour/lua_api.cc b/libs/ardour/lua_api.cc
index 2078fd4aa7..6a2dbbe9f6 100644
--- a/libs/ardour/lua_api.cc
+++ b/libs/ardour/lua_api.cc
@@ -551,7 +551,7 @@ LuaAPI::Vamp::Vamp (const std::string& key, float sample_rate)
: _plugin (0)
, _sample_rate (sample_rate)
, _bufsize (1024)
- , _stepsize (512)
+ , _stepsize (1024)
, _initialized (false)
{
using namespace ::Vamp::HostExt;
@@ -563,6 +563,14 @@ LuaAPI::Vamp::Vamp (const std::string& key, float sample_rate)
PBD::error << string_compose (_("VAMP Plugin \"%1\" could not be loaded"), key) << endmsg;
throw failed_constructor ();
}
+
+ size_t bs = _plugin->getPreferredBlockSize ();
+ size_t ss = _plugin->getPreferredStepSize ();
+
+ if (bs > 0 && ss > 0 && bs <= 8192 && ss <= 8192) {
+ _bufsize = bs;
+ _stepsize = bs;
+ }
}
LuaAPI::Vamp::~Vamp ()