protected override void CreatePreBeatGlyphs()
{
if (Bar.MasterBar.IsRepeatStart)
{
AddPreBeatGlyph(new RepeatOpenGlyph(0, 0, 1.5f, 3));
}
// Clef
if (IsFirstOfLine || Bar.Clef != Bar.PreviousBar.Clef)
{
var offset = 0;
var correction = 0;
switch (Bar.Clef)
{
case Clef.Neutral:
offset = 6;
break;
case Clef.F4:
offset = 4;
correction = -1;
break;
case Clef.C3:
offset = 6;
break;
case Clef.C4:
offset = 4;
break;
case Clef.G2:
offset = 8;
break;
}
CreateStartSpacing();
AddPreBeatGlyph(new ClefGlyph(0, GetScoreY(offset, correction), Bar.Clef));
}
// Key signature
if ((Bar.PreviousBar == null && Bar.MasterBar.KeySignature != 0) || (Bar.PreviousBar != null && Bar.MasterBar.KeySignature != Bar.PreviousBar.MasterBar.KeySignature))
{
CreateStartSpacing();
CreateKeySignatureGlyphs();
}
// Time Signature
if ((Bar.PreviousBar == null) || (Bar.PreviousBar != null && Bar.MasterBar.TimeSignatureNumerator != Bar.PreviousBar.MasterBar.TimeSignatureNumerator) || (Bar.PreviousBar != null && Bar.MasterBar.TimeSignatureDenominator != Bar.PreviousBar.MasterBar.TimeSignatureDenominator))
{
CreateStartSpacing();
CreateTimeSignatureGlyphs();
}
AddPreBeatGlyph(new BarNumberGlyph(0, GetScoreY(-1, -3), Bar.Index + 1, !Staff.IsFirstInAccolade));
if (Bar.IsEmpty)
{
AddPreBeatGlyph(new SpacingGlyph(0, 0, (30 * Scale)));
}
}