source file of the GNU LilyPond music typesetter
- (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#include "engraver.hh"
-#include "musical-request.hh"
+#include "event.hh"
#include "grob.hh"
#include "translator-group.hh"
class Melisma_engraver:public Engraver
{
public:
- VIRTUAL_COPY_CONS(Translator);
+ TRANSLATOR_DECLARATIONS(Melisma_engraver);
bool try_music (Music *);
};
-ADD_THIS_TRANSLATOR(Melisma_engraver);
bool
-Melisma_engraver::try_music (Music *m )
+Melisma_engraver::try_music (Music *)
{
- if (dynamic_cast<Melisma_playing_req*>(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))
- || (to_boolean (slur))
- || (to_boolean (tie))
- || (to_boolean (beam))) {
+ /*
+ This can only be melisma-playing-event.
+ */
+ return melisma_busy (this);
+}
- daddy_trans_l_->set_property("melismaEngraverBusy",SCM_BOOL_T);
- return true;
- }
- }
- daddy_trans_l_->set_property("melismaEngraverBusy",SCM_BOOL_F);
- return false;
+Melisma_engraver::Melisma_engraver()
+{
}
+
+ENTER_DESCRIPTION(Melisma_engraver,
+/* descr */ "This engraver collects melisma information about ties, beams, and user settings (@code{melismaBusy}, and signals it to the @code{\addlyrics} code. ",
+/* creats*/ "",
+/* accepts */ "melisma-playing-event",
+/* acks */ "",
+/* reads */ "melismaBusy melismaBusyProperties slurMelismaBusy tieMelismaBusy beamMelismaBusy",
+/* write */ "");