lilypond-user
[Top][All Lists]
Advanced

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

Re: Preferred way to set tempo marks?


From: Mats Bengtsson
Subject: Re: Preferred way to set tempo marks?
Date: Wed, 27 Sep 2006 19:34:26 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20060628 Debian/1.7.8-1sarge7.1

As you have seen, LilyPond will automatically avoid
collisions with with the note at the same position as
the text script (as long as the text script and the note
are in the same Voice context), however as you have
also noted, LilyPond does not take into account if there
are subsequent notes that collide with the text.
Unfortunately, I don't see any good universal solution
with current LilyPond and I guess that it would mean
quite much job to automatically avoid such collisions.

Regarding the vertical alignment of "rit." vs. "a tempo",
there have been some related discussions on the mailing
lists and different tricks have been proposed that all rely
on \markup commands. For example
c^\markup{\combine \transparent "p" "rit." } c^"a tempo"
or
c^\markup{\pad-to-box #'(0 . 0) #'(-1 . 1) rit. }
c^\markup{\pad-to-box #'(0 . 0) #'(-1 . 1) a tempo }
These tricks can be automated by defining a new
markup command, but a proper solution would be to
support alignment on the base line, which again probably is
something that requires larger implementation work.

  /Mats


Michael Kiermaier wrote:

Hi Mats,

thanks for your detailed answer.

Unfortunally I am not very happy with the results I get.

I am working on an orchestral piece. Voice-independent things (time signatures, special bar lines, repeats, rehersal marks and the tempo marks) go to the file global.ly.

In the end I want to have a score (contains all voices) and sheets for every instrument (contains only one voices). Up to now I wrote the Violoncello and the Contrabass parts.

Up to now I only played with the Contrabass sheet:
When I add \global to the Contrabass on the "Voice" context level, there are some nasty collisions (tempo marks with subsequent notes as well as tempo marks with subsequent text like "arco"). When I add it on the "Staff" context level using "\override TextScript #'padding = #3", there are no collisions, but the result does not look good because most of the time there is too much space below the tempo marks. Also, the tempo marks are not exactly in the same vertical position: "rit." gets set a bit lower than "in tempo", i suspect that the reason is that "in tempo" contains a letter (the "p") going below the base line, while "in tempo" doesn't.

At the moment, I don't know what to do. Aligning every tempo mark manually would be a lot of work for all the instrument sheets. The "right" thing would be to add \global on the "Voice" context level and to tell lilypond to raise every single tempo mark until no collision occures. But I don't know if that is possible.

There must be people who had the same problem before. Is there a simple solution? Thanks,
~michael

On Tuesday 26 September 2006 08:28, you wrote:
I usually use normal text scripts:
c^"a tempo"
or
c^\markup{\italic a tempo }
If you want to keep these annotations separate from the music, so it's
easy to
include them in every instrumental part but only on the top stave of the
score,
you could attach them to spacing notes. Example:

tempomarks = {s1^\markup{\italic Allegro } | s1_\markup\italic ritardando } music = \relative c'''{g8^"arco" e f d e c e f g f g f e d e d | c1 }

\score{
 \new Voice<< \music  \tempomarks>>
}

Note that as long as you keep these annotations in the same Voice context
as the music, they will not collide with note heads or other text
scripts that
occur at the same note.  If you put the annotations in a separate Voice
context,
you can get collisions (try to replace "Voice" by "Staff" in the example
above
to see what I mean), but on the other hand, you can set the padding
separately
to raise them further from the stave, without risking to affect other
text scripts
in the actual music. For example, you could do



tempomarks = {
 \override TextScript #'padding = #3
 s1^\markup{\italic Allegro } | s1_\markup\italic ritardando
}

music = \relative c'''{g8^"arco" e f d e c e f g f g f e d e d | c1 }

\score{
 \new Staff <<
   \new Voice \music
   \new Voice \tempomarks

}


  /Mats


_______________________________________________
lilypond-user mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-user


--
=============================================
        Mats Bengtsson
        Signal Processing
        Signals, Sensors and Systems
        Royal Institute of Technology
        SE-100 44  STOCKHOLM
        Sweden
        Phone: (+46) 8 790 8463                         
       Fax:   (+46) 8 790 7260
        Email: address@hidden
        WWW: http://www.s3.kth.se/~mabe
=============================================





reply via email to

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