Autor Thema: Acciaccatura Slash  (Gelesen 2322 mal)

kilgore

  • Member
Acciaccatura Slash
« 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.....

RobUr

  • Member
Re:Acciaccatura Slash
« Antwort #1 am: Dienstag, 26. Januar 2010, 00:35 »
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):
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
« Letzte Änderung: Dienstag, 26. Januar 2010, 01:15 von RobUr »

kilgore

  • Member
Re:Acciaccatura Slash
« Antwort #2 am: Dienstag, 26. Januar 2010, 11:18 »
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