source file of the GNU LilyPond music typesetter
- (c) 1999--2003 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 1999--2004 Jan Nieuwenhuizen <janneke@gnu.org>
*/
protected:
virtual void stop_translation_timestep ();
virtual void start_translation_timestep ();
+ virtual void process_music ();
virtual void finalize ();
virtual void acknowledge_grob (Grob_info);
virtual void process_acknowledged_grobs ();
Beaming_info_list*finished_grouping_;
};
+void
+Auto_beam_engraver::process_music ()
+{
+ if (gh_string_p (get_property ("whichBar")))
+ {
+ consider_end (shortest_mom_);
+ junk_beam ();
+ }
+}
Auto_beam_engraver::Auto_beam_engraver ()
void
Auto_beam_engraver::begin_beam ()
{
- assert (!stems_);
+ if (stems_ || grouping_ )
+ {
+ programming_error ("already have autobeam");
+ return;
+ }
+
stems_ = new Link_array<Item>;
- assert (!grouping_);
grouping_ = new Beaming_info_list;
beam_settings_ = get_property ("Beam");
beat_length_ = *unsmob_moment (get_property ("beatLength"));
}
-
void
Auto_beam_engraver::junk_beam ()
{
- assert (stems_);
+ if (!stems_)
+ return ;
delete stems_;
stems_ = 0;
junk_beam ();
}
else
-
{
finished_beam_ = create_beam ();
if (finished_beam_)