\version "2.12.3" #(define (tuplet-number-to-beam tuplet-number) (let* ((tuplet-bracket (ly:grob-object tuplet-number 'bracket)) (note-column (ly:grob-parent tuplet-number X)) (stem (ly:grob-object note-column 'stem)) (beam (ly:grob-object stem 'beam))) ;; Move (invisible) TupletBracket to beam, taking number with it (ly:grob-set-property! tuplet-bracket 'positions (ly:grob-property beam 'positions)) ;; Number is now centered on beam. Offset it based on width of beam and height ;; of tuplet number. (ly:grob-set-property! tuplet-number 'Y-offset (- (+ (ly:grob-property beam 'thickness) (/ (interval-length (ly:grob::stencil-height tuplet-number)) 2)))))) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \new PianoStaff << \new Staff = "1" { s4 } \new Staff = "2" { \relative c { \clef bass \override TupletNumber #'after-line-breaking = #tuplet-number-to-beam \times 2/3 { c8 \change Staff = "1" c'' \change Staff = "2" c,, } } } >>