X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fnew-dynamic-engraver.cc;h=525823016668b2e4bd6007c5524b8bd3a5cc1ddc;hb=69bfbbd345ec788aef31315b6174cd15a2e3a48e;hp=0db0587351ff1275901216854923d650510c2b4e;hpb=5457e0162783d5bbcd549857a244d949e93b5ca1;p=lilypond.git diff --git a/lily/new-dynamic-engraver.cc b/lily/new-dynamic-engraver.cc index 0db0587351..5258230166 100644 --- a/lily/new-dynamic-engraver.cc +++ b/lily/new-dynamic-engraver.cc @@ -3,20 +3,22 @@ source file of the GNU LilyPond music typesetter - (c) 2008 Han-Wen Nienhuys + (c) 2008--2009 Han-Wen Nienhuys */ #include "engraver.hh" +#include "hairpin.hh" +#include "international.hh" #include "item.hh" -#include "pointer-group-interface.hh" -#include "text-interface.hh" #include "note-column.hh" +#include "pointer-group-interface.hh" #include "self-alignment-interface.hh" #include "spanner.hh" #include "stream-event.hh" +#include "text-interface.hh" #include "translator.icc" @@ -122,9 +124,9 @@ New_dynamic_engraver::process_music () if (cresc_type != ly_symbol2scm ("hairpin")) { // Fixme: should put value in error message. - ly_display_scm (cresc_type); + string as_string = ly_scm_write_string (cresc_type); current_span_event_ - ->origin()->warning ("unknown crescendo style; defaulting to hairpin."); + ->origin()->warning (_f ("unknown crescendo style: %s\ndefaulting to hairpin.", as_string.c_str())); } current_spanner_ = make_spanner ("Hairpin", current_span_event_->self_scm ()); @@ -152,12 +154,14 @@ New_dynamic_engraver::process_music () if (current_spanner_) { current_spanner_->set_bound (LEFT, script_); - set_nested_property (current_spanner_, - scm_list_3 (ly_symbol2scm ("bound-details"), - ly_symbol2scm ("left"), - ly_symbol2scm ("attach-dir") - ), - scm_from_int (RIGHT)); + + if (!Hairpin::has_interface (current_spanner_)) + set_nested_property (current_spanner_, + scm_list_3 (ly_symbol2scm ("bound-details"), + ly_symbol2scm ("left"), + ly_symbol2scm ("attach-dir") + ), + scm_from_int (RIGHT)); } } @@ -216,7 +220,11 @@ ADD_TRANSLATOR (New_dynamic_engraver, "TextSpanner ", /* read */ - "currentMusicalColumn x", + "crescendoSpanner " + "crescendoText " + "currentMusicalColumn " + "decrescendoSpanner " + "decrescendoText ", /* write */ ""