X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fdynamic-engraver.cc;h=ee6518118f89c05697333deb102981cfe7e4122d;hb=19fe8463d4ce81ea1c11c2cf0b65e4bc4151c527;hp=5de751602481e8e732951b1ceabbc8f6b1b5320c;hpb=62f3c5d4ddb492bc771f2d25b971cd3c9f38676d;p=lilypond.git diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index 5de7516024..ee6518118f 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -1,13 +1,25 @@ /* - dynamic-engraver.cc -- implement Dynamic_engraver + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1997--2010 Han-Wen Nienhuys - (c) 1997--2007 Han-Wen Nienhuys + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with LilyPond. If not, see . */ #include "axis-group-interface.hh" #include "context.hh" +#include "engraver.hh" #include "dimensions.hh" #include "directional-element-interface.hh" #include "engraver.hh" @@ -176,6 +188,7 @@ Dynamic_engraver::process_music () } finished_cresc_ = cresc_; + announce_end_grob (finished_cresc_, SCM_EOL); cresc_ = 0; current_cresc_ev_ = 0; } @@ -252,7 +265,7 @@ Dynamic_engraver::process_music () cresc_->set_property ("style", s); context ()->set_property ((start_type + "Spanner").c_str (), SCM_EOL); - s = get_property ((start_type + "Text").c_str ()); + s = get_property ((start_type + "Text").c_str ()); if (Text_interface::is_markup (s)) { cresc_->set_property ("text", s); @@ -276,7 +289,6 @@ Dynamic_engraver::process_music () cresc_->set_bound (LEFT, script_); add_bound_item (line_spanner_, cresc_->get_bound (LEFT)); } - Axis_group_interface::add_element (line_spanner_, cresc_); } } @@ -335,18 +347,10 @@ Dynamic_engraver::typeset_all () { if (finished_cresc_) { - bool use_bar = to_boolean (get_property ("hairpinToBarline")) - && scm_is_string (get_property ("whichBar")) - && !script_ev_; - - - if (!finished_cresc_->get_bound (RIGHT) - || use_bar) + if (!finished_cresc_->get_bound (RIGHT)) { - Grob *column_bound = unsmob_grob (use_bar - ? get_property ("currentCommandColumn") - : get_property ("currentMusicalColumn")); + Grob *column_bound = unsmob_grob (get_property ("currentMusicalColumn")); finished_cresc_->set_bound (RIGHT, script_ ? script_ @@ -390,7 +394,6 @@ Dynamic_engraver::typeset_all () finished_line_spanner_->set_bound (RIGHT, ci); finished_line_spanner_->set_bound (LEFT, ci); } - finished_line_spanner_ = 0; } } @@ -437,15 +440,20 @@ ADD_ACKNOWLEDGER (Dynamic_engraver, note_column); ADD_TRANSLATOR (Dynamic_engraver, /* doc */ - "This engraver creates hairpins, dynamic texts, and their vertical\n" - "alignments. The symbols are collected onto a DynamicLineSpanner grob\n" - "which takes care of vertical positioning. ", + "Create hairpins, dynamic texts, and their vertical" + " alignments. The symbols are collected onto a" + " @code{DynamicLineSpanner} grob which takes care of vertical" + " positioning.", /* create */ "DynamicLineSpanner " + "DynamicTextSpanner " "DynamicText " - "Hairpin " - "TextSpanner ", + "Hairpin ", + + /* read */ + "", - /* read */ "", - /* write */ ""); + /* write */ + "" + );