X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fforbid-break-engraver.cc;h=709f5e87d1897e6a6428e7383e3575dd894b7d26;hb=bf689da6077e742f9f3827bf03e732b48072c5f2;hp=474188706081d40ea990535a156416fd0c5d1109;hpb=17a0be44b562c72ccfebf2bef4a7a6fcc07bd02f;p=lilypond.git diff --git a/lily/forbid-break-engraver.cc b/lily/forbid-break-engraver.cc index 4741887060..709f5e87d1 100644 --- a/lily/forbid-break-engraver.cc +++ b/lily/forbid-break-engraver.cc @@ -5,22 +5,27 @@ (c) 2002--_2005 Han-Wen Nienhuys */ -#include "rhythmic-head.hh" +#include "context.hh" +#include "duration.hh" +#include "engraver.hh" #include "grob.hh" -#include "score-engraver.hh" #include "input.hh" -#include "pitch.hh" -#include "duration.hh" #include "moment.hh" +#include "pitch.hh" +#include "rhythmic-head.hh" + +#include "translator.icc" class Forbid_line_break_engraver : public Engraver { public: TRANSLATOR_DECLARATIONS (Forbid_line_break_engraver); - 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 () @@ -37,18 +42,16 @@ 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); } } 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");