UPDATE with
juce::ValueTree UserPresetHelpers::createModuleStateTree(ModulatorSynthChain* chain)
{
   ValueTree modules("Modules");
   if (auto sp = JavascriptMidiProcessor::getFirstInterfaceScriptProcessor(chain->getMainController()))
   {
   	for (auto id : sp->getListOfModuleIds())
   	{
   		
   		auto p = ProcessorHelpers::getFirstProcessorWithName(chain, id);
   		
   		if (p != nullptr)
   		{
   			auto mTree = p->exportAsValueTree();
   			mTree.removeChild(mTree.getChildWithName("EditorStates"), nullptr);
   			mTree.removeChild(mTree.getChildWithName("EditorStates"), nullptr);
   			modules.addChild(mTree, -1, nullptr);
   		}
   
   	}
   }
It does work! But I need to click twice to recall the CurveEq values if coming from Empty Slot or other FX. If I'm already on a CureveEq then it loads on first attempt  ->
glitch.gif
@Christoph-Hart