X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmelisma-translator.cc;h=eda732be5b05bbd166b2f4189bb823a538dc5c43;hb=14573cf22c37fb61eac8e3d3ea37dfa2a13f8542;hp=f8090b134fe34bef0f05213628b74092886f9a2e;hpb=63f12e8d5820bf3f437f76859fb3515d365e59ef;p=lilypond.git diff --git a/lily/melisma-translator.cc b/lily/melisma-translator.cc index f8090b134f..eda732be5b 100644 --- a/lily/melisma-translator.cc +++ b/lily/melisma-translator.cc @@ -1,43 +1,38 @@ -/* - melisma-engraver.cc -- implement Melisma_engraver - +/* + melisma-engraver.cc -- implement Melisma_engraver + source file of the GNU LilyPond music typesetter - - (c) 1999--2004 Han-Wen Nienhuys - - */ -/* - duplicated in melisma-performer - */ + (c) 1999--2006 Han-Wen Nienhuys +*/ + #include "engraver.hh" -#include "event.hh" #include "grob.hh" #include "context.hh" +#include "music.hh" +#include "translator.icc" +/* Remove this translator. */ /** Signal existence of melismas. - */ +*/ class Melisma_translator : public Translator { public: - TRANSLATOR_DECLARATIONS(Melisma_translator); + TRANSLATOR_DECLARATIONS (Melisma_translator); protected: virtual bool try_music (Music *); - virtual void process_music (); - virtual void start_translation_timestep (); - Music * event_; + void process_music (); + void start_translation_timestep (); + Music *event_; }; - bool -Melisma_translator::try_music (Music *m) +Melisma_translator::try_music (Music *m) { if (m->is_mus_type ("melisma-playing-event")) - { - return melisma_busy (this); - } + return melisma_busy (context ()); else if (m->is_mus_type ("melisma-span-event")) { event_ = m; @@ -52,14 +47,13 @@ Melisma_translator::process_music () { if (event_) { - SCM sd = event_->get_mus_property ("span-direction"); + SCM sd = event_->get_property ("span-direction"); Direction d = to_dir (sd); if (d == START) - daddy_context_->set_property ("melismaBusy", SCM_BOOL_T); + context ()->set_property ("melismaBusy", SCM_BOOL_T); else - daddy_context_->unset_property (ly_symbol2scm ("melismaBusy")); + context ()->unset_property (ly_symbol2scm ("melismaBusy")); } - } void @@ -67,16 +61,21 @@ Melisma_translator::start_translation_timestep () { event_ = 0; } - -Melisma_translator::Melisma_translator() + +Melisma_translator::Melisma_translator () { event_ = 0; } -ENTER_DESCRIPTION(Melisma_translator, -/* descr */ "This translator collects melisma information about ties, beams, and user settings (@code{melismaBusy}, and signals it to the @code{\addlyrics} code. ", -/* creats*/ "", -/* accepts */ "melisma-playing-event melisma-span-event", -/* acks */ "", -/* reads */ "melismaBusy melismaBusyProperties slurMelismaBusy tieMelismaBusy beamMelismaBusy", -/* write */ ""); +ADD_TRANSLATOR (Melisma_translator, + /* doc */ "This translator collects melisma information about ties, beams, and user settings (@code{melismaBusy}, and signals it to the @code{\addlyrics} code. ", + /* create */ "", + /* read */ + "beamMelismaBusy " + "melismaBusy " + "melismaBusyProperties " + "slurMelismaBusy " + "tieMelismaBusy " + , + + /* write */ "");