lilypond-user
[Top][All Lists]
Advanced

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

Re: improving Janek's \dynamic function (for combo dynamics)


From: Thomas Morley
Subject: Re: improving Janek's \dynamic function (for combo dynamics)
Date: Mon, 11 Sep 2017 23:51:04 +0200

2017-09-11 18:08 GMT+02:00 Kieren MacMillan <address@hidden>:

> One new question: Is there an easy way to increase the kerning between a 
> dynamic and any non-dynamic text that follows it? (I find the current space 
> just a little narrow.) I looked through the code to try to find the right 
> place to add a small \hspace, but couldn't find it. (Obviously, changing the 
> list-splitting " " to "  " adds space between *every* chunk, which isn't what 
> I want.)

Well, you could already use 'details.markup-commands to add space to
_both_ sides of a dynamic:

\markup customize-dyn =
  \markup \pad-x #2 \dynamic \etc

\markup with-red =
  \markup \with-color #red \etc

\score {
  \new Staff {
        c''1\dynamicH ##t 1 "text before {ppppp} text after"
        c''1\dynamicH ##t 1 "text before {ppppp}"
        c''1\dynamicH ##t 1 "text before {ppppp}!"
  }
  \layout {
    \override DynamicText.details.markup-commands =
      #(cons make-customize-dyn-markup make-italic-markup)
%% inserted to demonstrate a problem
    \override DynamicText.after-line-breaking =
      #(lambda (grob)
        (ly:grob-set-property! grob 'stencil
          (box-stencil
            (ly:grob-property grob 'stencil)
            0 0)))
    ragged-right = ##f
  }
}


Though, this gives sufficient output only if the dynamic is in the
middle of the expression.
Being at the end, unwanted space is added (I made this visible by
overriding 'after-line-breaking)
-> second example
If punctuation is used probably unwanted space is added as well.
-> third example


Neverheless I'm pretty confident to find a better solution.
Probably by introducing other subproperties to 'details, called/used
under certain conditions.

Cheers,
  Harm



reply via email to

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