void SoloBusMixer::saveToXml(XmlElement* element) const { XmlElement* leftElement = new XmlElement("Left"); leftElement->addTextElement(String(m_leftFader.getValue())); element->addChildElement(leftElement); XmlElement* rightElement = new XmlElement("Left"); rightElement->addTextElement(String(m_rightFader.getValue())); element->addChildElement(rightElement); }
//============================================================================== XmlElement* PaintElementPath::createXml() const { XmlElement* e = new XmlElement (getTagName()); position.applyToXml (*e); addColourAttributes (e); e->setAttribute ("nonZeroWinding", nonZeroWinding); e->addTextElement (pathToString()); return e; }
void PluginProcessor::getStateInformation(MemoryBlock& destData) { // First put current parameter values into storage scopeSync->getParameterController()->storeParameterValues(); XmlElement root("root"); XmlElement* parameterValues = new XmlElement(scopeSync->getParameterController()->getParameterValueStore()); root.addChildElement(parameterValues); XmlElement* configurationFilePathXml = root.createNewChildElement("configurationfilepath"); configurationFilePathXml->addTextElement(scopeSync->getConfigurationFile().getFullPathName()); XmlElement* oscUIDXml = root.createNewChildElement("oscuid"); oscUIDXml->addTextElement(String(scopeSync->getParameterController()->getOSCUID())); copyXmlToBinary(root, destData); DBG("PluginProcessor::getStateInformation - Storing XML: " + root.createDocument("")); }
//============================================================================== void WrappedJucePlugin::savePresetToXml(XmlElement* element) { if (instance) { MemoryBlock pluginState; instance->getStateInformation(pluginState); XmlElement* chunk = new XmlElement (T("juceVSTPluginData")); chunk->addTextElement (pluginState.toBase64Encoding ()); element->addChildElement (chunk); } }
XmlElement* CDPlayer::saveToXml(const File& /*projectDirectory*/, MyMultiDocumentPanel::LayoutMode layoutMode) const { XmlElement* element = new XmlElement("CDPlayer"); element->setAttribute("gain", getGain()); element->setAttribute("mute", m_mute); element->setAttribute("solo", m_solo); element->setAttribute("color", m_color.toString()); switch (layoutMode) { case MyMultiDocumentPanel::FloatingWindows: { Rectangle<int> parentBounds = getParentComponent()->getBounds(); XmlElement* boundsXml = new XmlElement("Bounds"); boundsXml->setAttribute("x", parentBounds.getX()); boundsXml->setAttribute("y", parentBounds.getY()); boundsXml->setAttribute("width", parentBounds.getWidth()); boundsXml->setAttribute("height", parentBounds.getHeight()); element->addChildElement(boundsXml); } break; case MyMultiDocumentPanel::MaximisedWindowsWithTabs: { XmlElement* mdiDocumentPosXml = new XmlElement("MdiDocumentPos"); mdiDocumentPosXml->addTextElement(getProperties()["mdiDocumentPos_"]); element->addChildElement(mdiDocumentPosXml); } break; } XmlElement* nameXml = new XmlElement("Name"); nameXml->addTextElement(Component::getName()); element->addChildElement(nameXml); XmlElement* driveXml = new XmlElement("Drive"); driveXml->addTextElement(m_availableCDsComboBox.getText()); element->addChildElement(driveXml); return element; }
XmlElement* PMixDocument::createNodeXml (AudioProcessorGraph::Node* const node) noexcept { AudioPluginInstance* plugin = dynamic_cast <AudioPluginInstance*> (node->getProcessor()); if (plugin == nullptr) { jassertfalse; return nullptr; } XmlElement* e = new XmlElement ("NODE"); e->setAttribute ("uid", (int) node->nodeID); e->setAttribute ("x", node->properties ["x"].toString()); e->setAttribute ("y", node->properties ["y"].toString()); e->setAttribute ("uiLastX", node->properties ["uiLastX"].toString()); e->setAttribute ("uiLastY", node->properties ["uiLastY"].toString()); e->setAttribute ("uiStatus", node->properties ["uiStatus"].toString()); PluginDescription pd; plugin->fillInPluginDescription (pd); if(!InternalPluginFormat::isInternalFormat(pd.name)) { e->setAttribute("colour", node->properties ["colour"].toString()); e->setAttribute ("iposx", node->properties ["iposx"].toString()); e->setAttribute ("iposy", node->properties ["iposy"].toString()); } e->addChildElement (pd.createXml()); XmlElement* state = new XmlElement ("STATE"); MemoryBlock m; node->getProcessor()->getStateInformation (m); state->addTextElement (m.toBase64Encoding()); e->addChildElement (state); if(!InternalPluginFormat::isInternalFormat(pd.name)) { XmlElement* params = new XmlElement ("PARAMS"); Array<var>* paramsArray = node->properties.getVarPointer("params")->getArray(); params->addTextElement("["); for(int i=0;i<paramsArray->size();i++) { var parameterIdx = paramsArray->getReference(i); params->addTextElement(parameterIdx.toString()); if(i != paramsArray->size()-1) params->addTextElement(", "); } params->addTextElement("]"); e->addChildElement(params); Array<var>* presetsArr = node->properties.getVarPointer("presets")->getArray(); for(int i=0;i<presetsArr->size();i++) { XmlElement* presetXML = new XmlElement ("PRESET"); DynamicObject* thePreset = presetsArr->getReference(i).getDynamicObject(); presetXML->setAttribute("name", thePreset->getProperty("name").toString()); presetXML->setAttribute("x", thePreset->getProperty("x").toString()); presetXML->setAttribute("y", thePreset->getProperty("y").toString()); presetXML->setAttribute("radius", thePreset->getProperty("radius").toString()); presetXML->setAttribute("hidden", thePreset->getProperty("hidden").toString()); //presetXML->setAttribute("distance", thePreset->getProperty("distance").toString()); presetXML->setAttribute("coeff", thePreset->getProperty("coeff").toString()); presetXML->setAttribute("uid", thePreset->getProperty("uid").toString()); Array<var>* paramsArray = thePreset->getProperty("state").getArray(); presetXML->addTextElement("["); for(int i=0;i<paramsArray->size();i++) { var parameterIdx = paramsArray->getReference(i); presetXML->addTextElement(parameterIdx.toString()); if(i != paramsArray->size()-1) presetXML->addTextElement(", "); } presetXML->addTextElement("]"); e->addChildElement(presetXML); } } return e; }