source file of the GNU LilyPond music typesetter
- (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
Jan Nieuwenhuizen <janneke@gnu.org>
*/
-#include "bar.hh"
+#include "bar-line.hh"
#include "score-engraver.hh"
#include "musical-request.hh"
#include "engraver-group-engraver.hh"
class Bar_engraver : public Engraver
{
public:
- Bar_engraver ();
- VIRTUAL_COPY_CONS (Translator);
+ TRANSLATOR_DECLARATIONS( Bar_engraver );
void request_bar (String type_str);
protected:
if (scm_equal_p (gl, bar_p_->get_grob_property ("glyph")) != SCM_BOOL_T)
bar_p_->set_grob_property ("glyph", gl);
- announce_grob (bar_p_, 0);
+ announce_grob(bar_p_, SCM_EOL);
}
}
{
if (!bar_p_)
{
- Score_engraver * e = 0;
- Translator * t = daddy_grav_l ();
- for (; !e && t; t = t->daddy_trans_l_)
- {
- e = dynamic_cast<Score_engraver*> (t);
- }
-
- if (!e)
- programming_error ("No score engraver!");
- else
- e->forbid_breaks (); // guh. Use properties!
+ top_engraver ()->forbid_breaks (); // guh. Use properties!
}
else
typeset_bar ();
}
-ADD_THIS_TRANSLATOR (Bar_engraver);
+
+ENTER_DESCRIPTION(Bar_engraver,
+/* descr */ "Create barlines. This engraver is controlled through the
+@code{whichBar} property. If it has no bar line to create, it will forbid a linebreak at this point",
+/* creats*/ "BarLine",
+/* acks */ "",
+/* reads */ "whichBar",
+/* write */ "");