2 beam-performer.cc -- implement Beam_performer
4 source file of the GNU LilyPond music typesetter
6 (c) 1996--2006 Jan Nieuwenhuizen <janneke@gnu.org>
9 #include "performer.hh"
10 #include "audio-item.hh"
11 #include "audio-column.hh"
12 #include "global-context.hh"
13 #include "stream-event.hh"
17 #include "translator.icc"
19 class Beam_performer : public Performer
22 TRANSLATOR_DECLARATIONS (Beam_performer);
25 void start_translation_timestep ();
26 void process_music ();
27 void set_melisma (bool);
28 DECLARE_TRANSLATOR_LISTENER (beam);
30 Stream_event *start_ev_;
31 Stream_event *now_stop_ev_;
35 Beam_performer::Beam_performer ()
43 Beam_performer::process_music ()
59 Beam_performer::set_melisma (bool ml)
61 SCM b = get_property ("autoBeaming");
63 context ()->set_property ("beamMelismaBusy", ml ? SCM_BOOL_T : SCM_BOOL_F);
67 Beam_performer::start_translation_timestep ()
73 IMPLEMENT_TRANSLATOR_LISTENER (Beam_performer, beam);
75 Beam_performer::listen_beam (Stream_event *ev)
77 Direction d = to_dir (ev->get_property ("span-direction"));
85 ADD_TRANSLATOR (Beam_performer, "", "",
86 "beam-event", "", "");