| 1310 | } |
| 1311 | |
| 1312 | void 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 | |
| 1364 | void VSTPlugin::ParameterSlider::MakeSlider() |
| 1365 | { |
nothing calls this directly
no test coverage detected