package com.xenoage.zong.musiclayout.notator.beam.lines;
import static com.xenoage.zong.musiclayout.notation.BeamNotation.largeGapIs;
import static com.xenoage.zong.musiclayout.notation.BeamNotation.normalGapIs;
/**
* {@link BeamRules} for a beam with five beamlines (128th).
*
* @author Andreas Wenger
*/
public class Beam128thRules
extends BeamRules {
public static final Beam128thRules beam128thRules = new Beam128thRules();
@Override public int getBeamLinesCount() {
return 5;
}
//TODO: depends on gap (getGapIs vs getGapOutsideStaffIs)
@Override public float getMinimumStemLengthIs() {
//see Ross, p. 121, bottom half: a secondary beam
//should never be closer to the notehead then 2.5 IS
//thus, the minimum stem length is 5.5 (2.5 + gap + line + gap + line + gap + line),
//where gap is 0.5 here
return 5.5f;
}
@Override public float getGapIs() {
return largeGapIs;
}
@Override public float getGapOutsideStaffIs() {
//see Ross, p. 126, at the top
return normalGapIs;
}
}