Hi,
wie wärs so:
\version "2.16.2"
#(define* ((new-stil #:optional (potrusion-factor 0.7)) grob)
;; Adds vertical lines to the left and the right of a TupletBracket.
;; The optional argument 'potrusion'-factor determines how much the lines stick
;; out, above and below the TupletBracket
(let* ((staff-space (ly:staff-symbol-staff-space grob))
(stil (ly:tuplet-bracket::print grob))
(pos (ly:tuplet-bracket::calc-positions grob))
(thickness (/ (or (ly:grob-property grob 'thickness) 1.6) 10))
(line-add (make-line-stencil
thickness
0
(- (car pos) (* potrusion-factor staff-space))
0
(+ (car pos) (* potrusion-factor staff-space))))
(new-stil (ly:stencil-combine-at-edge
(ly:stencil-combine-at-edge
stil
X
LEFT
line-add
(/ thickness -2))
X
RIGHT
line-add
(/ thickness -2))))
new-stil))
bothFlaredFlatTB = {
\override TupletBracket #'stencil = #(new-stil)
\override TupletBracket #'edge-height = #'(0 . 0)
}
revertBothFlaredFlatTB = {
\revert TupletBracket #'stencil
\revert TupletBracket #'edge-height
}
hideTuplet = {
\override TupletBracket #'stencil = ##f
\override TupletNumber #'stencil = ##f
}
revertHideTuplet = {
\revert TupletBracket #'stencil
\revert TupletNumber #'stencil
}
one = \relative c'' {
\time 5/4
r4
%% Move tuplet down, give it some padding:
\tupletDown
\override TupletBracket #'staff-padding = 4
%% Ad Libitum: Lengthen the TupletBracket,
%% move it in X-direction.
%% Also, move TupletNumber:
\override TupletBracket #'shorten-pair = #'(-1 . -1)
\override TupletBracket #'X-offset = #0.5
\override TupletNumber #'extra-offset = #'(0.5 . 0)
\set tupletSpannerDuration = #(ly:make-moment 1 2)
\times 2/3 {
\bothFlaredFlatTB
<ces' bes'>4
\once \hideNotes r
<ees, des'>
\once \hideNotes r
%% Ad libitum: tweaking a NoteColumn:
\once \override NoteColumn #'X-offset = #2
<aes, ges'>
\once \hideNotes r
}
%% revert tuplet-settings:
\revert TupletBracket #'staff-padding
\revert TupletBracket #'shorten-pair
\revert TupletBracket #'X-offset
\revert TupletNumber #'extra-offset
\revertBothFlaredFlatTB
\tupletNeutral
\time 7/4
}
two = \relative c' {
\clef bass
s4
%% move Tuplet down to avoid some spacing issues, hide it
\tupletDown
\hideTuplet
\set tupletSpannerDuration = #(ly:make-moment 1 2)
\times 2/3 {
\once \hideNotes r
\clef treble
\once \stemUp
%% Ad libitum: tweaking a NoteColumn:
\once \override NoteColumn #'X-offset = #-1.5
<aes' ges'>
\once \hideNotes r
<ces, des'>
\once \hideNotes r
\clef bass
%% Ad libitum: tweaking a NoteColumn:
\once \override NoteColumn #'X-extent = #'(0 . 5.5)
<ees, des'>
}
%% revert tuplet-settings:
\revertHideTuplet
\tupletNeutral
}
\new PianoStaff \with {
\override StaffGrouper #'staff-staff-spacing #'basic-distance = #15
}
<<
\new Staff \one
\new Staff \two
>>
Kommentare im Code.
HTH,
Harm