X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Frest-collision-engraver.cc;h=70984ae2ad1b9ddbe9516730fb443370c7b1f713;hb=a6a51abfd0195a3cf7d6ea095cf69808852f21ce;hp=66a2c558a4200796d021295491be1ecbcd43f5e1;hpb=e7aa6c445f463844dbaa52d38ea4aac2882b5601;p=lilypond.git diff --git a/lily/rest-collision-engraver.cc b/lily/rest-collision-engraver.cc index 66a2c558a4..70984ae2ad 100644 --- a/lily/rest-collision-engraver.cc +++ b/lily/rest-collision-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2014 Han-Wen Nienhuys + Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -32,6 +32,8 @@ #include "stream-event.hh" #include "warn.hh" +#include "translator.icc" + class Rest_collision_engraver : public Engraver { protected: @@ -43,7 +45,8 @@ public: TRANSLATOR_DECLARATIONS (Rest_collision_engraver); }; -Rest_collision_engraver::Rest_collision_engraver () +Rest_collision_engraver::Rest_collision_engraver (Context *c) + : Engraver (c) { rest_collision_ = 0; } @@ -57,23 +60,20 @@ Rest_collision_engraver::process_acknowledged () for (SCM s = get_property ("busyGrobs"); scm_is_pair (s); s = scm_cdr (s)) { - Grob *g = unsmob_grob (scm_cdar (s)); - Moment *m = unsmob_moment (scm_caar (s)); + Grob *g = unsmob (scm_cdar (s)); + Moment *m = unsmob (scm_caar (s)); if (!g || !m) continue; - if (Rhythmic_head::has_interface (g) && (*m) > now) + if (has_interface (g) && (*m) > now) { Grob *column = g->get_parent (X_AXIS); if (!column) - { - g->warning (_ ("rhythmic head is not part of a rhythmic column")); continue; - } // Only include rests that start now. Include notes that started any time. Paper_column *paper_column = dynamic_cast (column)->get_column (); - if (!Rest::has_interface (g) || !paper_column || Paper_column::when_mom (paper_column) == now) + if (!has_interface (g) || !paper_column || Paper_column::when_mom (paper_column) == now) { columns.insert (column); rest_count += Note_column::has_rests (column); @@ -95,7 +95,11 @@ Rest_collision_engraver::stop_translation_timestep () rest_collision_ = 0; } -#include "translator.icc" +void +Rest_collision_engraver::boot () +{ + +} ADD_TRANSLATOR (Rest_collision_engraver, /* doc */