+2006-07-20 Han-Wen Nienhuys <hanwen@lilypond.org>
+
+ * lily/tuplet-engraver.cc (struct Tuplet_description): read
+ tupletFullLengthNote too. Choose right bound depending on value.
+
+ * input/regression/tuplet-full-length-note.ly: new file.
+
2006-07-19 Erik Sandberg <mandolaerik@gmail.com>
* lily/*-performer.cc: Converted try_music to listen_*
2006-07-19 Mats Bengtsson <mabe@drongo.s3.kth.se>
* Documentation/user/advanced-notation.itely (Font selection):
- Document how to get a list of available fonts using
- 'lilypond -dshow-available-fonts blabla'.
+ Document how to get a list of available fonts using 'lilypond
+ -dshow-available-fonts blabla'.
2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
Music *music_;
Spanner *bracket_;
Spanner *number_;
+
+ bool full_length_;
+ bool full_length_note_;
+
Tuplet_description ()
{
+ full_length_note_ = false;
+ full_length_ = false;
music_ = 0;
bracket_ = 0;
number_ = 0;
{
for (vsize i = 0; i < stopped_tuplets_.size (); i++)
{
- bool full_length = to_boolean (get_property ("tupletFullLength"));
if (stopped_tuplets_[i].bracket_)
{
- if (full_length)
+ if (stopped_tuplets_[i].full_length_)
{
- Item *col = unsmob_item (get_property ("currentMusicalColumn"));
+ Item *col =
+ unsmob_item (stopped_tuplets_[i].full_length_note_
+ ? get_property ("currentMusicalColumn")
+ : get_property ("currentCommandColumn"));
stopped_tuplets_[i].bracket_->set_bound (RIGHT, col);
stopped_tuplets_[i].number_->set_bound (RIGHT, col);
/* i goes from size-1 downto 0, inclusively */
vsize i = j - 1;
+
if (tuplets_[i].bracket_)
continue;
+ tuplets_[i].full_length_ = to_boolean (get_property ("tupletFullLength"));
+ tuplets_[i].full_length_note_
+ = to_boolean (get_property ("tupletFullLengthNote"));
+
tuplets_[i].bracket_ = make_spanner ("TupletBracket",
tuplets_[i].music_->self_scm ());
tuplets_[i].number_ = make_spanner ("TupletNumber",
Tuplet_engraver::finalize ()
{
if (to_boolean (get_property ("tupletFullLength")))
- {
- for (vsize i = 0; i < last_tuplets_.size (); i++)
- {
- Item *col = unsmob_item (get_property ("currentCommandColumn"));
- last_tuplets_[i]->set_bound (RIGHT, col);
- }
- }
+ for (vsize i = 0; i < last_tuplets_.size (); i++)
+ {
+ Item *col = unsmob_item (get_property ("currentCommandColumn"));
+ last_tuplets_[i]->set_bound (RIGHT, col);
+ }
}
Tuplet_engraver::Tuplet_engraver ()
(tupletFullLength ,boolean? "If set, the tuplet is printed up to
the start of the next note.")
+ (tupletFullLengthNote ,boolean? "If set, end at the next note, otherwise end on the matter (time sigs, etc.) before the note.")
(tupletSpannerDuration ,ly:moment? "
Normally a tuplet bracket is as wide as the
@code{\\times} expression that gave rise to it. By setting this