on rest.
* ly/engraver-init.ly: add Melody_engraver
* lily/melody-spanner.cc (calc_neutral_stem_direction):
* lily/melody-engraver.cc: new file. Acknowledge stems for
interpolated stem directions.
* lily/melody-spanner.cc: new file. Interpolate stem directions.
* lily/slur-engraver.cc (acknowledge_extra_object): remove
DynamicText hardcoding.
2005-12-23 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem
+ on rest.
+
+ * ly/engraver-init.ly: add Melody_engraver
+
* lily/beam.cc (calc_direction): use default-direction
iso. get_default_direction()
@itemize @bullet
+@item
+Stem direction on the center staff line are now interpolated between
+neighbors. This results in less stem direction changes, leading to a
+more even typography. For example,
+
+
+
@item
Slurs now avoid @code{TupletNumber}s, and tuplet numbers may enter the
staff.
#include "item.hh"
#include "melody-spanner.hh"
+#include "pointer-group-interface.hh"
/**
Make stems upon receiving noteheads.
void
Melody_engraver::acknowledge_stem (Grob_info info)
{
- if (!melody_item_)
- melody_item_ = make_item ("MelodyItem", info.grob ()->self_scm ());
-
- Melody_spanner::add_stem (melody_item_, info.grob ());
+ extract_grob_set (info.grob (), "rests", rests);
+ if (rests.size ())
+ melody_item_ = 0;
+ else
+ {
+ if (!melody_item_)
+ melody_item_ = make_item ("MelodyItem", info.grob ()->self_scm ());
+
+ Melody_spanner::add_stem (melody_item_, info.grob ());
+ }
}
-
#include "translator.icc"
ADD_ACKNOWLEDGER (Melody_engraver, stem);
ADD_TRANSLATOR (Melody_engraver,
let's take item for now.
*/
-
+
/*
Interpolate stem directions for neutral stems.
*/
\context {
\type "Engraver_group"
- \name Voice
+ \name "Voice"
\description "
Corresponds to a voice on a staff. This context handles the
\consists "Glissando_engraver"
\consists "Ligature_bracket_engraver"
\consists "Breathing_sign_engraver"
- %% \consists "Rest_engraver"
\consists "Note_heads_engraver"
\consists "Rest_engraver"
+ \consists "Melody_engraver"
\consists "Stem_engraver"
\consists "Beam_engraver"