lilypond-user
[Top][All Lists]
Advanced

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

Re: Tie settings question


From: Karol Majewski
Subject: Re: Tie settings question
Date: Tue, 25 Oct 2016 16:35:20 +0200

OK, I'm trying to write something like this in scheme:

if (stem-direction == UP && tie-direction == UP && note-has-a-dot == true)
{
  \once \override Tie.details.skyline-padding = #5
  \once \override Tie.Y-offset = #-0.25
}

Please, David or Harm, correct my mistakes. So far I've got this:

raiseTie =
#(lambda
  (grob)
  (let*
    ((ties
        (ly:grob-array->list
          (ly:grob-object grob 'ties)))
      (tie-dir
        (ly:grob-property tie 'direction))
      (notehead
        (ly:spanner-bound
          (car ties) LEFT))
      (stem
        (ly:grob-object notehead 'stem))
      (stem-dir
        (ly:grob-property stem 'direction))
      (flag
        (ly:grob-object stem 'flag))
      (dot (ly:grob-object grob 'dot)))
    (if
      (and (= stem-dir 1) (= tie-dir 1) (ly:grob? dot))
      (begin
        (for-each
          (lambda
            (tie)
            (ly:grob-set-nested-property! tie '(details skyline-padding) 5)) 
ties)
        (for-each
          (lambda
            (tie)
            (ly:grob-set-property! tie 'Y-offset -0.25)) ties)))))

\layout {
  \context {
    \Score
    \override TieColumn.before-line-breaking = #raiseTie
  }
}





reply via email to

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