2 slash-repeat-engraver.cc -- implement Slash_repeat_engraver
4 source file of the GNU LilyPond music typesetter
6 (c) 2000--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>, Erik Sandberg <mandolaerik@gmail.com>
10 #include "global-context.hh"
13 #include "percent-repeat-iterator.hh"
14 #include "repeated-music.hh"
15 #include "score-engraver.hh"
17 #include "stream-event.hh"
20 #include "translator.icc"
23 This acknowledges repeated music with "percent" style. It typesets
26 class Slash_repeat_engraver : public Engraver
29 TRANSLATOR_DECLARATIONS (Slash_repeat_engraver);
33 DECLARE_TRANSLATOR_LISTENER (percent);
34 void process_music ();
37 Slash_repeat_engraver::Slash_repeat_engraver ()
42 IMPLEMENT_TRANSLATOR_LISTENER (Slash_repeat_engraver, percent);
44 Slash_repeat_engraver::listen_percent (Stream_event *ev)
46 /*todo: separate events for percent and slash */
48 = robust_scm2moment (get_property ("measureLength"), Moment (0));
50 if (get_event_length (ev) < meas_length)
55 Slash_repeat_engraver::process_music ()
59 make_item ("RepeatSlash", slash_->self_scm ());
64 ADD_TRANSLATOR (Slash_repeat_engraver,
65 /* doc */ "Make beat repeats.",
66 /* create */ "RepeatSlash",
67 /* accept */ "percent-event",
68 /* read */ "measureLength",