#include "engraver.hh"
#include "axis-group-interface.hh"
+#include "item.hh"
#include "note-head.hh"
#include "pitch-interval.hh"
#include "pointer-group-interface.hh"
#include "protected-scm.hh"
#include "side-position-interface.hh"
#include "staff-symbol-referencer.hh"
+#include "stream-event.hh"
#include "translator.icc"
void
Ambitus_engraver::acknowledge_note_head (Grob_info info)
{
- Music *nr = info.music_cause ();
- if (nr && nr->is_mus_type ("note-event"))
+ Stream_event *nr = info.event_cause ();
+ if (nr && nr->in_event_class ("note-event"))
{
Pitch pitch = *unsmob_pitch (nr->get_property ("pitch"));
pitch_interval_.add_point (pitch);
handle = scm_assoc (scm_from_int (p.get_notename ()),
start_key_sig_);
- int sig_alter = (handle != SCM_BOOL_F)
- ? scm_to_int (scm_cdr (handle)) : 0;
+ Rational sig_alter = (handle != SCM_BOOL_F)
+ ? ly_scm2rational (scm_cdr (handle)) : Rational (0);
if (sig_alter == p.get_alteration ())
{
}
else
{
- SCM l = scm_list_1 (scm_from_int (p.get_alteration ()));
+ SCM l = scm_list_1 (scm_from_int (int (Real (Rational (4) * p.get_alteration ()))));
accidentals_[d]->set_property ("accidentals", l);
}
}
ADD_ACKNOWLEDGER (Ambitus_engraver, note_head);
ADD_TRANSLATOR (Ambitus_engraver,
/* doc */ "",
- /* create */ "Ambitus AmbitusLine AmbitusNoteHead AmbitusAccidental",
- /* accept */ "",
+ /* create */
+ "Ambitus "
+ "AmbitusLine "
+ "AmbitusNoteHead "
+ "AmbitusAccidental",
/* read */ "",
/* write */ "");