Browse Source

Always use a fixed buffer size for ZynAddSubFX

tags/1.9.4
falkTX 12 years ago
parent
commit
f009023f76
2 changed files with 27 additions and 2 deletions
  1. +7
    -1
      source/backend/plugin/DssiPlugin.cpp
  2. +20
    -1
      source/backend/plugin/NativePlugin.cpp

+ 7
- 1
source/backend/plugin/DssiPlugin.cpp View File

@@ -143,6 +143,7 @@ public:
CARLA_ASSERT(fDescriptor != nullptr); CARLA_ASSERT(fDescriptor != nullptr);


const bool isDssiVst = fFilename.contains("dssi-vst", true); const bool isDssiVst = fFilename.contains("dssi-vst", true);
const bool isZASX = fFilename.contains("zynaddsubfx", true);
unsigned int options = 0x0; unsigned int options = 0x0;


options |= PLUGIN_OPTION_MAP_PROGRAM_CHANGES; options |= PLUGIN_OPTION_MAP_PROGRAM_CHANGES;
@@ -155,7 +156,7 @@ public:
if (fDescriptor != nullptr && fDssiDescriptor->get_custom_data != nullptr && fDssiDescriptor->set_custom_data != nullptr) if (fDescriptor != nullptr && fDssiDescriptor->get_custom_data != nullptr && fDssiDescriptor->set_custom_data != nullptr)
options |= PLUGIN_OPTION_USE_CHUNKS; options |= PLUGIN_OPTION_USE_CHUNKS;
} }
else
else if (! isZASX)
{ {
options |= PLUGIN_OPTION_FIXED_BUFFER; options |= PLUGIN_OPTION_FIXED_BUFFER;
} }
@@ -706,6 +707,7 @@ public:
// plugin hints // plugin hints
const bool haveGUI = (fHints & PLUGIN_HAS_GUI); const bool haveGUI = (fHints & PLUGIN_HAS_GUI);
const bool isDssiVst = fFilename.contains("dssi-vst", true); const bool isDssiVst = fFilename.contains("dssi-vst", true);
const bool isZASX = fFilename.contains("zynaddsubfx", true);


fHints = 0x0; fHints = 0x0;


@@ -748,6 +750,10 @@ public:
if (kData->engine->getOptions().useDssiVstChunks && fDssiDescriptor->get_custom_data != nullptr && fDssiDescriptor->set_custom_data != nullptr) if (kData->engine->getOptions().useDssiVstChunks && fDssiDescriptor->get_custom_data != nullptr && fDssiDescriptor->set_custom_data != nullptr)
fOptions |= PLUGIN_OPTION_USE_CHUNKS; fOptions |= PLUGIN_OPTION_USE_CHUNKS;
} }
else if (isZASX)
{
fOptions |= PLUGIN_OPTION_FIXED_BUFFER;
}


if (mIns > 0) if (mIns > 0)
{ {


+ 20
- 1
source/backend/plugin/NativePlugin.cpp View File

@@ -213,7 +213,18 @@ public:


unsigned int options = 0x0; unsigned int options = 0x0;


options |= PLUGIN_OPTION_FIXED_BUFFER;
if (fDescriptor->name != nullptr)
{
if (std::strcmp(fDescriptor->name, "ZynAddSubFX") == 0)
{
// nothing
}
else
{
options |= PLUGIN_OPTION_FIXED_BUFFER;
}
}

options |= PLUGIN_OPTION_MAP_PROGRAM_CHANGES; options |= PLUGIN_OPTION_MAP_PROGRAM_CHANGES;


//if ((kData->audioIns.count() == 1 || kData->audioOuts.count() == 0) || (kData->audioIns.count() == 0 || kData->audioOuts.count() == 1)) //if ((kData->audioIns.count() == 1 || kData->audioOuts.count() == 0) || (kData->audioIns.count() == 0 || kData->audioOuts.count() == 1))
@@ -892,6 +903,14 @@ public:
// plugin options // plugin options
fOptions = 0x0; fOptions = 0x0;


if (fDescriptor->name != nullptr)
{
if (std::strcmp(fDescriptor->name, "ZynAddSubFX") == 0)
{
fOptions |= PLUGIN_OPTION_FIXED_BUFFER;
}
}

fOptions |= PLUGIN_OPTION_MAP_PROGRAM_CHANGES; fOptions |= PLUGIN_OPTION_MAP_PROGRAM_CHANGES;


if (forcedStereoIn || forcedStereoOut) if (forcedStereoIn || forcedStereoOut)


Loading…
Cancel
Save