Browse Source

Fix loading state via juce of vst2 plugins without chunk

tags/v2.3.1
falkTX 4 years ago
parent
commit
fa0cee2862
1 changed files with 15 additions and 4 deletions
  1. +15
    -4
      source/backend/plugin/CarlaPluginJuce.cpp

+ 15
- 4
source/backend/plugin/CarlaPluginJuce.cpp View File

@@ -1647,16 +1647,27 @@ private:

const int32_t* const set = (const int32_t*)data;

// chunkMagic
if (! compareMagic(set[0], "CcnK"))
return false;
if (! compareMagic(set[2], "FBCh") && ! compareMagic(set[2], "FJuc"))
return false;
// version
if (fxbSwap(set[3]) > 1)
return false;

const int32_t chunkSize = fxbSwap(set[39]);
// fxMagic, data contents depend on this value
if (compareMagic(set[2], "FBCh") || compareMagic(set[2], "FJuc"))
{
const int32_t chunkSize = fxbSwap(set[39]);
return static_cast<std::size_t>(chunkSize + 160) == dataSize;
}
if (compareMagic(set[2], "FxBk"))
{
const int32_t numPrograms = fxbSwap(set[6]);
return numPrograms >= 1;
}

return static_cast<std::size_t>(chunkSize + 160) == dataSize;
return false;
}

static bool compareMagic(int32_t magic, const char* name) noexcept


Loading…
Cancel
Save