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); }
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; } } }