[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Time signatures above score, aligning short instrument names
From: |
Jean Abou Samra |
Subject: |
Re: Time signatures above score, aligning short instrument names |
Date: |
Tue, 8 Nov 2022 20:59:23 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.1 |
Le 08/11/2022 à 14:13, Nate Whetsell a écrit :
I’ve noticed two issues with this. First, the above-score time
signatures are usually centered over bar lines, but not when a measure
is preceded by a clef change. In this case, time signatures seem to be
placed before the new clef rather than centered over the following bar
line. Second, when a new time signature occurs at the end of a page,
it seems to be centered on the right margin. In the case of compound
meters, this can cause the time signature to extend off the page. I’ve
tried setting break-align-orders
(https://lilypond.org/doc/v2.23/Documentation/internals/break_002dalignment_002dinterface)
and space-alist to fix this
(https://lilypond.org/doc/v2.23/Documentation/internals/timesignature),
but nothing seems to have an effect.
For this one, try:
\version "2.23.80"
time-signatures = {
\time 2/4
s2 | \noBreak
\time 3/4
s2. | \noBreak
\time 4/4
s1 |
\break
\pageBreak
\compoundMeter #'((1 1 3 4))
s1*5/4 |
}
\layout {
\numericTimeSignature
\context {
\Staff
\override InstrumentName.self-alignment-X = #RIGHT
}
\context {
\Score
\consists
#(lambda (context)
(let ((time-sigs '())
(break-alignment #f))
(make-engraver
(acknowledgers
((time-signature-interface engraver grob source-engraver)
(when (not (ly:grob-property grob 'break-align-symbol #f))
(set! time-sigs (cons grob time-sigs))))
((break-alignment-interface engraver grob source-engraver)
(set! break-alignment grob)))
((stop-translation-timestep engraver)
(when break-alignment
(for-each
(lambda (sig)
(ly:grob-set-parent! sig X break-alignment))
time-sigs))
(set! time-sigs '())
(set! break-alignment #f)))))
\override TimeSignature.break-align-anchor =
#ly:break-aligned-interface::calc-extent-aligned-anchor
\override TimeSignature.break-align-anchor-alignment = #CENTER
}
}
\paper {
short-indent = 0.5\in
left-margin = 0.5\in
}
\score {
<<
\new Dynamics \with {
\consists Time_signature_engraver
\override TimeSignature.break-align-symbol = ##f
\override TimeSignature.font-size = #5
\override TimeSignature.self-alignment-X = #CENTER
\override TimeSignature.X-offset =
#self-alignment-interface::self-aligned-on-breakable
\override TimeSignature.break-align-symbols =
#'(staff-bar time-signature)
} {
\time-signatures
}
\new Staff \with {
instrumentName = "Instruments"
shortInstrumentName = \markup {
\override #'(baseline-skip . 2.5)
\fill-line
{
\lower #1.25 "Ins."
\right-column { "1" "2" }
}
}
} \relative {
\clef "bass"
c16 d e f g a b c |
\clef "treble"
c16 d e f g a b c d e f g |
c,,16 d e f g a b c d e f g a b c d |
c,,16 d e f g a b c d e f g a b c d e f g a |
}
>>
}
Best,
Jean
OpenPGP_signature
Description: OpenPGP digital signature