source file of the GNU LilyPond music typesetter
- (c) 2000--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
-#include "engraver.hh"
#include "repeated-music.hh"
-#include "engraver-group-engraver.hh"
#include "global-context.hh"
#include "warn.hh"
#include "misc.hh"
#include "item.hh"
#include "percent-repeat-iterator.hh"
#include "bar-line.hh"
-
#include "score-engraver.hh"
-#include "context.hh"
-
/**
This acknowledges repeated music with "percent" style. It typesets
public:
TRANSLATOR_DECLARATIONS (Percent_repeat_engraver);
protected:
- Repeated_music * repeat_;
+ Music *repeat_;
/// moment (global time) where beam started.
Moment start_mom_;
{
perc_ = 0;
finished_perc_ = 0;
- repeat_ =0;
+ repeat_ = 0;
double_percent_ = 0;
}
bool
Percent_repeat_engraver::try_music (Music * m)
{
- Repeated_music * rp = dynamic_cast<Repeated_music*> (m);
- if (rp
- && rp->get_property ("iterator-ctor")
+ if (m->is_mus_type ("repeated-music")
+ && m->get_property ("iterator-ctor")
== Percent_repeat_iterator::constructor_proc
&& !repeat_)
{
- body_length_ = rp->body_get_length ();
- int count = rp->repeat_count ();
+ body_length_ = Repeated_music::body_get_length (m);
+ int count = Repeated_music::repeat_count (m);
Moment now = now_mom ();
start_mom_ = now;
return false;
}
- repeat_ = rp;
+ repeat_ = m;
Global_context *global = get_global_context ();
finished_perc_ = perc_;
typeset_perc ();
perc_ = make_spanner ("PercentRepeat", repeat_->self_scm ());
- SCM col =get_property ("currentCommandColumn");
+ SCM col = get_property ("currentCommandColumn");
perc_->set_bound (LEFT, unsmob_grob (col));
}
else if (repeat_sign_type_ == DOUBLE_MEASURE)
{
if (finished_perc_)
{
- SCM col =get_property ("currentCommandColumn");
+ SCM col = get_property ("currentCommandColumn");
finished_perc_->set_bound (RIGHT, unsmob_grob (col));
finished_perc_ = 0;
}
-ENTER_DESCRIPTION (Percent_repeat_engraver,
+ADD_TRANSLATOR (Percent_repeat_engraver,
/* descr */ "Make whole bar and double bar repeats.",
/* creats*/ "PercentRepeat DoublePercentRepeat",
/* accepts */ "repeated-music",