X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fligature-bracket-engraver.cc;h=6f8d9e97cc0c84a675fe6daf268468950d75124d;hb=73e40a0dd515fd996ee0918dd96b42a754f623d5;hp=59e7687907ef9b88912135c4c6b056580a7c5b0b;hpb=fac0d2eb9cbaf9ae45f36a7e1aa651d25932d459;p=lilypond.git diff --git a/lily/ligature-bracket-engraver.cc b/lily/ligature-bracket-engraver.cc index 59e7687907..6f8d9e97cc 100644 --- a/lily/ligature-bracket-engraver.cc +++ b/lily/ligature-bracket-engraver.cc @@ -7,6 +7,8 @@ */ #include "ligature-engraver.hh" +#include "note-column.hh" +#include "tuplet-bracket.hh" #include "spanner.hh" #include "warn.hh" @@ -14,6 +16,7 @@ class Ligature_bracket_engraver : public Ligature_engraver { protected: virtual Spanner *create_ligature_spanner (); + virtual void acknowledge_grob (Grob_info); public: TRANSLATOR_DECLARATIONS(Ligature_bracket_engraver); @@ -33,10 +36,23 @@ Ligature_bracket_engraver::create_ligature_spanner () return new Spanner (get_property ("LigatureBracket")); } +void +Ligature_bracket_engraver::acknowledge_grob (Grob_info info) +{ + if (ligature_) + { + if (Note_column::has_interface (info.grob_)) + { + Tuplet_bracket::add_column (ligature_, dynamic_cast (info.grob_)); + } + else Ligature_engraver::acknowledge_grob (info); + } +} + ENTER_DESCRIPTION(Ligature_bracket_engraver, /* descr */ "Handles Ligature_events by engraving Ligature brackets.", -/* creats*/ "LigatureBracket", +/* creats*/ "TupletBracket", /* accepts */ "ligature-event abort-event", -/* acks */ "ligature-head-interface rest-interface", +/* acks */ "ligature-head-interface rest-interface note-column-interface", /* reads */ "", /* write */ "");