[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Spam] [Spam] Re: Spanner right-hand text may disappear when padded
From: |
Thomas Morley |
Subject: |
Re: [Spam] [Spam] Re: Spanner right-hand text may disappear when padded |
Date: |
Thu, 20 Oct 2016 20:52:04 +0200 |
2016-10-20 15:24 GMT+02:00 Kieren MacMillan <address@hidden>:
> Hi David,
>
>>> accel, rit, a tempo, etc in a close
>>> sequence, but obviously tied to their start times, and all at the same
>>> vertical offset. For individual, more time-compressed, parts (e.g. the
>>> woodwind parts that start out with rests!), I need to explicitly avoid
>>> the instructions getting partly on top of each other.
>>
>> Doesn't \tempo work?
>
> Not out of the box, and not without a pretty good knowledge of Lilypond
> tweaking:
>
> %%% SNIPPET ENDS
> \version "2.19"
> \language "english"
> pileup = {
> \tempo "Start here" c''4
> \tempo "accel." c''
> \tempo "rit." c''
> \tempo "a tempo" c'’
> }
> \score { \pileup }
> %%% SNIPPET ENDS
>
> Even if the user knows how to force sufficient horizontal spacing, there’s
> still the problem they won’t [with different notes] necessarily be “at the
> same vertical offset” as the OP wants.
>
> And even if the user knows how to force the correct padding, there’s the
> problem that Urs — a very experienced Lilypond user — ran into just
> yesterday: "a tempo” (with a descender) will not be at the same vertical
> position as the other markings (which have no descenders), because Lily
> doesn’t baseline-align markups.
>
> So, the simple answer to your question is: \tempo may not work for the OP.
>
> Cheers,
> Kieren.
I made some experiments about baseline-aligning, postprocessing the
ready stencil, so far I don't see any disadvantage...
Though, please be aware it's an experiment, not a ready to use code!
\version "2.19.48"
#(define (lists-map function ls)
"Apply @var{function} to @var{ls} and all of it sublists.
First it recurses over the children, then the function is applied to
@var{ls}."
(if (list? ls)
(set! ls (map (lambda (y) (lists-map function y)) ls))
ls)
(function ls))
#(define test-proc
(lambda (e)
(if (and (list? e) (member 'glyph-string e))
(begin
(for-each
(lambda (x)
(begin
(set-car! (cadr x) 0)
x))
(cadr (last e)))
e)
e)))
#(define-markup-command (test layout props glyph-name)
(markup?)
(let* ((stil (interpret-markup layout props glyph-name))
(new-stile-expr
(lists-map
test-proc
(ly:stencil-expr stil))))
(ly:make-stencil
new-stile-expr
(ly:stencil-extent stil X)
;(cons 0 (cdr (ly:stencil-extent stil Y)))
(ly:stencil-extent stil Y)
)))
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markup \rounded-box \fill-line { "1. Test: line- and column-markups" }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
testMarkup =
\markup
{
"Ŏ" "o" "f" "g" "ofg"
\draw-line #'(0 . -2)
\fontsize #4 \musicglyph #"scripts.coda"
}
\markup
\fontsize #3
\line {
\column \test { "tweaked" \testMarkup \testMarkup }
\column { "default" \testMarkup \testMarkup }
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markup \rounded-box \fill-line { "2. Test: Kieren's example" }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
pileup = {
\markLengthOn
%\override Score.MetronomeMark.padding = 5
\tempo \markup \test "Start here" c''4
\tempo \markup \test "accel." c''
\tempo \markup \test "rit." c''
\tempo \markup \test "a tempo" c''
}
\score { \pileup }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\markup \rounded-box \fill-line { "3. Test: Kieren's example, with boxes" }
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
pileupII = {
\markLengthOn
\tempo \markup \box \test "Start here" c''4
\tempo \markup \box \test "accel." c''
\tempo \markup \box \test "rit." c''
\tempo \markup \box \test "a tempo" c''
}
\score { \pileupII }
Cheers,
Harm
- Re: [Spam] Re: Spanner right-hand text may disappear when padded, (continued)
- Re: [Spam] Re: Spanner right-hand text may disappear when padded, Rutger Hofman, 2016/10/12
- Re: [Spam] Re: Spanner right-hand text may disappear when padded, David Nalesnik, 2016/10/12
- Re: [Spam] Re: [Spam] Re: Spanner right-hand text may disappear when padded, Rutger Hofman, 2016/10/17
- Re: [Spam] Re: [Spam] Re: Spanner right-hand text may disappear whenpadded, Phil Holmes, 2016/10/17
- Re: [Spam] Re: [Spam] Re: Spanner right-hand text may disappear when padded, David Nalesnik, 2016/10/17
- Re: [Spam] Re: [Spam] Re: Spanner right-hand text may disappear when padded, David Nalesnik, 2016/10/17
- Re: [Spam] Re: [Spam] Re: Spanner right-hand text may disappear when padded, David Nalesnik, 2016/10/17
- Re: [Spam] Re: [Spam] Re: Spanner right-hand text may disappear when padded, Rutger Hofman, 2016/10/19
- Re: [Spam] Re: [Spam] Re: Spanner right-hand text may disappear when padded, David Kastrup, 2016/10/19
- Re: [Spam] [Spam] Re: Spanner right-hand text may disappear when padded, Kieren MacMillan, 2016/10/20
- Re: [Spam] [Spam] Re: Spanner right-hand text may disappear when padded,
Thomas Morley <=
- Re: [Spam] Re: [Spam] Re: Spanner right-hand text may disappear when padded, David Kastrup, 2016/10/17