(c) 2002--_2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
-#include "rhythmic-head.hh"
+#include "duration.hh"
#include "grob.hh"
-#include "score-engraver.hh"
+#include "engraver.hh"
#include "input.hh"
-#include "pitch.hh"
-#include "duration.hh"
#include "moment.hh"
+#include "pitch.hh"
+#include "rhythmic-head.hh"
+#include "score-context.hh"
+
+#include "translator.icc"
class Forbid_line_break_engraver : public Engraver
{
public:
TRANSLATOR_DECLARATIONS (Forbid_line_break_engraver);
- PRECOMPUTED_VIRTUAL void start_translation_timestep ();
+ void start_translation_timestep ();
};
-Forbid_line_break_engraver::Forbid_line_break_engraver (){}
+Forbid_line_break_engraver::Forbid_line_break_engraver ()
+{
+}
void
Forbid_line_break_engraver::start_translation_timestep ()
while (scm_is_pair (busy))
{
Grob *g = unsmob_grob (scm_cdar (busy));
- if (Rhythmic_head::has_interface (g))
- {
- get_score_engraver ()->forbid_breaks ();
- }
+ if (g->internal_has_interface (ly_symbol2scm ("rhythmic-grob-interface")))
+ context ()->get_score_context ()->set_property ("forbidBreak", SCM_BOOL_T);
busy = scm_cdr (busy);
}
}
-#include "translator.icc"
-
ADD_TRANSLATOR (Forbid_line_break_engraver,
- /* descr */ "Forbid line breaks when note heads are still playing at some point.",
- /* creats*/ "",
- /* accepts */ "",
- /* acks */ "",
- /* reads */ "busyGrobs",
- /* write */ "");
+ /* doc */ "Forbid line breaks when note heads "
+ "are still playing at some point.",
+ /* create */ "",
+ /* accept */ "",
+ /* read */ "busyGrobs",
+ /* write */ "forbidBreak");