User:Lilipond/Lilypond/Tuplet Number formatieren
Jump to navigation
Jump to search
Problem
[edit]In vielen älteren Noten sind die Triolenziffern mit Bogen unterstrichen, wie sie durch \undertie
erzeugt werden.
Natürlich kann man diese Beschriftung individuell erzeugen, je nach Richtung und Tuplet-Wert. Die dazugehörige Eigenschaft ist TupletNumber.text
, mit
\override TupletNumber.text ="2"
wird jede Tupletzahl auf 2 gesetzt, unabhängig vom Notenwert des Tuplet, ob Triole, Sextole etc.
Soll sich die Beschriftung des Tuplet in Abhängigkeit von der Notendauer ändern, muss eine Funktion definiert werden.
Lösung
[edit]Hier eine Anwendung mit zwei Funktionen. Die eine beschriftet das Tuplet mit dem Zähler des Bruches, die andere mit dem kompletten Bruch.
\version "2.19.80"
tupletU = {
\tupletUp
\override TupletNumber.direction = #UP
}
tupletD = {
\tupletDown
\override TupletNumber.direction = #DOWN
}
tupletN = {
\revert TupletBracket.direction
\revert TupletNumber.direction
}
%% nur der Zähler als Beschriftung
#(define (my-tuplet-number::calc-denominator-text grob)
(let (;; let 'direction evaluate to use the generic tie-markup-command
(dir (ly:grob-property grob 'direction)))
(make-tie-markup
(string-append " " (tuplet-number::calc-denominator-text grob) " "))))
%% der komplette Bruch als Beschriftung
#(define (my-tuplet-number::calc-fraction-text grob)
(let (;; let 'direction evaluate to use the generic tie-markup-command
(dir (ly:grob-property grob 'direction)))
(make-tie-markup
(string-append " " (tuplet-number::calc-fraction-text grob) " "))))
\relative c'' {
\override TupletNumber.text = #my-tuplet-number::calc-fraction-text
\tuplet 3/4 { g8 e f }
\tupletD
\tuplet 5/4 { g8 e f e d }
\tupletN
\override TupletNumber.text = #my-tuplet-number::calc-denominator-text
\tuplet 7/4 { g4 e f g a f g }
\tupletD
\tuplet 6/4 { g8[ e f f g a] } }