MCPcopy Create free account
hub / github.com/christophhart/HISE / compileInternal

Method compileInternal

hi_scripting/scripting/ScriptProcessor.cpp:1302–1477  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1300}
1301
1302JavascriptProcessor::SnippetResult JavascriptProcessor::compileInternal()
1303{
1304 auto mc = dynamic_cast<Processor*>(this)->getMainController();
1305 LockHelpers::freeToGo(mc);
1306
1307 SUSPEND_GLOBAL_DISPATCH(mc, "compile script");
1308
1309 ProcessorWithScriptingContent* thisAsScriptBaseProcessor = dynamic_cast<ProcessorWithScriptingContent*>(this);
1310
1311
1312
1313 ScriptingApi::Content* content = thisAsScriptBaseProcessor->getScriptingContent();
1314
1315 const bool saveThisContent = lastCompileWasOK && content != nullptr && !useStoredContentData;
1316
1317 auto& uph = thisAsScriptBaseProcessor->getMainController_()->getUserPresetHandler();
1318
1319 bool useCustomPreset = false;
1320
1321 if(auto asJmp = dynamic_cast<JavascriptMidiProcessor*>(this))
1322 {
1323 useCustomPreset = asJmp->isFront() && uph.isUsingCustomDataModel();
1324 }
1325
1326 if (saveThisContent)
1327 {
1328 if (useCustomPreset)
1329 {
1330 if (uph.isUsingPersistentObject())
1331 {
1332 thisAsScriptBaseProcessor->restoredContentValues = ValueTree("Content");
1333
1334 uph.saveStateManager(thisAsScriptBaseProcessor->restoredContentValues, UserPresetIds::CustomJSON);
1335 }
1336 }
1337 else
1338 thisAsScriptBaseProcessor->restoredContentValues = content->exportAsValueTree();
1339 }
1340
1341 auto thisAsProcessor = dynamic_cast<Processor*>(this);
1342
1343 {
1344 CompileDebugLock compileLock(*this);
1345 scriptEngine->clearDebugInformation();
1346 }
1347
1348 content->beginInitialization();
1349
1350 setupApi();
1351
1352 content = thisAsScriptBaseProcessor->getScriptingContent();
1353
1354 scriptEngine->setIsInitialising(true);
1355
1356 if (cycleReferenceCheckEnabled)
1357 scriptEngine->setUseCycleReferenceCheckForNextCompilation();
1358
1359 thisAsScriptBaseProcessor->allowObjectConstructors = true;

Callers 2

compileScriptMethod · 0.45
runMethod · 0.45

Calls 15

getSnippetFunction · 0.85
SnippetResultClass · 0.85
postCompileCallbackFunction · 0.85
getScriptingContentMethod · 0.80
getMainController_Method · 0.80
isFrontMethod · 0.80
saveStateManagerMethod · 0.80
beginInitializationMethod · 0.80
checkIfScriptActiveMethod · 0.80
isSnippetEmptyMethod · 0.80

Tested by

no test coverage detected