MasterScore* MTest::readCreatedScore(const QString& name) { MasterScore* score = new MasterScore(mscore->baseStyle()); QFileInfo fi(name); score->setName(fi.completeBaseName()); QString csl = fi.suffix().toLower(); ScoreLoad sl; Score::FileError rv; if (csl == "cap") { rv = importCapella(score, name); score->setMetaTag("originalFormat", csl); } else if (csl == "capx") { rv = importCapXml(score, name); score->setMetaTag("originalFormat", csl); } else if (csl == "ove") rv = importOve(score, name); else if (csl == "sgu") rv = importBB(score, name); else if (csl == "mscz" || csl == "mscx") rv = score->loadMsc(name, false); else if (csl == "mxl") rv = importCompressedMusicXml(score, name); #ifdef OMR else if (csl == "pdf") rv = importPdf(score, name); #endif else if (csl == "xml" || csl == "musicxml") rv = importMusicXml(score, name); else if (csl == "gp3" || csl == "gp4" || csl == "gp5" || csl == "gpx") rv = importGTP(score, name); else rv = Score::FileError::FILE_UNKNOWN_TYPE; if (rv != Score::FileError::FILE_NO_ERROR) { QWARN(qPrintable(QString("readScore: cannot load <%1> type <%2>\n").arg(name).arg(csl))); delete score; score = 0; } else { for (Score* s : score->scoreList()) s->doLayout(); } return score; }
Score* QmlPlugin::newScore(const QString& /*name*/, const QString& /*part*/, int /*measures*/) { #if 0 // TODO if (msc->currentScore()) msc->currentScore()->endCmd(); MasterScore* score = new MasterScore(MScore::defaultStyle()); score->setName(name); score->appendPart(part); score->appendMeasures(measures); score->doLayout(); int view = msc->appendScore(score); msc->setCurrentView(0, view); qApp->processEvents(); // tell QML not to garbage collect this score QQmlEngine::setObjectOwnership(score, QQmlEngine::CppOwnership); score->startCmd(); return score; #endif return 0; }