tupletFullLengthNote too. Choose right bound depending on value.
+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 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):
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>
2006-07-19 Han-Wen Nienhuys <hanwen@lilypond.org>
Music *music_;
Spanner *bracket_;
Spanner *number_;
Music *music_;
Spanner *bracket_;
Spanner *number_;
+
+ bool full_length_;
+ bool full_length_note_;
+
+ full_length_note_ = false;
+ full_length_ = false;
music_ = 0;
bracket_ = 0;
number_ = 0;
music_ = 0;
bracket_ = 0;
number_ = 0;
{
for (vsize i = 0; i < stopped_tuplets_.size (); i++)
{
{
for (vsize i = 0; i < stopped_tuplets_.size (); i++)
{
- bool full_length = to_boolean (get_property ("tupletFullLength"));
if (stopped_tuplets_[i].bracket_)
{
if (stopped_tuplets_[i].bracket_)
{
+ 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);
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;
/* i goes from size-1 downto 0, inclusively */
vsize i = j - 1;
if (tuplets_[i].bracket_)
continue;
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",
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")))
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 ()
}
Tuplet_engraver::Tuplet_engraver ()
(tupletFullLength ,boolean? "If set, the tuplet is printed up to
the start of the next note.")
(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
(tupletSpannerDuration ,ly:moment? "
Normally a tuplet bracket is as wide as the
@code{\\times} expression that gave rise to it. By setting this