X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fgregorian-ligature-engraver.hh;h=f2a1334ae93c89d834700bb7b3a8959f2e34ccbe;hb=5d84bfad4626892bcffd05adcced53c8a2329047;hp=c70a18e46b5d26387f94a15e18847fb509578cb2;hpb=7e72a1e50e94a7f9738d62599de79fe7745f600c;p=lilypond.git diff --git a/lily/include/gregorian-ligature-engraver.hh b/lily/include/gregorian-ligature-engraver.hh index c70a18e46b..f2a1334ae9 100644 --- a/lily/include/gregorian-ligature-engraver.hh +++ b/lily/include/gregorian-ligature-engraver.hh @@ -1,11 +1,21 @@ -/* - gregorian-ligature-engraver.hh -- declare Gregorian_ligature_engraver - - source file of the GNU LilyPond music typesetter - - (c) 2003--2004 Juergen Reuter - - */ +/* + This file is part of LilyPond, the GNU music typesetter. + + Copyright (C) 2003--2015 Juergen Reuter + + 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 . +*/ #ifndef GREGORIAN_LIGATURE_ENGRAVER_HH #define GREGORIAN_LIGATURE_ENGRAVER_HH @@ -13,17 +23,23 @@ class Gregorian_ligature_engraver : public Coherent_ligature_engraver { - Music *pes_or_flexa_req_; + Stream_event *pes_or_flexa_req_; public: - TRANSLATOR_DECLARATIONS(Gregorian_ligature_engraver); + // no TRANSLATOR_DECLARATIONS (Gregorian_ligature_engraver) needed + // since this class is abstract + TRANSLATOR_INHERIT(Coherent_ligature_engraver); + DECLARE_TRANSLATOR_CALLBACKS (Gregorian_ligature_engraver); protected: - virtual bool try_music (Music *); - virtual void build_ligature (Spanner *ligature, Array primitives); + Gregorian_ligature_engraver (Context *); + + void listen_pes_or_flexa (Stream_event *ev); + virtual void build_ligature (Spanner *ligature, + vector const &primitives); virtual void transform_heads (Spanner *ligature, - Array primitives); /* abstract method */ - virtual void stop_translation_timestep (); + vector const &primitives) = 0; + void stop_translation_timestep (); }; #endif // GREGORIAN_LIGATURE_ENGRAVER_HH