package com.xenoage.zong.core.music.group;
import com.xenoage.utils.annotations.NonNull;
import lombok.Data;
/**
* Group of staves with a common bracket.
*
* See the <a href="http://www.finalemusic.com/UserManuals/MusicXML/Content/ST-MusicXML-group-symbol-value.htm">MusicXML manual</a>
* for example images of the styles.
*
* @author Andreas Wenger
*/
@Data public final class BracketGroup {
/** Visual styles of bracket grouping. */
public enum Style {
/** No grouping. Use this value instead of null. */
None,
/** Curly brackets. */
Brace,
/** Square brackets. */
Bracket,
/** Line brackets. Like {@link #Bracket}, but without the caps at the end. */
Line,
/** Square brackets. A thin rectangle. */
Square;
}
/** The range of staves */
@NonNull private StavesRange staves;
/** The visual style of this group */
@NonNull private Style style;
}