void TimeSigMap::read(XmlReader& e, int fileDivision) { while (e.readNextStartElement()) { const QStringRef& tag(e.name()); if (tag == "sig") { SigEvent t; int tick = t.read(e, fileDivision); (*this)[tick] = t; } else e.unknown(); } normalize(); }
void TimeSigMap::read(const QDomElement& de, int fileDivision) { for (QDomElement e = de.firstChildElement(); !e.isNull(); e = e.nextSiblingElement()) { const QString& tag(e.tagName()); if (tag == "sig") { SigEvent t; int tick = t.read(e, fileDivision); (*this)[tick] = t; } else domError(e); } normalize(); }
void SigList::read(QDomNode node) { while (!node.isNull()) { QDomElement e = node.toElement(); if (e.tagName() == "sig") { SigEvent* t = new SigEvent(); unsigned tick = t->read(node); iSigEvent pos = find(tick); if (pos != end()) erase(pos); insert(std::pair<const unsigned, SigEvent*> (tick, t)); } else printf("OOMidi:SigList: unknown tag %s\n", e.tagName().toLatin1().constData()); node = node.nextSibling(); } normalize(); }
void SigList::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 == "sig") { SigEvent* t = new SigEvent(); unsigned tick = t->read(xml); iSigEvent pos = find(tick); if (pos != end()) erase(pos); insert(std::pair<const unsigned, SigEvent*> (tick, t)); } else xml.unknown("SigList"); break; case Xml::Attribut: break; case Xml::TagEnd: if (tag == "siglist") { normalize(); return; } default: break; } } }