package material.beam.fragments; import static com.xenoage.utils.collections.CollectionUtils.alist; import static com.xenoage.utils.math.Fraction.fr; import static com.xenoage.zong.core.music.Pitch.pi; import static com.xenoage.zong.core.music.beam.Beam.beamFromChordsUnchecked; import java.util.List; import com.xenoage.utils.math.Fraction; import com.xenoage.zong.core.music.beam.Beam; import com.xenoage.zong.core.music.chord.Chord; import com.xenoage.zong.core.music.chord.Note; /** * These test examples are from Chlapik, page 45, rule 6. * * @author Andreas Wenger */ public class ChlapikBeamFragments { public Beam exampleRow1Col1() { List<Chord> chords = alist(); chords.add(chordC(fr(1, 16))); chords.add(chordC(fr(1, 8))); chords.add(chordC(fr(1, 16))); return beamFromChordsUnchecked(chords); } public Beam exampleRow1Col2() { List<Chord> chords = alist(); chords.add(chordF(fr(1, 16))); chords.add(chordF(fr(1, 8))); chords.add(chordF(fr(1, 16))); return beamFromChordsUnchecked(chords); } public Beam exampleRow1Col3() { List<Chord> chords = alist(); chords.add(chordC(fr(1, 16))); chords.add(chordC(fr(1, 8))); chords.add(chordC(fr(1, 8))); chords.add(chordC(fr(1, 16))); return beamFromChordsUnchecked(chords); } public Beam exampleRow1Col4() { List<Chord> chords = alist(); chords.add(chordF(fr(1, 16))); chords.add(chordF(fr(1, 8))); chords.add(chordF(fr(1, 8))); chords.add(chordF(fr(1, 16))); return beamFromChordsUnchecked(chords); } public Beam exampleRow2Col1() { List<Chord> chords = alist(); chords.add(chordC(fr(3, 16))); chords.add(chordC(fr(1, 16))); return beamFromChordsUnchecked(chords); } public Beam exampleRow2Col2() { List<Chord> chords = alist(); chords.add(chordF(fr(3, 16))); chords.add(chordF(fr(1, 16))); return beamFromChordsUnchecked(chords); } public Beam exampleRow2Col3() { List<Chord> chords = alist(); chords.add(chordC(fr(3, 32))); chords.add(chordC(fr(1, 32))); chords.add(chordC(fr(3, 32))); chords.add(chordC(fr(1, 32))); return beamFromChordsUnchecked(chords); } public Beam exampleRow2Col4() { List<Chord> chords = alist(); chords.add(chordF(fr(3, 32))); chords.add(chordF(fr(1, 32))); chords.add(chordF(fr(3, 32))); chords.add(chordF(fr(1, 32))); return beamFromChordsUnchecked(chords); } public Beam exampleRow2Col5() { List<Chord> chords = alist(); chords.add(chordC(fr(1, 8))); chords.add(chordC(fr(1, 32))); chords.add(chordC(fr(3, 32))); return beamFromChordsUnchecked(chords); } public Beam exampleRow2Col6() { List<Chord> chords = alist(); chords.add(chordF(fr(1, 8))); chords.add(chordF(fr(1, 32))); chords.add(chordF(fr(3, 32))); return beamFromChordsUnchecked(chords); } public Beam exampleRow3Col2() { List<Chord> chords = alist(); chords.add(chordC(fr(1, 16))); chords.add(chordC(fr(1, 8))); chords.add(chordC(fr(1, 16))); chords.add(chordC(fr(1, 8))); return beamFromChordsUnchecked(chords); } public Beam exampleRow3Col4() { List<Chord> chords = alist(); chords.add(chordC(fr(1, 8))); chords.add(chordC(fr(1, 16))); chords.add(chordC(fr(3, 16))); return beamFromChordsUnchecked(chords); } public Beam exampleRow3Col6() { List<Chord> chords = alist(); chords.add(chordC(fr(7, 32))); chords.add(chordC(fr(1, 32))); chords.add(chordC(fr(3, 32))); chords.add(chordC(fr(1, 32))); return beamFromChordsUnchecked(chords); } private Chord chordC(Fraction duration) { return new Chord(new Note(pi(0, 0, 5)), duration); } private Chord chordF(Fraction duration) { return new Chord(new Note(pi(3, 0, 4)), duration); } }