X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finstrument-name-engraver.cc;h=d3ee12950e421888c65c0a19eb75169a43f45503;hb=7a6cc2409f4640656fb48c193f0b009be8016ec0;hp=000058d629622eccb64834e6516d6d124a6a56bd;hpb=cd8d085d0ca2487e965483554850234931156e9a;p=lilypond.git diff --git a/lily/instrument-name-engraver.cc b/lily/instrument-name-engraver.cc index 000058d629..d3ee12950e 100644 --- a/lily/instrument-name-engraver.cc +++ b/lily/instrument-name-engraver.cc @@ -3,11 +3,10 @@ source file of the GNU LilyPond music typesetter - (c) 2000--2006 Han-Wen Nienhuys + (c) 2000--2009 Han-Wen Nienhuys */ #include "engraver.hh" -#include "spanner.hh" #include "pointer-group-interface.hh" #include "side-position-interface.hh" #include "axis-group-interface.hh" @@ -91,6 +90,15 @@ Instrument_name_engraver::start_spanner () text_spanner_->set_bound (LEFT, col); text_spanner_->set_property ("text", short_text_); text_spanner_->set_property ("long-text", long_text_); + + /* + UGH, should handle this in Score_engraver. + */ + Grob *system = unsmob_grob (get_property ("rootSystem")); + if (system) + Axis_group_interface::add_element (system, text_spanner_); + else + text_spanner_->programming_error ("cannot find root system"); } @@ -99,6 +107,11 @@ Instrument_name_engraver::acknowledge_axis_group (Grob_info info) { if (dynamic_cast (info.grob ()) && Axis_group_interface::has_axis (info.grob (), Y_AXIS) + + /* ugh. */ + + && !info.grob ()->internal_has_interface (ly_symbol2scm ("dynamic-interface")) + && !info.grob ()->internal_has_interface (ly_symbol2scm ("piano-pedal-interface")) && (!Align_interface::has_interface (info.grob ()))) { axis_groups_.push_back (info.grob ()); @@ -125,16 +138,6 @@ Instrument_name_engraver::stop_spanner () Pointer_group_interface::set_ordered (text_spanner_, ly_symbol2scm ("elements"), false); - System *system = get_root_system (text_spanner_); - - /* - UGH, should handle this in Score_engraver. - */ - if (system) - Axis_group_interface::add_element (system, text_spanner_); - else - text_spanner_->programming_error ("can't find root system"); - text_spanner_ = 0; } @@ -143,22 +146,19 @@ Instrument_name_engraver::stop_spanner () ADD_ACKNOWLEDGER (Instrument_name_engraver, axis_group); ADD_TRANSLATOR (Instrument_name_engraver, - /* doc */ - "Creates a system start text for instrument or vocal names.", + "Create a system start text for instrument or vocal names.", /* create */ "InstrumentName ", - /* accept */ - "", - /* read */ "currentCommandColumn " "shortInstrumentName " "instrumentName " "shortVocalName " - "vocalName " - , + "vocalName ", - /* write */ ""); + /* write */ + "" + );