Score::FileError MasterScore::read301(XmlReader& e) { bool top = true; while (e.readNextStartElement()) { const QStringRef& tag(e.name()); if (tag == "programVersion") { setMscoreVersion(e.readElementText()); parseVersion(mscoreVersion()); } else if (tag == "programRevision") setMscoreRevision(e.readIntHex()); else if (tag == "Score") { MasterScore* score; if (top) { score = this; top = false; } else { score = new MasterScore(); score->setMscVersion(mscVersion()); addMovement(score); } if (!score->read(e)) return FileError::FILE_BAD_FORMAT; } else if (tag == "Revision") { Revision* revision = new Revision; revision->read(e); revisions()->add(revision); } } return FileError::FILE_NO_ERROR; }
Score::FileError MasterScore::read300(XmlReader& e) { while (e.readNextStartElement()) { const QStringRef& tag(e.name()); if (tag == "programVersion") { setMscoreVersion(e.readElementText()); parseVersion(mscoreVersion()); } else if (tag == "programRevision") setMscoreRevision(e.readInt()); else if (tag == "Score") { if (!read(e)) return FileError::FILE_BAD_FORMAT; } else if (tag == "Revision") { Revision* revision = new Revision; revision->read(e); revisions()->add(revision); } } int id = 1; for (LinkedElements* le : e.linkIds()) le->setLid(this, id++); for (Staff* s : staves()) s->updateOttava(); setCreated(false); return FileError::FILE_NO_ERROR; }