X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fgrob-pq-engraver.cc;h=542880c184d6808d185e9ae82a692440add911a0;hb=32cdc3e2bc738e82c0965bdc5d8d99830e929092;hp=e76e35ce67f1f471b90cdcafff245364afb42a09;hpb=e24df7c27635dc996c466295eacf2981bddccaf7;p=lilypond.git diff --git a/lily/grob-pq-engraver.cc b/lily/grob-pq-engraver.cc index e76e35ce67..542880c184 100644 --- a/lily/grob-pq-engraver.cc +++ b/lily/grob-pq-engraver.cc @@ -1,5 +1,5 @@ -/* - grob-pq-engraver.cc -- implement Grob_pq_engraver +/* + grob-pq-engraver.cc -- implement Grob_pq_engraver source file of the GNU LilyPond music typesetter @@ -11,7 +11,7 @@ #include "grob.hh" #include "warn.hh" -class Grob_pq_engraver: public Engraver +class Grob_pq_engraver : public Engraver { public: TRANSLATOR_DECLARATIONS (Grob_pq_engraver); @@ -22,7 +22,6 @@ protected: virtual void stop_translation_timestep (); }; - Grob_pq_engraver::Grob_pq_engraver () { } @@ -30,12 +29,12 @@ Grob_pq_engraver::Grob_pq_engraver () void Grob_pq_engraver::initialize () { - context ()->set_property ("busyGrobs", SCM_EOL); + context ()->set_property ("busyGrobs", SCM_EOL); } LY_DEFINE (ly_grob_pq_less_p, "ly:grob-pq-less?", - 2, 0 ,0, (SCM a, SCM b), - "Compare 2 grob priority queue entries. Internal") + 2, 0, 0, (SCM a, SCM b), + "Compare 2 grob priority queue entries. Internal") { if (Moment::compare (*unsmob_moment (scm_car (a)), *unsmob_moment (scm_car (b))) < 0) @@ -43,21 +42,21 @@ LY_DEFINE (ly_grob_pq_less_p, "ly:grob-pq-less?", else return SCM_BOOL_F; } - + void Grob_pq_engraver::acknowledge_grob (Grob_info gi) { - Music * m = gi.music_cause (); + Music *m = gi.music_cause (); if (m - && !gi.grob_->internal_has_interface (ly_symbol2scm ("multi-measure-interface"))) + && !gi.grob ()->internal_has_interface (ly_symbol2scm ("multi-measure-interface"))) { Moment n = now_mom (); Moment l = m->get_length (); if (!l.to_bool ()) - return ; - + return; + if (n.grace_part_) { l.grace_part_ = l.main_part_; @@ -66,8 +65,8 @@ Grob_pq_engraver::acknowledge_grob (Grob_info gi) Moment end = n + l; SCM lst = scm_acons (end.smobbed_copy (), - gi.grob_->self_scm (), - SCM_EOL); + gi.grob ()->self_scm (), + SCM_EOL); SCM busy = get_property ("busyGrobs"); busy = scm_merge_x (lst, busy, ly_grob_pq_less_p_proc); @@ -75,7 +74,6 @@ Grob_pq_engraver::acknowledge_grob (Grob_info gi) } } - void Grob_pq_engraver::stop_translation_timestep () { @@ -103,7 +101,7 @@ Grob_pq_engraver::start_translation_timestep () /* The grob-pq-engraver is not water tight, and stuff like tupletSpannerDuration confuses it. - */ + */ busy = scm_cdr (busy); } @@ -111,16 +109,15 @@ Grob_pq_engraver::start_translation_timestep () context ()->set_property ("busyGrobs", busy); } - ADD_TRANSLATOR (Grob_pq_engraver, -/* descr */ "Administrate when certain grobs (eg. note heads) stop playing; this \ + /* descr */ "Administrate when certain grobs (eg. note heads) stop playing; this \ engraver is a sort-of a failure, since it doesn't handle all sorts of \ borderline cases very well. \ -", \ - -/* creats*/ "", \ -/* accepts */ "", \ -/* acks */ "grob-interface", \ -/* reads */ "busyGrobs", \ -/* write */ "busyGrobs"); +", + + /* creats*/ "",\ + /* accepts */ "",\ + /* acks */ "grob-interface",\ + /* reads */ "busyGrobs",\ + /* write */ "busyGrobs");