Liebe Freunde,
l[code
\version "2.20.0"
\relative c' {
\once \override Hairpin.after-line-breaking = #'()
\once \override Hairpin.to-barline = ##f
g g g\< g
\break
a a\! a a
} ]
ist es möglich, den zweiten Teil der Gabel (nach dem Zeilenumbruch) vertikal zu verschieben?
Gruß Christa
In Anlehnung an diesen Thread (https://archiv.lilypondforum.de/index.php/topic,2313.msg13029.html) aus dem Archiv
\version "2.20.0"
\language "deutsch"
\paper {
tagline = ##f
}
hairShift =
#(define-music-function (offsets)
(list?)
#{
\once \override Hairpin.outside-staff-priority = #'()
\once \override Hairpin.Y-offset = 0
\once \override Hairpin.after-line-breaking =
#(lambda (grob)
(let* ((orig (ly:grob-original grob))
(pieces (ly:spanner-broken-into orig)))
(if (null? pieces)
(ly:grob-set-property! grob 'extra-offset (car offsets))
(map (lambda (piece offset)
(ly:grob-set-property! piece 'extra-offset offset))
pieces offsets))))
#})
\relative c' {
g g
\hairShift #'((0 . 0) (0 . 2))
g\< g
\break
a a\! a a
}
\relative c' {
g g
g\< g
\break
a a\! a a
}
Als Parameter sollen so viele Paare übergeben werden, wie Zeilenumbrüche auftreten. Die Funktion muss unmittelbar vor Beginn des Hairpin aufgerufen werden, sonst wirkt sie nicht.
Danke, Manuela!
Gibt es auch eine Variante für horizontales Verschieben?
Zitat von: chf am Dienstag, 8. September 2020, 11:01
Gibt es auch eine Variante für horizontales Verschieben?
Der erste Wert jedes Paares der Form
(x . y) gibt den horizontalen Versatz an. Einfach ausprobieren, am besten zuerst mit großen Zahlenwerten, damit du den Effekt siehst.
Danke!!!