Ejemplo n.º 1
0
        public GrandStaffLedgerLines ComputeLedgerLines(StaffPosition notePosition)
        {
            if (notePosition == null)
            {
                return(GrandStaffLedgerLines.Absent);
            }
            var offset      = notePosition.VerticalOffset;
            var lines       = (offset.Abs() / 2 - 2).LimitFromBottom(0);
            var ledgerLines = LedgerLines.CreateSingle(lines, top: offset > 0);

            return(GrandStaffLedgerLines.CreateSingle(ledgerLines, treeble: notePosition.Clef == Clef.Treeble));
        }
Ejemplo n.º 2
0
        GrandStaffLedgerLines Combine(GrandStaffLedgerLines ledgerLines, StaffPosition position)
        {
            var otherLedgerLines = ComputeLedgerLines(position);

            return(ledgerLines.Combine(otherLedgerLines));
        }