void VstPluginWindow::savePreset () { File lastPresetDirectory = File (plugin->getValue (PROP_PLUGPRESETDIR, String::empty)); if (! lastPresetDirectory.exists()) lastPresetDirectory = Config::getInstance ()->lastPresetDirectory; FileChooser myChooser (T("Save a preset file..."), lastPresetDirectory, JOST_PRESET_WILDCARD, JOST_USE_NATIVE_FILE_CHOOSER); if (myChooser.browseForFileToSave (true)) { File fileToSave = myChooser.getResult().withFileExtension (JOST_PRESET_EXTENSION); XmlElement xml (JOST_PRESET_PRESETTAG); plugin->savePresetToXml (&xml); if (fileToSave.replaceWithText (xml.createDocument (String::empty))) { Config::getInstance()->addRecentPreset (fileToSave); plugin->setValue (PROP_PLUGPRESETDIR, fileToSave.getParentDirectory().getFullPathName()); } } }
XmlElement* SmugMug::smugMugRequest(const String& method, const StringPairArray& params_, bool upload) { StringPairArray params(params_); params.set(("method"), method); params.set(("APIKey"), APIKEY); startTimer(LOGOUT_TIMER); if (sessionId.isNotEmpty()) params.set(("SessionID"), sessionId); URL url(upload ? UPLOAD_URL : BASE_URL); StringArray keys = params.getAllKeys(); StringArray vals = params.getAllValues(); for (int i = 0; i < keys.size(); i++) url = url.withParameter(keys[i], vals[i]); XmlElement* x = url.readEntireXmlStream(upload); #ifdef JUCE_DEBUG Logger::outputDebugString(url.toString(true)); if (x) Logger::outputDebugString(x->createDocument(String::empty, true)); #endif if (x && x->getStringAttribute(("stat")) == ("fail")) { XmlElement* err = x->getChildByName(("err")); if (err) { addLogEntry(("Error: ") + err->getStringAttribute(("msg"))); } } return x; }
void Plugin::saveCurrentProgramXml(File* file) { //save current settings program_bank->saveProgramState(current_program); saveProgramTo(current_program); //output program to file XmlElement* program = program_bank->createProgramXml(current_program); file->replaceWithText(program->createDocument(String::empty)); delete program; }
void Plugin::saveBankXml(File* file) { // save current program program_bank->saveProgramState(current_program); // output bank to file XmlElement* bankXml = program_bank->createBankXml(); file->replaceWithText(bankXml->createDocument(String::empty)); delete bankXml; editor_program_update_pending = true; setSavedState(true); }
//============================================================================== static String encryptXML (const XmlElement& xml, RSAKey privateKey) { MemoryOutputStream text; text << xml.createDocument (StringRef(), true); BigInteger val; val.loadFromMemoryBlock (text.getMemoryBlock()); privateKey.applyToValue (val); return val.toString (16); }
void AudioProcessor::copyXmlToBinary (const XmlElement& xml, juce::MemoryBlock& destData) { const String xmlString (xml.createDocument (String::empty, true, false)); const int stringLength = xmlString.getNumBytesAsUTF8(); destData.setSize ((size_t) stringLength + 10); char* const d = static_cast<char*> (destData.getData()); *(uint32*) d = ByteOrder::swapIfBigEndian ((const uint32) magicXmlNumber); *(uint32*) (d + 4) = ByteOrder::swapIfBigEndian ((const uint32) stringLength); xmlString.copyToUTF8 (d + 8, stringLength + 1); }
void AudioProcessor::copyXmlToBinary (const XmlElement& xml, juce::MemoryBlock& destData) { const String xmlString (xml.createDocument (String::empty, true, false)); const size_t stringLength = xmlString.getNumBytesAsUTF8(); destData.setSize (stringLength + 9); uint32* const d = static_cast<uint32*> (destData.getData()); d[0] = ByteOrder::swapIfBigEndian ((const uint32) magicXmlNumber); d[1] = ByteOrder::swapIfBigEndian ((const uint32) stringLength); xmlString.copyToUTF8 ((CharPointer_UTF8::CharType*) (d + 2), stringLength + 1); }
void AudioProcessor::copyXmlToBinary (const XmlElement& xml, JUCE_NAMESPACE::MemoryBlock& destData) { const String xmlString (xml.createDocument (String::empty, true, false)); const int stringLength = xmlString.length(); destData.setSize (stringLength + 10); char* const d = (char*) destData.getData(); *(uint32*) d = ByteOrder::swapIfBigEndian ((const uint32) magicXmlNumber); *(uint32*) (d + 4) = ByteOrder::swapIfBigEndian ((const uint32) stringLength); xmlString.copyToBuffer (d + 8, stringLength); }
void DemoJuceFilter::getStateInformation (MemoryBlock& destData) { XmlElement xmlState (T("BITMUNGLER")); xmlState.setAttribute (T("pluginVersion"), 1); xmlState.setAttribute (T("xorBits"), serializeArray (xorBits)); xmlState.setAttribute (T("xorWith"), xorWith); xmlState.setAttribute (T("xorProcessing"), xorProcessing); xmlState.setAttribute (T("andBits"), serializeArray (andBits)); xmlState.setAttribute (T("andWith"), andWith); xmlState.setAttribute (T("andProcessing"), andProcessing); xmlState.setAttribute (T("clearBits"), serializeArray (clearBits)); xmlState.setAttribute (T("clearProcessing"), clearProcessing); xmlState.setAttribute (T("setBits"), serializeArray (setBits)); xmlState.setAttribute (T("setProcessing"), setProcessing); Logger::writeToLog (xmlState.createDocument (String::empty)); copyXmlToBinary (xmlState, destData); }
void ComponentLayout::copySelectedToClipboard() { if (selected.getNumSelected() == 0) return; XmlElement clip (clipboardXmlTag); for (int i = 0; i < components.size(); ++i) { Component* const c = components.getUnchecked(i); if (selected.isSelected (c)) { if (ComponentTypeHandler* const type = ComponentTypeHandler::getHandlerFor (*c)) { XmlElement* const e = type->createXmlFor (c, this); clip.addChildElement (e); } } } SystemClipboard::copyTextToClipboard (clip.createDocument (String::empty, false, false)); }