From: Han-Wen Nienhuys Date: Fri, 23 Dec 2005 16:21:46 +0000 (+0000) Subject: * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem X-Git-Tag: release/2.7.25~1 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=7600f31342bd7b7f7b1a3d56cd6ed61dc0ebdda4;p=lilypond.git * lily/melody-engraver.cc (acknowledge_stem): restart MelodyItem 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. --- diff --git a/ChangeLog b/ChangeLog index 3a73ce87e4..4a188a14db 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2005-12-23 Han-Wen Nienhuys + * 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() diff --git a/Documentation/topdocs/NEWS.tely b/Documentation/topdocs/NEWS.tely index f503ba1026..9e96c15152 100644 --- a/Documentation/topdocs/NEWS.tely +++ b/Documentation/topdocs/NEWS.tely @@ -45,6 +45,13 @@ This document is also available in @uref{NEWS.pdf,PDF}. @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. diff --git a/lily/melody-engraver.cc b/lily/melody-engraver.cc index 5c9ee1c826..557da5a012 100644 --- a/lily/melody-engraver.cc +++ b/lily/melody-engraver.cc @@ -11,6 +11,7 @@ #include "item.hh" #include "melody-spanner.hh" +#include "pointer-group-interface.hh" /** Make stems upon receiving noteheads. @@ -33,13 +34,18 @@ Melody_engraver::Melody_engraver () 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, diff --git a/lily/melody-spanner.cc b/lily/melody-spanner.cc index fed63657cf..d5cb6007ff 100644 --- a/lily/melody-spanner.cc +++ b/lily/melody-spanner.cc @@ -16,7 +16,7 @@ let's take item for now. */ - + /* Interpolate stem directions for neutral stems. */ diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 6bc9228970..b945c759cc 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -160,7 +160,7 @@ contained staves are not connected vertically." \context { \type "Engraver_group" - \name Voice + \name "Voice" \description " Corresponds to a voice on a staff. This context handles the @@ -186,9 +186,9 @@ contained staves are not connected vertically." \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"