Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: kilgore am Montag, 25. Januar 2010, 17:18
-
Und zum zweiten Thema heute...
\relative c' {
c8
\once \override Stem #'stroke-style = #"grace"
c8
}
\relative c' {
c8 c c c
\override Stem #'stroke-style = #"grace"
c8^"wo ist der slash?" c c c
}
Ich will dieser Slash haben, aber durch den Hals von dem ersten Achtel. Der soll auch durch den Balken gehen. Es soll aussehen wie eine Reihe von Grace Notes, die aber mit einem Balken gebunden sind.....
-
Hmmm, wie ulkig wird das aussehen? Lily weiß schon, weshalb es nur Fähnchen durchstreicht! In der Doku werden verbalkte
Gracenotes Acciaccatura auch nicht durchgestrichen.
Es könnte in deinem Fall in etwa so aussehen (basierend auf LSR 374 (http://lsr.dsi.unimi.it/LSR/Item?id=374)):
slashOn = {
\override Stem #'stencil = #(lambda (grob)
(let* ((x-parent (ly:grob-parent grob X))
(is-rest? (ly:grob? (ly:grob-object x-parent 'rest))))
(if is-rest? empty-stencil
(ly:stencil-combine-at-edge
(ly:stem::print grob)
Y
(- (ly:grob-property grob 'direction))
(grob-interpret-markup grob
(markup
#:translate '(-0.75 . 0)
#:draw-line '(8.5 . -2)))
-4 0))))
}
slashOff = {
\revert Stem #'stencil
}
Noten = \relative {
c'8 c c c
\override Stem #'stroke-style = #"grace"
\slashOn
c8^"Hier ist der Slash!"
\slashOff
c c c
}
Die Linie und deren Position müsste jedes Mal angepasst werden.
Grüße, Robert
-
Naja, wenn man zeitgenössische Partituren setzt muss man oft solche neuigkeiten erfinden. Danke für den Vorschlag!
Hier ist aber was ich gemeint habe:
slashOn = {
\override Stem #'stencil = #(lambda (grob)
(let* ((x-parent (ly:grob-parent grob X))
(is-rest? (ly:grob? (ly:grob-object x-parent 'rest))))
(if is-rest? empty-stencil
(ly:stencil-combine-at-edge
(ly:stem::print grob)
Y
(- (ly:grob-property grob 'direction))
(grob-interpret-markup grob
(markup
#:translate '(-0.75 . 0)
#:draw-line '(3.5 . -2)))
-4 0))))
}
slashOff = {
\revert Stem #'stencil
}
Noten = \relative {
c'8 c c c
\override Stem #'stroke-style = #"grace"
\slashOn
c8^"Hier ist der Slash!"
\slashOff
c c c
}
So gehts denn bloss durch den ersten Achtel, sieht auch dann recht ordentlich aus.
Grüße
kilgore