-/*
- tuplet-engraver.cc -- implement Tuplet_engraver
-
+/*
+ tuplet-engraver.cc -- implement Tuplet_engraver
+
source file of the GNU LilyPond music typesetter
-
- (c) 1998--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-
- */
+
+ (c) 1998--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+*/
#include "tuplet-bracket.hh"
#include "note-column.hh"
-#include "time-scaled-music.hh"
#include "beam.hh"
-#include "music-list.hh"
#include "engraver.hh"
#include "spanner.hh"
Rational stop_;
Rational span_stop_;
Spanner *spanner_;
- Tuplet_description()
+ Tuplet_description ()
{
music_ = 0;
spanner_ = 0;
Array<Tuplet_description> tuplets_;
virtual void acknowledge_grob (Grob_info);
- virtual bool try_music (Music*r);
+ virtual bool try_music (Music *r);
virtual void start_translation_timestep ();
virtual void process_music ();
};
{
Tuplet_description d;
d.music_ = music;
- d.stop_ = now_mom ().main_part_ + music->get_length ().main_part_;
+ d.stop_ = now_mom ().main_part_ + music->get_length ().main_part_;
d.span_stop_ = d.stop_;
-
+
SCM s = get_property ("tupletSpannerDuration");
if (unsmob_moment (s))
- d.span_stop_ = d.span_stop_ <? (now_mom () + *unsmob_moment (s)).main_part_;
-
+ d.span_stop_ = min (d.span_stop_, (now_mom () + *unsmob_moment (s)).main_part_);
+
tuplets_.push (d);
}
return true;
if (tuplets_[i].spanner_)
continue;
- Spanner* spanner = make_spanner ("TupletBracket",
+ Spanner *spanner = make_spanner ("TupletBracket",
tuplets_[i].music_->self_scm ());
tuplets_[i].spanner_ = spanner;
void
Tuplet_engraver::acknowledge_grob (Grob_info i)
{
- if (Note_column::has_interface (i.grob_))
+ if (Note_column::has_interface (i.grob ()))
{
for (int j = 0; j < tuplets_.size (); j++)
- if (tuplets_[j].spanner_)
+ if (tuplets_[j].spanner_)
Tuplet_bracket::add_column (tuplets_[j].spanner_,
- dynamic_cast<Item*> (i.grob_));
+ dynamic_cast<Item *> (i.grob ()));
}
}
{
if (!sp->get_bound (RIGHT))
sp->set_bound (RIGHT, sp->get_bound (LEFT));
-
+
tuplets_[i].spanner_ = 0;
}
-
+
if (tsd.to_bool ())
tuplets_[i].span_stop_ += tsd.main_part_;
}
}
ADD_TRANSLATOR (Tuplet_engraver,
-/* descr */ "Catch Time_scaled_music and generate appropriate bracket ",
-/* creats*/ "TupletBracket",
-/* accepts */ "time-scaled-music",
-/* acks */ "note-column-interface",
-/* reads */ "tupletNumberFormatFunction tupletSpannerDuration",
-/* write */ "");
+ /* descr */ "Catch Time_scaled_music and generate appropriate bracket ",
+ /* creats*/ "TupletBracket",
+ /* accepts */ "time-scaled-music",
+ /* acks */ "note-column-interface",
+ /* reads */ "tupletNumberFormatFunction tupletSpannerDuration",
+ /* write */ "");