示例#1
0
文件: wavetrack.cpp 项目: EQ4/muse
void WaveTrack::read(Xml& xml)
      {
      for (;;) {
            Xml::Token token = xml.parse();
            const QString& tag = xml.s1();
            switch (token) {
                  case Xml::Error:
                  case Xml::End:
                        goto out_of_WaveTrackRead_forloop;
                  case Xml::TagStart:
                        if (tag == "part") {
                              Part* p = 0;
                              p = Part::readFromXml(xml, this);
                              if(p)
                                parts()->add(p);
                              }
                        else if (AudioTrack::readProperties(xml, tag))
                              xml.unknown("WaveTrack");
                        break;
                  case Xml::Attribut:
                        break;
                  case Xml::TagEnd:
                        if (tag == "wavetrack") {
                              mapRackPluginsToControllers();
                              goto out_of_WaveTrackRead_forloop;
                              }
                  default:
                        break;
                  }
            }
out_of_WaveTrackRead_forloop:
      chainTrackParts(this);
      }
示例#2
0
文件: plugin.cpp 项目: 87maxi/oom
 virtual void read(Xml& xml)
 {
     for (;;)
     {
         Xml::Token token = xml.parse();
         const QString& tag = xml.s1();
         switch (token)
         {
             case Xml::Error:
             case Xml::End:
                 return;
             case Xml::TagStart:
                 if (tag == "SynthPluginTrack")
                 {
                     continue;
                 }
                 else if (tag == "LadspaPlugin" || tag == "Lv2Plugin" || tag == "VstPlugin")
                 {
                     // we already loaded this before
                     xml.parse1();
                     continue;
                 }
                 if (AudioTrack::readProperties(xml, tag))
                     xml.unknown("SynthPluginTrack");
                 break;
             case Xml::Attribut:
                 break;
             case Xml::TagEnd:
                 if (tag == "SynthPluginTrack")
                 {
                     mapRackPluginsToControllers();
                     return;
                 }
             default:
                 break;
         }
     }
 }