source file of the GNU LilyPond music typesetter
- (c) 1998--2003 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1998--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
#include <ctype.h>
#include "engraver.hh"
#include "engraver-group-engraver.hh"
#include "item.hh"
+#include "context.hh"
/**
put stuff over or next to bars. Examples: bar numbers, marginal notes,
class Metronome_mark_engraver : public Engraver
{
public:
- TRANSLATOR_DECLARATIONS(Metronome_mark_engraver);
+ TRANSLATOR_DECLARATIONS (Metronome_mark_engraver);
protected:
Item *text_;
Grob *bar_line_;
if (bar_line_ && !text_->get_parent (X_AXIS))
text_->set_parent (bar_line_, X_AXIS);
- text_->set_grob_property ("side-support-elements" , get_property ("stavesFound"));
- typeset_grob (text_);
+ text_->set_property ("side-support-elements" , get_property ("stavesFound"));
+
text_ =0;
}
mark_ev_ = 0;
if (text_)
return;
- text_ = make_item ("MetronomeMark");
+ text_ = make_item ("MetronomeMark", rq->self_scm () );
- announce_grob(text_, rq->self_scm());
}
SCM proc = get_property ("metronomeMarkFormatter");
SCM result= scm_call_2 (proc, mark_ev_->self_scm (),
- daddy_trans_->self_scm());
+ context ()->self_scm ());
- text_->set_grob_property ("text", result);
+ text_->set_property ("text", result);
}
}
-ENTER_DESCRIPTION(Metronome_mark_engraver,
-/* descr */ "Engrave metro nome marking. This delegates the real work to the function in the metronomeMarkFormatter property",
+ENTER_DESCRIPTION (Metronome_mark_engraver,
+/* descr */ "Engrave metro nome marking. This delegates the formatting work "
+ "to the function in the metronomeMarkFormatter property. "
+ "The mark is put over all staves. "
+ "The staves are taken from the @code{stavesFound} property, "
+ "which is maintained by @code{@ref{Staff_collecting_engraver}}. "
+
+ ,
/* creats*/ "MetronomeMark",
/* accepts */ "metronome-change-event",
/* acks */ "time-signature-interface bar-line-interface",