X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmelisma-engraver.cc;h=fd35082cdf98cc73a2331af4ad035b6b463c0080;hb=864dad49c35470fa67a8917552d9a54383647a08;hp=e5f7ada6033c15bd7cabd2033c7c63c27a531a38;hpb=127a1c165d3c16f971413ba36de9bb65cf3d8aa4;p=lilypond.git diff --git a/lily/melisma-engraver.cc b/lily/melisma-engraver.cc index e5f7ada603..fd35082cdf 100644 --- a/lily/melisma-engraver.cc +++ b/lily/melisma-engraver.cc @@ -3,13 +3,14 @@ source file of the GNU LilyPond music typesetter - (c) 1999--2000 Han-Wen Nienhuys + (c) 1999--2002 Han-Wen Nienhuys */ #include "engraver.hh" #include "musical-request.hh" -#include "score-element.hh" +#include "grob.hh" +#include "translator-group.hh" /** Signal existence of melismas. @@ -17,32 +18,40 @@ class Melisma_engraver:public Engraver { public: - VIRTUAL_COPY_CONS(Translator); - bool do_try_music (Music *); + TRANSLATOR_DECLARATIONS(Melisma_engraver); + bool try_music (Music *); }; -ADD_THIS_TRANSLATOR(Melisma_engraver); + bool -Melisma_engraver::do_try_music (Music *m ) +Melisma_engraver::try_music (Music *m) { - if (dynamic_cast(m)) + if (dynamic_cast (m)) { SCM plain (get_property ("melismaBusy")); SCM slur (get_property ("slurMelismaBusy")); SCM tie (get_property ("tieMelismaBusy")); SCM beam (get_property ("beamMelismaBusy")); - if( (to_boolean (plain)) + if ((to_boolean (plain)) || (to_boolean (slur)) || (to_boolean (tie)) || (to_boolean (beam))) { - Score_element * melisma_p = new Score_element (get_property ("basicMelismaProperties")); - announce_element (melisma_p, m); - + daddy_trans_->set_property ("melismaEngraverBusy",SCM_BOOL_T); return true; } } + daddy_trans_->set_property ("melismaEngraverBusy",SCM_BOOL_F); return false; } +Melisma_engraver::Melisma_engraver() +{ +} +ENTER_DESCRIPTION(Melisma_engraver, +/* descr */ "", +/* creats*/ "", +/* acks */ "", +/* reads */ "melismaBusy slurMelismaBusy tieMelismaBusy beamMelismaBusy", +/* write */ "");