Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: LaLuneNoir am Freitag, 8. Oktober 2010, 15:15
-
Hallo zusammen,
ich möchte gerne die Funktion break-overshoot (hier zu finden: http://lilypond.org/doc/v2.13/Documentation/internals/user-backend-properties (http://lilypond.org/doc/v2.13/Documentation/internals/user-backend-properties)) benutzen, um gebrochene Crescendogabeln am Ende einer Zeile zu kürzen. Eigentlich handelt es sich bei Hairpins ja um Spanner, und deshalb verstehe ich nicht, warum folgender Code nicht funktioniert. Hat jemand von euch eine Idee?
Viele Grüße und Danke
\relative c' {
\override Hairpin #'break-overshoot = #'(-1 . -1)
c2\<
\repeat unfold 20 {c4 c c c}
c2\!
}
-
Es geht nicht weil break-overshoot nur zu beam-interface und tuplet-bracket-interface gehört.
-
Hm, Schade. Und es gibt wahrscheinlich keine Möglichkeit, dem hairpin-interface diese Eigenschaft zuzuweisen?
-
Hey LaLuneNoir,
Vielleicht gibt es ein andere weg das zu machen. Vielleicht nicht elegant aber kurz und effektiv!:
\version "2.12.3"
kurzen = \markup {
\postscript #"
0 -10 translate
5 4 scale
1 setgray
0 0 moveto
0 1 lineto
1 1 lineto
1 0 lineto
0 0 lineto
fill"
}
\relative c' {
c2\< c4 c4
\repeat unfold 5 {c4 c c c} c c c c^\kurzen
\repeat unfold 6 {c4 c c c} c c c c^\kurzen
\repeat unfold 7 {c4 c c c} c2\!
}
Die markups müsste man eventuell mit TextScript #'extra-offset zurecht scheiben je nach Situation. Die weiße Kiste kann man auch größer oder kleiner machen, wenn man es braucht. Nicht so schick wie ein override, aber geht ziemlich schnell!
Du Grundlage dafür hab ich von diesem Snippet: http://lsr.dsi.unimi.it/LSR/Item?id=207
-
Hallo kilgore,
die Idee hatte ich auch schon, aber trtzdem vielen Dank. Ich hatte gehofft, um die Variante mit dem Malen drum rum zu kommen. Naja, so schlimm wird's hoffentlich nicht.
Viele Grüße