From: Han-Wen Nienhuys Date: Tue, 19 Apr 2005 12:57:49 +0000 (+0000) Subject: (consider_change_grace_settings): new function. X-Git-Tag: release/2.5.21~37 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=4f795f5a103f6bf1c3a5590302ba54a361186524;p=lilypond.git (consider_change_grace_settings): new function. (initialize): also consider_change_grace_settings() on initialization. Fixes large grace notes at start of score. --- diff --git a/ChangeLog b/ChangeLog index 6ebeb307b8..cbfc6032ee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2005-04-19 Han-Wen Nienhuys + * lily/grace-engraver.cc (consider_change_grace_settings): new function. + (initialize): also consider_change_grace_settings() on + initialization. Fixes large grace notes at start of score. + * lily/break-align-interface.cc (do_alignment): don't translate if total_extent is empty. diff --git a/lily/grace-engraver.cc b/lily/grace-engraver.cc index aae7f76bd5..59e2bacbbb 100644 --- a/lily/grace-engraver.cc +++ b/lily/grace-engraver.cc @@ -12,9 +12,11 @@ class Grace_engraver : public Engraver { + void consider_change_grace_settings (); protected: virtual void start_translation_timestep (); virtual void derived_mark () const; + virtual void initialize (); TRANSLATOR_DECLARATIONS (Grace_engraver); Moment last_moment_; @@ -25,17 +27,17 @@ public: Grace_engraver::Grace_engraver () { grace_settings_ = SCM_EOL; + last_moment_ = Moment (Rational (-1,1)); } void -Grace_engraver::derived_mark () const +Grace_engraver::initialize () { - scm_gc_mark (grace_settings_); - Engraver::derived_mark (); + consider_change_grace_settings (); } void -Grace_engraver::start_translation_timestep () +Grace_engraver::consider_change_grace_settings () { Moment now = now_mom (); if (last_moment_.grace_part_ && !now.grace_part_) @@ -88,7 +90,20 @@ Grace_engraver::start_translation_timestep () } } - last_moment_ = now; + last_moment_ = now_mom(); +} + +void +Grace_engraver::derived_mark () const +{ + scm_gc_mark (grace_settings_); + Engraver::derived_mark (); +} + +void +Grace_engraver::start_translation_timestep () +{ + consider_change_grace_settings (); } ADD_TRANSLATOR (Grace_engraver,