X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftime-signature-engraver.cc;h=e217fd900378309cab19e337cba3c17a3533eab4;hb=ca20eaa74e7e762c0611de26cc2267909ae27e02;hp=ff335a0f974827ffc329fcba4eede009a45a81d3;hpb=7aabfb20c46e0a1de41698ddc6859ccd3a6dea85;p=lilypond.git diff --git a/lily/time-signature-engraver.cc b/lily/time-signature-engraver.cc index ff335a0f97..e217fd9003 100644 --- a/lily/time-signature-engraver.cc +++ b/lily/time-signature-engraver.cc @@ -3,13 +3,11 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2003 Han-Wen Nienhuys + (c) 1997--2005 Han-Wen Nienhuys */ #include "time-signature.hh" #include "warn.hh" - -#include "engraver.hh" #include "engraver-group-engraver.hh" #include "misc.hh" @@ -18,20 +16,20 @@ */ class Time_signature_engraver : public Engraver { - Item * time_signature_; + Item *time_signature_; SCM last_time_fraction_; protected: virtual void stop_translation_timestep (); virtual void process_music (); public: - TRANSLATOR_DECLARATIONS(Time_signature_engraver); + TRANSLATOR_DECLARATIONS (Time_signature_engraver); }; Time_signature_engraver::Time_signature_engraver () { - time_signature_ =0; + time_signature_ = 0; last_time_fraction_ = SCM_BOOL_F; } @@ -41,12 +39,12 @@ Time_signature_engraver::process_music () /* not rigorously safe, since the value might get GC'd and reallocated in the same spot */ - SCM fr= get_property ("timeSignatureFraction"); + SCM fr = get_property ("timeSignatureFraction"); if (!time_signature_ && last_time_fraction_ != fr - && gh_pair_p (fr)) + && scm_is_pair (fr)) { - int den = gh_scm2int (gh_cdr (fr)); + int den = scm_to_int (scm_cdr (fr)); if (den != (1 << intlog2 (den))) { /* @@ -54,34 +52,27 @@ Time_signature_engraver::process_music () OTOH, Tristan Keuris writes 8/20 in his Intermezzi. */ - warning (_f("Found strange time signature %d/%d.", + warning (_f ("Found strange time signature %d/%d.", den, - gh_scm2int (gh_car (fr)) + scm_to_int (scm_car (fr)) )); } last_time_fraction_ = fr; - time_signature_ = new Item (get_property ("TimeSignature")); - time_signature_->set_grob_property ("fraction",fr); - - if (time_signature_) - announce_grob(time_signature_, SCM_EOL); + time_signature_ = make_item ("TimeSignature", SCM_EOL); + time_signature_->set_property ("fraction", fr); } } void Time_signature_engraver::stop_translation_timestep () { - if (time_signature_) - { - typeset_grob (time_signature_); - time_signature_ =0; - } + time_signature_ = 0; } -ENTER_DESCRIPTION(Time_signature_engraver, +ADD_TRANSLATOR (Time_signature_engraver, /* descr */ "Create a TimeSignature whenever @code{timeSignatureFraction} changes", /* creats*/ "TimeSignature", /* accepts */ "",