*/
#include "engraver.hh"
-#include "event.hh"
#include "beam.hh"
#include "stem.hh"
#include "warn.hh"
Beam_engraver::Beam_engraver ()
{
beam_ = 0;
- finished_beam_ =0;
- finished_beam_info_=0;
- beam_info_ =0;
+ finished_beam_ = 0;
+ finished_beam_info_ = 0;
+ beam_info_ = 0;
now_stop_ev_ = 0;
start_ev_ = 0;
- prev_start_ev_ =0;
+ prev_start_ev_ = 0;
}
bool
{
start_ev_ = m;
}
- else if (d==STOP)
+ else if (d == STOP)
{
now_stop_ev_ = m;
}
{
SCM b = get_property ("autoBeaming");
if (!to_boolean (b))
- daddy_context_->set_property ("beamMelismaBusy", ml ? SCM_BOOL_T :SCM_BOOL_F);
+ context ()->set_property ("beamMelismaBusy", ml ? SCM_BOOL_T :SCM_BOOL_F);
}
void
set_melisma (true);
prev_start_ev_ = start_ev_;
- beam_ = make_spanner ("Beam");
- SCM smp = get_property ("measurePosition");
- Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
+ beam_ = make_spanner ("Beam", start_ev_->self_scm ());
+ Moment mp (robust_scm2moment (get_property ("measurePosition"), Moment (0)));
beam_start_location_ = mp;
beam_start_mom_ = now_mom ();
beam_info_ = new Beaming_info_list;
/* urg, must copy to Auto_beam_engraver too */
- announce_grob (beam_, start_ev_->self_scm ());
}
}
{
finished_beam_info_->beamify (beat_length_, subdivide_beams_);
Beam::set_beaming (finished_beam_, finished_beam_info_);
- typeset_grob (finished_beam_);
+
delete finished_beam_info_;
- finished_beam_info_ =0;
+ finished_beam_info_ = 0;
finished_beam_ = 0;
}
}
set_melisma (true);
subdivide_beams_ = to_boolean (get_property ("subdivideBeams"));
- beat_length_ = *unsmob_moment (get_property ("beatLength"));
+ beat_length_ = robust_scm2moment (get_property ("beatLength"), Moment (1,4));
}
}
-ENTER_DESCRIPTION (Beam_engraver,
+ADD_TRANSLATOR (Beam_engraver,
/* descr */ "Handles Beam events by engraving Beams. If omitted, then notes will be "
"printed with flags instead of beams.",
/* creats*/ "Beam",
-ENTER_DESCRIPTION (Grace_beam_engraver,
+ADD_TRANSLATOR (Grace_beam_engraver,
/* descr */ "Handles Beam events by engraving Beams. If omitted, then notes will "
"be printed with flags instead of beams. Only engraves beams when we "
" are at grace points in time. "