MCPcopy Create free account
hub / github.com/BespokeSynth/BespokeSynth / LoadVSTFromSaveData

Method LoadVSTFromSaveData

Source/VSTPlugin.cpp:1312–1362  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1310}
1311
1312void VSTPlugin::LoadVSTFromSaveData(FileStreamIn& in, int rev)
1313{
1314 bool hasPlugin;
1315 in >> hasPlugin;
1316 if (hasPlugin)
1317 {
1318 int vstStateSize;
1319 in >> vstStateSize;
1320 char* vstState = new char[vstStateSize];
1321 in.ReadGeneric(vstState, vstStateSize);
1322
1323 int vstProgramStateSize = 0;
1324 if (rev >= 1)
1325 in >> vstProgramStateSize;
1326 char* vstProgramState = new char[vstProgramStateSize];
1327 if (rev >= 1 && vstProgramStateSize > 0)
1328 in.ReadGeneric(vstProgramState, vstProgramStateSize);
1329
1330 if (mPlugin != nullptr)
1331 {
1332 ofLog() << "loading vst state for " << mPlugin->getName();
1333
1334 mPlugin->setStateInformation(vstState, vstStateSize);
1335 if (rev >= 1 && vstProgramStateSize > 0)
1336 mPlugin->setCurrentProgramStateInformation(vstProgramState, vstProgramStateSize);
1337 }
1338 else
1339 {
1340 TheSynth->LogEvent("Couldn't instantiate plugin to load state for " + mModuleSaveData.GetString("pluginId"), kLogEventType_Error);
1341 }
1342
1343 if (rev >= 2)
1344 {
1345 int numParamsShowing;
1346 in >> numParamsShowing;
1347 for (auto& param : mParameterSliders)
1348 param.mShowing = false;
1349 for (int i = 0; i < numParamsShowing; ++i)
1350 {
1351 int index;
1352 in >> index;
1353 if (index < mParameterSliders.size())
1354 {
1355 mParameterSliders[index].mShowing = true;
1356 if (mParameterSliders[index].mSlider == nullptr)
1357 mParameterSliders[index].MakeSlider();
1358 }
1359 }
1360 }
1361 }
1362}
1363
1364void VSTPlugin::ParameterSlider::MakeSlider()
1365{

Callers

nothing calls this directly

Calls 6

ofLogClass · 0.85
ReadGenericMethod · 0.80
LogEventMethod · 0.80
GetStringMethod · 0.80
sizeMethod · 0.80
MakeSliderMethod · 0.80

Tested by

no test coverage detected