MCPcopy Create free account
hub / github.com/RomanKubiak/ctrlr / saveState

Method saveState

Source/Core/CtrlrManager/CtrlrManagerInstance.cpp:195–227  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

193}
194
195XmlElement *CtrlrManager::saveState()
196{
197 if (getInstanceMode() == InstanceMulti)
198 {
199 for (int i=0; i<getNumPanels(); i++)
200 {
201 CtrlrPanel *panel = getPanel (i);
202
203 if (panel != nullptr)
204 {
205 panel->generateCustomData();
206 if (panel->hasChangedSinceSavePoint())
207 {
208 panel->setPanelDirty(true);
209 }
210 }
211 }
212 return (managerTree.createXml().release());
213 }
214 else
215 {
216 if (getActivePanel())
217 {
218 ValueTree program = getActivePanel()->getProgram();
219 restoreProperties (managerTree, program);
220 restoreProperties (getActivePanel()->getPanelTree(), program, 0, "panelMidi");
221 restoreProperties (getActivePanel()->getPanelTree(), program, 0, Ids::panelCustomData.toString());
222 program.addChild (getActivePanel()->getCustomData(),-1,nullptr);
223 return (program.createXml().release());
224 }
225 return (nullptr);
226 }
227}
228
229ValueTree &CtrlrManager::getInstanceTree()
230{

Callers 4

getStateInformationMethod · 0.45
windowChangedMethod · 0.45
createMethod · 0.45
windowChangedMethod · 0.45

Calls 10

restorePropertiesFunction · 0.85
generateCustomDataMethod · 0.80
setPanelDirtyMethod · 0.80
getCustomDataMethod · 0.80
releaseMethod · 0.45
createXmlMethod · 0.45
getProgramMethod · 0.45
toStringMethod · 0.45
addChildMethod · 0.45

Tested by

no test coverage detected