-#include <vamp-sdk/hostext/PluginLoader.h>
+#include <cstring>
+
+#include "vamp-hostsdk/PluginLoader.h"
+
#include <glibmm/miscutils.h>
#include <glibmm/fileutils.h>
#include <glib/gstdio.h> // for g_remove()
-#include <pbd/error.h>
+#include "pbd/error.h"
-#include <ardour/audioanalyser.h>
-#include <ardour/readable.h>
-#include <ardour/readable.h>
+#include "ardour/audioanalyser.h"
+#include "ardour/readable.h"
+#include "ardour/readable.h"
+
+#include <cstring>
#include "i18n.h"
/* zero fill buffer if necessary */
if (to_read != bufsize) {
- memset (data + to_read, 0, (bufsize - to_read));
+ memset (data + to_read, 0, (bufsize - to_read) * sizeof (Sample));
}
features = plugin->process (bufs, RealTime::fromSeconds ((double) pos / sample_rate));
goto out;
}
- pos += stepsize;
+ pos += min (stepsize, to_read);
if (pos >= len) {
done = true;
g_rename (tmp_path.c_str(), path.c_str());
}
- if (data) {
- delete [] data;
- }
+ delete [] data;
return ret;
}