void VstSynthIF::write(int level, Xml& xml) const { //--------------------------------------------- // dump current state of synth //--------------------------------------------- int len = 0; const unsigned char* p; AEffect* plugin = _fst->plugin; int params = plugin->numParams; for (int i = 0; i < params; ++i) { xml.doubleTag(level, "param", plugin->getParameter(plugin, i)); } }
void LOS::writeGlobalConfiguration(int level, Xml& xml) const { xml.tag(level++, "configuration"); xml.intTag(level, "division", config.division); xml.intTag(level, "rtcTicks", config.rtcTicks); xml.intTag(level, "minMeter", config.minMeter); xml.doubleTag(level, "minSlider", config.minSlider); xml.intTag(level, "freewheelMode", config.freewheelMode); xml.intTag(level, "denormalProtection", config.useDenormalBias); xml.intTag(level, "outputLimiter", config.useOutputLimiter); xml.intTag(level, "dummyAudioBufSize", config.dummyAudioBufSize); xml.intTag(level, "dummyAudioSampleRate", config.dummyAudioSampleRate); xml.intTag(level, "guiRefresh", config.guiRefresh); xml.strTag(level, "userInstrumentsDir", config.userInstrumentsDir); xml.intTag(level, "extendedMidi", config.extendedMidi); xml.intTag(level, "midiExportDivision", config.midiDivision); xml.intTag(level, "smfFormat", config.smfFormat); xml.intTag(level, "exp2ByteTimeSigs", config.exp2ByteTimeSigs); xml.intTag(level, "expOptimNoteOffs", config.expOptimNoteOffs); xml.intTag(level, "importMidiSplitParts", config.importMidiSplitParts); xml.intTag(level, "startMode", config.startMode); xml.strTag(level, "startSong", config.startSong); xml.strTag(level, "projectBaseFolder", config.projectBaseFolder); xml.intTag(level, "projectStoreInFolder", config.projectStoreInFolder); xml.intTag(level, "useProjectSaveDialog", config.useProjectSaveDialog); xml.intTag(level, "useAutoCrossFades", config.useAutoCrossFades); xml.intTag(level, "midiInputDevice", midiInputPorts); xml.intTag(level, "midiInputChannel", midiInputChannel); xml.intTag(level, "midiRecordType", midiRecordType); xml.intTag(level, "midiThruType", midiThruType); xml.intTag(level, "midiFilterCtrl1", midiFilterCtrl1); xml.intTag(level, "midiFilterCtrl2", midiFilterCtrl2); xml.intTag(level, "midiFilterCtrl3", midiFilterCtrl3); xml.intTag(level, "midiFilterCtrl4", midiFilterCtrl4); xml.strTag(level, "externalWavEditor", config.externalWavEditor); xml.intTag(level, "useOldStyleStopShortCut", config.useOldStyleStopShortCut); xml.intTag(level, "moveArmedCheckBox", config.moveArmedCheckBox); xml.intTag(level, "vuColorStrip", vuColorStrip); if(gInputList.size()) { const char* const tag = "globalInputList"; xml.put(level, "<%s count=\"%d\">", tag, gInputList.size()); level++; for(int i = 0; i < gInputList.size(); ++i) { QPair<int, QString> in = gInputList.at(i); xml.put(level, "<globalInput deviceType=\"%d\" deviceName=\"%s\" />", in.first, in.second.toUtf8().constData()); } level--; xml.put(level--, "</%s>", tag); level++; } writeSeqConfiguration(level, xml, false); writeShortCuts(level, xml); xml.etag(--level, "configuration"); writeInstrumentTemplates(level, xml); }