event->set_property ("pitch", pits);
event->set_property ("duration", note_dur.smobbed_copy ());
+ event->set_property ("length", Moment (note_dur.get_length ()).smobbed_copy ());
event->set_property ("duration-log", scm_from_int (note_dur.duration_log ()));
Item *note = make_note_head (event);
}
left_to_do_ -= note_dur.get_length ();
-
if (left_to_do_)
- get_global_context ()->add_moment_to_process (now.main_part_ + left_to_do_);
+ get_global_context ()->add_moment_to_process (now.main_part_ + note_dur.get_length());
/*
don't do complicated arithmetic with grace notes.
*/
note_events_.clear ();
prev_notes_.clear ();
}
+ context ()->set_property ("completionBusy",
+ ly_bool2scm (note_events_.size ()));
}
Completion_heads_engraver::Completion_heads_engraver ()
}
ADD_TRANSLATOR (Completion_heads_engraver,
- /* doc */ "This engraver replaces "
- "@code{Note_heads_engraver}. It plays some trickery to "
- "break long notes and automatically tie them into the next measure.",
+ /* doc */
+ "This engraver replaces @code{Note_heads_engraver}. It plays"
+ " some trickery to break long notes and automatically tie them"
+ " into the next measure.",
+
/* create */
"NoteHead "
"Dots "
- "Tie",
+ "Tie ",
+
/* read */
"middleCPosition "
"measurePosition "
- "measureLength",
+ "measureLength ",
- /* write */ "");
+ /* write */
+ "completionBusy "
+ );