From 77ed9260b247c28233b7227173df97dfc088f5e4 Mon Sep 17 00:00:00 2001 From: falkTX Date: Thu, 21 Aug 2014 02:16:19 +0100 Subject: [PATCH] States in VST (using chunks) confirmed working 100%, remove warning --- distrho/src/DistrhoPluginVST.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/distrho/src/DistrhoPluginVST.cpp b/distrho/src/DistrhoPluginVST.cpp index 60dcd381..bdae4747 100644 --- a/distrho/src/DistrhoPluginVST.cpp +++ b/distrho/src/DistrhoPluginVST.cpp @@ -56,9 +56,6 @@ struct ERect { # include "vst/aeffectx.h" #endif -#if DISTRHO_PLUGIN_WANT_STATE -# warning VST State still TODO (working but needs final testing) -#endif #if DISTRHO_PLUGIN_WANT_TIMEPOS # warning VST TimePos still TODO (only basic BBT working) #endif @@ -444,7 +441,7 @@ public: fVstUi->idle(); #if DISTRHO_PLUGIN_WANT_STATE - if (fStateMap.size() > 0) + if (fPlugin.getStateCount() == 0) { for (StringMap::const_iterator cit=fStateMap.cbegin(), cite=fStateMap.cend(); cit != cite; ++cit) { @@ -488,7 +485,7 @@ public: fStateChunk = nullptr; } - if (fStateMap.size() == 0) + if (fPlugin.getStateCount() == 0) { fStateChunk = new char[1]; fStateChunk[0] = '\0'; @@ -516,8 +513,8 @@ public: const std::size_t chunkSize(chunkStr.length()+1); fStateChunk = new char[chunkSize]; - std::memset(fStateChunk, 0, chunkSize); std::memcpy(fStateChunk, chunkStr.buffer(), chunkStr.length()); + fStateChunk[chunkSize] = '\0'; for (std::size_t i=0; i