X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fhorizontal-bracket-engraver.cc;h=cd46817904db5726a5ed2dee7026b4fd1a2649e6;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=2f67825a06ab2fa3438bca225d9ee57ebbff2340;hpb=1c846b2c2348b4e0ca4a3c2e8fb267047ba2d203;p=lilypond.git diff --git a/lily/horizontal-bracket-engraver.cc b/lily/horizontal-bracket-engraver.cc index 2f67825a06..cd46817904 100644 --- a/lily/horizontal-bracket-engraver.cc +++ b/lily/horizontal-bracket-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2002--2011 Han-Wen Nienhuys + Copyright (C) 2002--2015 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 @@ -19,12 +19,12 @@ #include "engraver.hh" #include "international.hh" +#include "item.hh" #include "note-column.hh" #include "pointer-group-interface.hh" #include "side-position-interface.hh" -#include "stream-event.hh" #include "spanner.hh" -#include "item.hh" +#include "stream-event.hh" #include "translator.icc" @@ -32,8 +32,8 @@ class Horizontal_bracket_engraver : public Engraver { public: TRANSLATOR_DECLARATIONS (Horizontal_bracket_engraver); - vector bracket_stack_; - vector events_; + vector bracket_stack_; + vector events_; vsize pop_count_; vsize push_count_; @@ -43,22 +43,6 @@ public: DECLARE_TRANSLATOR_LISTENER (note_grouping); }; -ADD_ACKNOWLEDGER (Horizontal_bracket_engraver, note_column); -ADD_TRANSLATOR (Horizontal_bracket_engraver, - /* doc */ - "Create horizontal brackets over notes for musical analysis" - " purposes.", - - /* create */ - "HorizontalBracket ", - - /* read */ - "", - - /* write */ - "" - ); - Horizontal_bracket_engraver::Horizontal_bracket_engraver () { pop_count_ = 0; @@ -75,7 +59,7 @@ Horizontal_bracket_engraver::listen_note_grouping (Stream_event *ev) { pop_count_++; if (pop_count_ > bracket_stack_.size ()) - ev->origin ()->warning (_ ("do not have that many brackets")); + ev->origin ()->warning (_ ("do not have that many brackets")); } else { @@ -94,9 +78,9 @@ Horizontal_bracket_engraver::acknowledge_note_column (Grob_info gi) { Side_position_interface::add_support (bracket_stack_[i], gi.grob ()); Pointer_group_interface::add_grob (bracket_stack_[i], - ly_symbol2scm ("columns"), gi.grob ()); + ly_symbol2scm ("columns"), gi.grob ()); add_bound_item (bracket_stack_[i], - gi.grob ()); + gi.grob ()); } } @@ -108,8 +92,8 @@ Horizontal_bracket_engraver::process_music () Spanner *sp = make_spanner ("HorizontalBracket", events_[k]->self_scm ()); for (vsize i = 0; i < bracket_stack_.size (); i++) - /* sp is the smallest, it should be added to the bigger brackets. */ - Side_position_interface::add_support (bracket_stack_[i], sp); + /* sp is the smallest, it should be added to the bigger brackets. */ + Side_position_interface::add_support (bracket_stack_[i], sp); bracket_stack_.push_back (sp); } } @@ -117,10 +101,26 @@ Horizontal_bracket_engraver::process_music () void Horizontal_bracket_engraver::stop_translation_timestep () { - for (int i = pop_count_; i--;) + for (vsize i = pop_count_; i--;) if (bracket_stack_.size ()) bracket_stack_.pop_back (); pop_count_ = 0; push_count_ = 0; + events_.clear (); } +ADD_ACKNOWLEDGER (Horizontal_bracket_engraver, note_column); +ADD_TRANSLATOR (Horizontal_bracket_engraver, + /* doc */ + "Create horizontal brackets over notes for musical analysis" + " purposes.", + + /* create */ + "HorizontalBracket ", + + /* read */ + "", + + /* write */ + "" + );