package com.xenoage.zong.io.musicxml.in.readers; import com.xenoage.zong.core.music.annotation.Fermata; import com.xenoage.zong.core.music.format.Placement; import com.xenoage.zong.core.music.format.Positioning; import com.xenoage.zong.io.musicxml.in.util.StaffDetails; import com.xenoage.zong.musicxml.types.MxlFermata; import com.xenoage.zong.musicxml.types.enums.MxlUprightInverted; /** * Reads a {@link Fermata} from a {@link MxlFermata}. * * @author Andreas Wenger */ public class FermataReader { public static Fermata read(MxlFermata mxlFermata, StaffDetails staffDetails) { //determine position Positioning positioning = new PositioningReader(staffDetails).readFromAny(mxlFermata); if (positioning == null) { if (mxlFermata.getType() == MxlUprightInverted.Upright) positioning = Placement.Above; else if (mxlFermata.getType() == MxlUprightInverted.Inverted) positioning = Placement.Below; } Fermata fermata = new Fermata(); fermata.setPositioning(positioning); return fermata; } }