--- /dev/null
+\version "2.19.4"
+
+\header {
+ texidoc = "Tuplet numbers are placed next to kneed beams when
+@code{Beam.positions} is overridden."
+}
+
+\layout {
+ indent = 0
+ ragged-right = ##t
+}
+
+top = \change Staff = "1"
+bottom = \change Staff = "2"
+
+music = \relative c {
+ \override Beam.auto-knee-gap = 1
+ \tuplet 3/2 4 {
+ c8 \top e'' \bottom g,,
+ \once \override Beam.positions = #'(4.5 . 4.5)
+ c,8 \top e'' \bottom g,,
+ \once \override Beam.positions = #'(-7.0 . -7.0)
+ \top e''8 \bottom c,, c,
+ \once \override Beam.positions = #'(-4.5 . -4.5)
+ \top e'''8 \bottom c,, c,
+ }
+}
+
+\score {
+ \new PianoStaff <<
+ \new Staff = "1" {
+ s1
+ }
+ \new Staff = "2" {
+ \clef bass
+ \music
+ }
+ >>
+}
Grob *beam = Stem::get_beam (ref_stem);
- if (!beam || !to_boolean (beam->get_property ("knee")))
+ if (!beam || !Beam::is_knee (beam))
return false;
Grob *commonx = Tuplet_bracket::get_common_x (tuplet);
if (!ref_stem || !knee_position_against_beam (me, ref_stem))
return to_bracket;
- Grob *beam = Stem::get_beam (ref_stem);
- if (!beam || !to_boolean (beam->get_property ("knee")))
- return to_bracket;
-
/*
First, we calculate the Y-offset of the tuplet number as if it
is positioned at the reference stem.
*/
if (to_boolean (ref_stem->get_property ("french-beaming")))
{
+ Grob *beam = Stem::get_beam (ref_stem);
Real beam_translation = Beam::get_beam_translation (beam);
SCM beaming = ref_stem->get_property ("beaming");
y_offset += ref_stem_dir