To print a rehearsal mark, use the \mark
command
\relative c'' { c1 \mark \default c1 \mark \default c1 \mark #8 c1 \mark \default c1 \mark \default }
(The letter I is skipped in accordance with engraving traditions.)
The mark is incremented automatically if you use \mark
\default
, but you can also use an integer argument to set the mark
manually. The value to use is stored in the property
rehearsalMark
.
The style is defined by the property markFormatter
. It is a
function taking the current mark (an integer) and the current context
as argument. It should return a markup object. In the following
example, markFormatter
is set to a canned procedure. After a
few measures, it is set to function that produces a boxed number.
\set Score.markFormatter = #format-mark-numbers c1 \mark \default c1 \mark \default \set Score.markFormatter = #(lambda (mark context) (make-bold-markup (make-box-markup (number->string mark)))) c1 \mark \default c1 \mark \default
The file scm/translation-functions.scm contains the definitions
of format-mark-numbers
(the default format) and
format-mark-letters
. They can be used as inspiration for other
formatting functions.
The \mark
command can also be used to put signs like coda,
segno and fermatas on a bar line. Use \markup
to
to access the appropriate symbol
c1 \mark \markup { \musicglyph #"scripts-ufermata" } c1
In the case of a line break, marks must also be printed at the end of the line, and not at the beginning. Use the following to force that behavior
\override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible
Program reference: MarkEvent, RehearsalMark.
Init files: scm/translation-functions.scm contains the
definition of format-mark-numbers
and
format-mark-letters
. They can be used as inspiration for other
formatting functions.
Examples: input/regression/rehearsal-mark-letter.ly, input/regression/rehearsal-mark-number.ly.
Read comments on this page, or
add one.
This page is for LilyPond-2.2.6 (stable-branch). |