use of com.xenoage.zong.io.selection.Cursor in project Zong by Xenoage.
the class Base46e method getExpectedStaff.
static Staff getExpectedStaff() {
Score score = ScoreFactory.create1Staff();
Cursor cursor = new Cursor(score, mp0, true);
cursor.write(new TimeSignature(TimeType.Companion.getTimeCommon()));
// measure 0, voice 0
cursor.write(chord(Companion.pi('C', 0, 5), Companion.fr(1, 4)));
// measure 1, voice 0
cursor.setMp(atElement(0, 1, 0, 0));
cursor.write(chord(Companion.pi('C', 0, 5), Companion.fr(1, 4)));
cursor.write(chord(Companion.pi('A', 0, 4), Companion.fr(1, 4)));
cursor.write(chord(Companion.pi('F', 0, 4), Companion.fr(1, 4)));
cursor.write(chord(Companion.pi('C', 0, 5), Companion.fr(1, 4)));
// measure 1, voice 1
cursor.setMp(atElement(0, 1, 1, 0));
cursor.write(new Rest(Companion.fr(1, 4)));
cursor.write(chord(Companion.pi('C', 0, 4), Companion.fr(1, 4)));
return score.getStaff(0);
}
use of com.xenoage.zong.io.selection.Cursor in project Zong by Xenoage.
the class VoicesBeatOffsetterTest method createTestScore3VoicesIncomplete.
private Score createTestScore3VoicesIncomplete() {
Score score = new Score();
score.getFormat().setInterlineSpace(2);
Cursor cursor = new Cursor(score, mp0, true);
cursor.write(new TimeSignature(Companion.getTime_4_4()));
// 2: half note, 4: quarter note, 8: eighth note, 3: quarter triplet, x: missing (empty)
// voice 1: | 4 4 4 8 xxx| (staff 1)
// voice 2: | 8 8 8 8 4 xxxxxx| (staff 1)
// voice 3: | 3 3 3 8 xxxxxxxxx| (staff 2)
// voice 1
cursor.write(chord(Companion.pi(0, 0, 0), Companion.fr(1, 4)));
cursor.write(chord(Companion.pi(0, 0, 0), Companion.fr(1, 4)));
cursor.write(chord(Companion.pi(0, 0, 0), Companion.fr(1, 4)));
cursor.write(chord(Companion.pi(0, 0, 0), Companion.fr(1, 8)));
// voice 2
cursor.setMp(atElement(0, 0, 1, 0));
cursor.write(chord(Companion.pi(0, 0, 0), Companion.fr(1, 8)));
cursor.write(chord(Companion.pi(0, 0, 0), Companion.fr(1, 8)));
cursor.write(chord(Companion.pi(0, 0, 0), Companion.fr(1, 8)));
cursor.write(chord(Companion.pi(0, 0, 0), Companion.fr(1, 8)));
cursor.write(chord(Companion.pi(0, 0, 0), Companion.fr(1, 4)));
// voice 3
cursor.setMp(atElement(0, 0, 2, 0));
cursor.write(chord(Companion.pi(0, 0, 0), Companion.fr(1, 6)));
cursor.write(chord(Companion.pi(0, 0, 0), Companion.fr(1, 6)));
cursor.write(chord(Companion.pi(0, 0, 0), Companion.fr(1, 6)));
cursor.write(chord(Companion.pi(0, 0, 0), Companion.fr(1, 8)));
return score;
}
use of com.xenoage.zong.io.selection.Cursor in project Zong by Xenoage.
the class DynamicsFinderTest method getAdvancedScore.
/**
* See {@link #testAdvanced()}.
*/
private Score getAdvancedScore() {
Score score = new Score();
Wedge w;
new PartAdd(score, new Part("", null, 2, null), 0, null).execute();
new MeasureAdd(score, 5).execute();
// time signature and repeats
new ColumnElementWrite(new TimeSignature(TimeType.Companion.getTime_4_4()), score.getColumnHeader(0), null, null).execute();
new ColumnElementWrite(Companion.barlineForwardRepeat(Regular), score.getColumnHeader(1), null, MeasureSide.Left).execute();
new ColumnElementWrite(Companion.barlineBackwardRepeat(Regular, 1), score.getColumnHeader(2), null, MeasureSide.Right).execute();
// staff 0
new MeasureElementWrite(new Dynamic(mp), score.getMeasure(atMeasure(0, 0)), Companion.get_0()).execute();
new MeasureElementWrite(new Dynamic(pp), score.getMeasure(atMeasure(0, 2)), Companion.get_0()).execute();
new MeasureElementWrite(new Dynamic(f), score.getMeasure(atMeasure(0, 3)), Companion.get_1$2()).execute();
new MeasureElementWrite(w = new Wedge(Crescendo), score.getMeasure(atMeasure(0, 3)), Companion.get_3$4()).execute();
new MeasureElementWrite(new WedgeEnd(w), score.getMeasure(atMeasure(0, 4)), Companion.get_1$4()).execute();
new MeasureElementWrite(new Dynamic(pp), score.getMeasure(atMeasure(0, 4)), Companion.get_1$2()).execute();
// voice 0
val cursor = new Cursor(score, mp0, true);
cursor.write(new Rest(Companion.get_1()));
cursor.write(new Rest(Companion.get_1()));
cursor.write(new Rest(Companion.get_1()));
cursor.write(new Rest(Companion.get_1()));
// voice 1
cursor.setMp(atElement(0, 0, 1, 0));
cursor.write(new Rest(Companion.get_1$2()));
val chord = chord(Companion.pi(0, 4), Companion.get_1$2());
chord.addDirection(new Dynamic(mf));
cursor.write(chord);
cursor.write(new Rest(Companion.get_1()));
cursor.write(new Rest(Companion.get_1()));
cursor.setMp(atElement(0, 4, 1, 0));
cursor.write(new Rest(Companion.get_1()));
// staff 1
new MeasureElementWrite(new Dynamic(ff), score.getMeasure(atMeasure(1, 0)), Companion.get_0()).execute();
new MeasureElementWrite(w = new Wedge(Diminuendo), score.getMeasure(atMeasure(1, 0)), Companion.get_0()).execute();
new MeasureElementWrite(new WedgeEnd(w), score.getMeasure(atMeasure(1, 2)), Companion.get_0()).execute();
new MeasureElementWrite(new Dynamic(mp), score.getMeasure(atMeasure(1, 2)), Companion.get_0()).execute();
new MeasureElementWrite(new Dynamic(p), score.getMeasure(atMeasure(1, 3)), Companion.get_0()).execute();
return score;
}
use of com.xenoage.zong.io.selection.Cursor in project Zong by Xenoage.
the class BeamIteratorTest method createTestScore.
/**
* Test score with 2 staves and 4 measures. In measure 0, there is a beam in
* staff 0 in voice 1. In measure 2, there is a beam spanning over two staves.
* In measure 3, there is a beam in staff 1 in voice 0.
*/
public static Score createTestScore() {
Score score = new Score();
Cursor cursor = new Cursor(score, MP.mp0, true);
// first beam
cursor.setMp(atElement(0, 0, 1, 0));
cursor.openBeam();
cursor.write(chord(Companion.pi(Companion.getC(), 4), Companion.get_1$8()));
cursor.write(chord(Companion.pi(Companion.getC(), 4), Companion.get_1$8()));
cursor.write(chord(Companion.pi(Companion.getC(), 4), Companion.get_1$8()));
cursor.write(chord(Companion.pi(Companion.getC(), 4), Companion.get_1$8()));
cursor.closeBeam();
// second beam
cursor.setMp(atElement(0, 2, 0, 0));
cursor.openBeam();
cursor.write(chord(Companion.pi(Companion.getC(), 4), Companion.get_1$8()));
cursor.setMp(atElement(1, 2, 0, 0));
cursor.write(new Rest(Companion.get_1$8()));
cursor.write(chord(Companion.pi(Companion.getC(), 4), Companion.get_1$8()));
cursor.closeBeam();
// third beam
cursor.setMp(atElement(1, 3, 0, 0));
cursor.openBeam();
cursor.write(chord(Companion.pi(Companion.getC(), 4), Companion.get_1$8()));
cursor.write(chord(Companion.pi(Companion.getC(), 4), Companion.get_1$8()));
cursor.closeBeam();
return score;
}
use of com.xenoage.zong.io.selection.Cursor in project Zong by Xenoage.
the class MeasureElementIteratorTest method createTestScore.
/**
* Test score with 4 staves and 4 measures. In staves 1 and 3, the measures 1 and 3 have each
* three words with text "staff x, measure y, element z" on beats 1/4 and 2/4
*/
public static Score createTestScore() {
Score score = new Score();
Cursor cursor = new Cursor(score, MP.mp0, true);
for (int staff : new int[] { 1, 3 }) {
for (int measure : new int[] { 1, 3 }) {
cursor.setMp(atElement(staff, measure, 0, 0));
for (int element : range(2)) {
cursor.write(new Rest(Companion.fr(1, 4)));
cursor.write((MeasureElement) new Words(new UnformattedText("staff " + staff + ", measure " + measure + ", element " + element)));
}
}
}
return score;
}
Aggregations