本文整理汇总了C++中MasterScore::select方法的典型用法代码示例。如果您正苦于以下问题:C++ MasterScore::select方法的具体用法?C++ MasterScore::select怎么用?C++ MasterScore::select使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MasterScore
的用法示例。
在下文中一共展示了MasterScore::select方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: gap
void TestMeasure::gap()
{
MasterScore* score = readScore(DIR + "gaps.mscx");
Element* tst = 0;
//Select and delete third quarter rest in first Measure (voice 2)
score->startCmd();
Measure* m = score->firstMeasure();
Segment* s = m->undoGetSegment(SegmentType::ChordRest, Fraction::fromTicks(960));
Element* el = s->element(1);
score->select(el);
score->cmdDeleteSelection();
score->endCmd();
tst = s->element(1);
Q_ASSERT(tst);
QVERIFY(tst->isRest() && toRest(tst)->isGap() /*&& toRest(tst)->durationType() == TDuration::DurationType::V_QUARTER*/);
//Select and delete second quarter rest in third Measure (voice 4)
score->startCmd();
m = m->nextMeasure()->nextMeasure();
s = m->undoGetSegment(SegmentType::ChordRest, Fraction::fromTicks(4320));
el = s->element(3);
score->select(el);
score->cmdDeleteSelection();
score->endCmd();
tst = s->element(3);
Q_ASSERT(tst);
QVERIFY(tst->isRest() && toRest(tst)->isGap() /*&& toRest(tst)->durationType() == TDuration::DurationType::V_QUARTER*/);
//Select and delete first quarter rest in third Measure (voice 4)
score->startCmd();
s = m->undoGetSegment(SegmentType::ChordRest, Fraction::fromTicks(3840));
el = s->element(3);
score->select(el);
score->cmdDeleteSelection();
score->endCmd();
tst = s->element(3);
Q_ASSERT(tst);
QVERIFY(tst->isRest() && toRest(tst)->isGap()
&& toRest(tst)->actualTicks() == Fraction::fromTicks(960)
/*&& toRest(tst)->durationType() == TDuration::DurationType::V_HALF*/
);
delete score;
}
示例2: quarter
void TestMeasure::undoDelInitialVBox_269919()
{
MasterScore* score = readScore(DIR + "undoDelInitialVBox_269919.mscx");
// 1. delete initial VBox
score->startCmd();
MeasureBase* initialVBox = score->measure(0);
score->select(initialVBox);
score->cmdDeleteSelection();
score->endCmd();
// 2. change duration of first chordrest
score->startCmd();
Measure* m = score->firstMeasure();
ChordRest* cr = m->findChordRest(Fraction(0,1), 0);
Fraction quarter(4, 1);
score->changeCRlen(cr, quarter);
score->endCmd();
// 3. Undo to restore first chordrest
score->undoRedo(true, 0);
// 4. Undo to restore initial VBox resulted in assert failure crash
score->undoRedo(true, 0);
QVERIFY(saveCompareScore(score, "undoDelInitialVBox_269919.mscx", DIR + "undoDelInitialVBox_269919-ref.mscx"));
delete score;
}
示例3: testClear
void TestChordSymbol::testClear()
{
MasterScore* score = test_pre("clear");
Measure* m = score->firstMeasure();
score->select(m, SelectType::SINGLE, 0);
score->cmdDeleteSelection();
score->doLayout();
test_post(score, "clear");
}
示例4: spanner_A
void TestMeasure::spanner_A()
{
MasterScore* score = readScore(DIR + "measure-6.mscx");
score->select(score->firstMeasure());
score->startCmd();
score->localTimeDelete();
score->endCmd();
score->doLayout();
QVERIFY(saveCompareScore(score, "measure-6.mscx", DIR + "measure-6-ref.mscx"));
delete score;
}
示例5: spanner_C
void TestMeasure::spanner_C()
{
MasterScore* score = readScore(DIR + "measure-8.mscx");
Measure* m = score->firstMeasure()->nextMeasure();
score->select(m);
score->startCmd();
score->localTimeDelete();
score->endCmd();
QVERIFY(saveCompareScore(score, "measure-8.mscx", DIR + "measure-8-ref.mscx"));
delete score;
}
示例6: deleteLast
void TestMeasure::deleteLast()
{
MasterScore* score = readScore(DIR + "measure-10.mscx");
score->startCmd();
Measure* m = score->lastMeasure();
score->select(m);
score->cmdTimeDelete();
score->endCmd();
QVERIFY(saveCompareScore(score, "measure-10.mscx", DIR + "measure-10-ref.mscx"));
delete score;
}
示例7: tpcTranspose
void TestNote::tpcTranspose()
{
MasterScore* score = readScore(DIR + "tpc-transpose.mscx");
score->startCmd();
Measure* m = score->firstMeasure();
score->select(m, SelectType::SINGLE, 0);
score->changeAccidental(AccidentalType::FLAT);
score->endCmd();
score->startCmd();
m = m->nextMeasure();
score->select(m, SelectType::SINGLE, 0);
score->upDown(false, UpDownMode::CHROMATIC);
score->endCmd();
score->startCmd();
score->cmdConcertPitchChanged(true, true);
score->endCmd();
QVERIFY(saveCompareScore(score, "tpc-transpose-test.mscx", DIR + "tpc-transpose-ref.mscx"));
}
示例8: grace
void TestNote::grace()
{
MasterScore* score = readScore(DIR + "grace.mscx");
score->doLayout();
Ms::Chord* chord = score->firstMeasure()->findChord(0, 0);
Note* note = chord->upNote();
// create
score->setGraceNote(chord, note->pitch(), NoteType::APPOGGIATURA, MScore::division/2);
Ms::Chord* gc = chord->graceNotes().first();
Note* gn = gc->notes().front();
// Note* n = static_cast<Note*>(writeReadElement(gn));
// QCOMPARE(n->noteType(), NoteType::APPOGGIATURA);
// delete n;
// tie
score->select(gn);
score->cmdAddTie();
// n = static_cast<Note*>(writeReadElement(gn));
// QVERIFY(n->tieFor() != 0);
// delete n;
// tremolo
score->startCmd();
Tremolo* tr = new Tremolo(score);
tr->setTremoloType(TremoloType::R16);
tr->setParent(gc);
tr->setTrack(gc->track());
score->undoAddElement(tr);
score->endCmd();
// Ms::Chord* c = static_cast<Ms::Chord*>(writeReadElement(gc));
// QVERIFY(c->tremolo() != 0);
// delete c;
// articulation
score->startCmd();
Articulation* ar = new Articulation(SymId::articAccentAbove, score);
ar->setParent(gc);
ar->setTrack(gc->track());
score->undoAddElement(ar);
score->endCmd();
// c = static_cast<Ms::Chord*>(writeReadElement(gc));
// QVERIFY(c->articulations().size() == 1);
// delete c;
QVERIFY(saveCompareScore(score, "grace-test.mscx", DIR + "grace-ref.mscx"));
}
示例9: readScore
void TestSpanners::spanners12()
{
MasterScore* score = readScore(DIR + "lyricsline05.mscx");
QVERIFY(score);
score->doLayout();
// DELETE SECOND MEASURE AND VERIFY
Measure* msr = score->firstMeasure();
QVERIFY(msr);
msr = msr->nextMeasure();
QVERIFY(msr);
score->startCmd();
score->select(msr);
score->cmdTimeDelete();
score->endCmd();
QVERIFY(saveCompareScore(score, "lyricsline05.mscx", DIR + "lyricsline05-ref.mscx"));
// UNDO AND VERIFY
score->undoStack()->undo();
QVERIFY(saveCompareScore(score, "lyricsline05.mscx", DIR + "lyricsline05.mscx"));
delete score;
}
示例10: ex
void TestLinks::test5LinkedParts_94911()
{
MCursor c;
c.setTimeSig(Fraction(4,4));
c.createScore("test");
c.addPart("electric-guitar");
c.move(0, 0); // move to track 0 tick 0
c.addKeySig(Key(1));
c.addTimeSig(Fraction(4,4));
c.addChord(60, TDuration(TDuration::DurationType::V_WHOLE));
MasterScore* score = c.score();
score->addText("title", "Title");
score->doLayout();
// delete chord
Measure* m = score->firstMeasure();
Segment* s = m->first(Segment::Type::ChordRest);
Element* e = s->element(0);
QVERIFY(e->type() == ElementType::CHORD);
score->select(e);
score->cmdDeleteSelection();
e = s->element(0);
QVERIFY(e->type() == ElementType::REST);
QVERIFY(e->links() == nullptr);
// create parts//
score->startCmd();
QList<Part*> parts;
parts.append(score->parts().at(0));
Score* nscore = new Score(score);
Excerpt ex(score);
ex.setPartScore(nscore);
ex.setTitle("Guitar");
ex.setParts(parts);
Excerpt::createExcerpt(&ex);
QVERIFY(nscore);
score->undo(new AddExcerpt(&ex));
score->endCmd();
// we should have now 1 staff and 2 linked rests
QVERIFY(score->staves().size() == 1);
e = s->element(0);
QVERIFY(e->type() == ElementType::REST);
QVERIFY(e->links()->size() == 2);
// add a linked staff
score->startCmd();
Staff* oStaff = score->staff(0);
Staff* staff = new Staff(score);
staff->setPart(oStaff->part());
score->undoInsertStaff(staff, 1);
Excerpt::cloneStaff(oStaff, staff);
score->endCmd();
// we should have now 2 staves and 3 linked rests
QCOMPARE(score->staves().size(), 2);
QCOMPARE(nscore->staves().size(), 1);
QVERIFY(score->staves()[0]->linkedStaves()->staves().size() == 3);
e = s->element(0);
QVERIFY(e->type() == ElementType::REST);
QVERIFY(e->links()->size() == 3);
e = s->element(4);
QVERIFY(e->type() == ElementType::REST);
QVERIFY(e->links()->size() == 3);
QVERIFY(score->excerpts().size() == 1);
// undo
score->undoStack()->undo();
// we should have now 1 staves and 2 linked rests
QVERIFY(score->staves().size() == 1);
QVERIFY(score->staves()[0]->linkedStaves()->staves().size() == 2);
e = s->element(0);
QVERIFY(e->type() == ElementType::REST);
QVERIFY(e->links()->size() == 2);
QVERIFY(score->excerpts().size() == 1);
// redo
score->undoStack()->redo();
// we should have now 2 staves and 3 linked rests
QVERIFY(score->staves().size() == 2);
QVERIFY(score->staves()[0]->linkedStaves()->staves().size() == 3);
e = s->element(0);
QVERIFY(e->type() == ElementType::REST);
QVERIFY(e->links()->size() == 3);
e = s->element(4);
QVERIFY(e->type() == ElementType::REST);
QVERIFY(e->links()->size() == 3);
QVERIFY(score->excerpts().size() == 1);
}