[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Attaching markup to high-level objects

From: Urs Liska
Subject: Re: Attaching markup to high-level objects
Date: Sun, 13 Nov 2011 11:39:20 +0100
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:8.0) Gecko/20111105 Thunderbird/8.0


I also often run into this situation, but it also applies to dynamic marks etc. (e.g. a phrase is repeated eight times, and I need a mf at the beginning and p at the fifth repetition). There probably are more situations where you have this problem.

The workaround I sometimes use (if it is less work than changing the variables) is to to use a separate voice that mainly consists of skips. Then I can insert markups wherever I want (with s1^\markup ...).


Am 13.11.2011 03:35, schrieb address@hidden:
As I know the majority of folks here are aware, Lilypond's
typesetting language lends itself to modularization of music, so
that a recurring theme or motif can be defined once as a music
identifier, and then inserted at several places in the layout by
referencing that identifier, possibly with transposition, etc.

I appreciate this very much, because when one finds a typo in a
note or chord, or just a more elegant way of phrasing, a single
change to that music definition will make the correction appear
in all 8 or however many places the music occurs.

However, markup complicates this for me, perhaps because of my
infamiliarity with the variety of markup methods that are

 From all the examples I can recall seeing, markup must be
attached to a low-level object, such as a note or rest, or
in conjunction with a rehearsal mark.  However, I get errors when
I try to place two adjacent rehearsal marks, like a "\mark
default" and a Segno at the same location.  They can be combined
I guess (except then the auto-sequencing feature of the 'default'
marks is lost isn't it?), but I digress....

Again, from my very limited experience, binding markup only to
low-level objects means that if one has arranged their music to
take advantage of the modularization mentioned above, then the
markup must also be identical in all occurences of a particular
music expression.  Please correct me if this is wrong, as it is
causing me some consternation.

Suppose my top-level arrangement looks like this:

\vamp \break

\bar "|:"

\repeat volta 2 {
   \CodaJumpMarkup \break
} alternative {
   { \firstEnding \bar ":|" \break } % first  ending
   { \secondEnding }                 % second ending
} % repeat/alternative

\bar "|:" \vamp \AdLibThenDSMarkup \bar ":|" \break


\bar "|."

The intent is to play the vamp, play the head, play the first
ending, repeat the head, play the second ending, repeat the vamp
until cue, DS to the head, and then jump to the Coda (just before
the repeat volta -- essentially a third ending), and out.  The
breaks are positioned so that major sections begin at the start
of a line.

The vamp section is repeated, and the first instance requires
no markup.  The second time the vamp music is inserted, I'd like
to place markup on the ending repeat symbol to say, "repeat until
cue, then D.S. al Coda."

But I can't find a way to attach markup to a high-level object.
I have not yet even found a way to attach markup to a bar line
(the closing repeat bar would seem the logical choice).

I'd love to find out that Lilypond is able to attach markup to a
music identifier reference, or an arbitrary music expression,
such as:

\bar "|:" \vamp^\markup { \AdLibThenDSMarkup } \bar ":|" \break


{ a2 b4 c4 }^\markup \text "Good news!"

Failing that, if there were a way to attach markup to a bar line,
that (plus perhaps an 'extra-offset') would suffice in the majority
of situations I can think of.

Is there such a way to attach markup to a high-level music
expression or a bar line, rather than just a low-level simple
music element, like a note or rest?

Thank you very much indeed.


lilypond-user mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]