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
  }
}



_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to