MCPcopy Create free account
hub / github.com/NatronGitHub/Natron / initialize

Method initialize

Engine/ProjectSerialization.cpp:36–63  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

34#include "Engine/TimeLine.h"
35
36NATRON_NAMESPACE_ENTER
37
38void
39ProjectSerialization::initialize(const Project* project)
40{
41 ///All the code in this function is MT-safe
42
43 _nodes.initialize(*project);
44
45 project->getAdditionalFormats(&_additionalFormats);
46
47 std::vector<KnobIPtr> knobs = project->getKnobs_mt_safe();
48 for (U32 i = 0; i < knobs.size(); ++i) {
49 KnobGroup* isGroup = dynamic_cast<KnobGroup*>( knobs[i].get() );
50 KnobPage* isPage = dynamic_cast<KnobPage*>( knobs[i].get() );
51 KnobButton* isButton = dynamic_cast<KnobButton*>( knobs[i].get() );
52 if ( knobs[i]->getIsPersistent() &&
53 !isGroup && !isPage && !isButton &&
54 knobs[i]->hasModificationsForSerialization() ) {
55 KnobSerializationPtr newKnobSer = std::make_shared<KnobSerialization>(knobs[i]);
56 _projectKnobs.push_back(newKnobSer);
57 }
58 }
59
60 _timelineCurrent = project->currentFrame();
61
62 _creationDate = project->getProjectCreationTime();
63}
64
65NATRON_NAMESPACE_EXIT

Callers

nothing calls this directly

Calls 9

getAdditionalFormatsMethod · 0.80
getKnobs_mt_safeMethod · 0.80
sizeMethod · 0.45
getMethod · 0.45
getIsPersistentMethod · 0.45
push_backMethod · 0.45
currentFrameMethod · 0.45

Tested by

no test coverage detected