X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fhara-kiri-engraver.cc;h=5e0e0a3b2db3ec74213b8416073918c858019835;hb=a7ebff8ea16f393543046c2a3d3984bf1a7e8313;hp=2460e0e7b770ff7d4aaee94d0bf56d65d19a751b;hpb=811be522d0b79493159f47789e5621dc85493495;p=lilypond.git diff --git a/lily/hara-kiri-engraver.cc b/lily/hara-kiri-engraver.cc index 2460e0e7b7..5e0e0a3b2d 100644 --- a/lily/hara-kiri-engraver.cc +++ b/lily/hara-kiri-engraver.cc @@ -3,8 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 2005 Han-Wen Nienhuys - + (c) 2005--2006 Han-Wen Nienhuys */ #include "axis-group-engraver.hh" @@ -14,38 +13,52 @@ #include "translator.icc" +/* + TODO: fold together with axis_group_engraver? + */ + class Hara_kiri_engraver : public Axis_group_engraver { protected: virtual Spanner *get_spanner (); DECLARE_ACKNOWLEDGER (grob); virtual void add_element (Grob *e); - void start_translation_timestep (); - + void process_music (); + virtual void derived_mark () const; SCM interesting_; public: TRANSLATOR_DECLARATIONS (Hara_kiri_engraver); }; + +Hara_kiri_engraver::Hara_kiri_engraver () +{ + interesting_ = SCM_EOL; +} + void -Hara_kiri_engraver::start_translation_timestep () +Hara_kiri_engraver::derived_mark () const { - Axis_group_engraver::start_translation_timestep (); - interesting_ = get_property ("keepAliveInterfaces"); + scm_gc_mark (interesting_); } +void +Hara_kiri_engraver::process_music () +{ + Axis_group_engraver::process_music (); + interesting_ = get_property ("keepAliveInterfaces"); +} void Hara_kiri_engraver::add_element (Grob *e) { - Hara_kiri_group_spanner::add_element (staffline_, e); + Axis_group_engraver::add_element (e); } Spanner * Hara_kiri_engraver::get_spanner () { - Spanner *sp = make_spanner ("RemoveEmptyVerticalGroup", SCM_EOL); - + Spanner *sp = make_spanner ("VerticalAxisGroup", SCM_EOL); return sp; } @@ -63,18 +76,13 @@ Hara_kiri_engraver::acknowledge_grob (Grob_info i) } } -Hara_kiri_engraver::Hara_kiri_engraver () -{ - interesting_ = SCM_EOL; -} - ADD_ACKNOWLEDGER (Hara_kiri_engraver, grob); ADD_TRANSLATOR (Hara_kiri_engraver, - /* descr */ "Like Axis_group_engraver, but make a hara-kiri spanner, and add " + /* doc */ "Like Axis_group_engraver, but make a hara-kiri spanner, and add " "interesting items (ie. note heads, lyric syllables and normal rests) ", - /* creats*/ "RemoveEmptyVerticalGroup", - /* accepts */ "", - /* reads */ "keepAliveInterfaces", + /* create */ "VerticalAxisGroup", + /* accept */ "", + /* read */ "keepAliveInterfaces", /* write */ "");