Beispiel #1
0
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));
            }
      }
Beispiel #2
0
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);
}