X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fphrasing-slur-engraver.cc;h=c53d242c8c30b2dcfd3103050a393668f26f6d7e;hb=7c36dbb1834c7c68e4b94777241de3ea02971aca;hp=6d9aac7af68d64fb5b7220acc2ebccb0f37435d0;hpb=ffd278ab691a1ada9b0ff0f8fd7548ab791f1647;p=lilypond.git diff --git a/lily/phrasing-slur-engraver.cc b/lily/phrasing-slur-engraver.cc index 6d9aac7af6..c53d242c8c 100644 --- a/lily/phrasing-slur-engraver.cc +++ b/lily/phrasing-slur-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 1997--2012 Han-Wen Nienhuys + Copyright (C) 1997--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 @@ -34,11 +34,14 @@ class Phrasing_slur_engraver : public Slur_proto_engraver { protected: - DECLARE_TRANSLATOR_LISTENER (phrasing_slur); - DECLARE_ACKNOWLEDGER (slur); + void listen_phrasing_slur (Stream_event *); + void listen_note (Stream_event *); + void acknowledge_slur (Grob_info); public: + SCM event_symbol (); TRANSLATOR_DECLARATIONS (Phrasing_slur_engraver); + TRANSLATOR_INHERIT (Slur_proto_engraver); }; Phrasing_slur_engraver::Phrasing_slur_engraver () : @@ -46,11 +49,23 @@ Phrasing_slur_engraver::Phrasing_slur_engraver () : { } -IMPLEMENT_TRANSLATOR_LISTENER (Phrasing_slur_engraver, phrasing_slur); +SCM +Phrasing_slur_engraver::event_symbol () +{ + // Need a string constant for memoization + return ly_symbol2scm ("phrasing-slur-event"); +} + void Phrasing_slur_engraver::listen_phrasing_slur (Stream_event *ev) { - internal_listen_slur (ev); + Slur_proto_engraver::listen_slur (ev); +} + +void +Phrasing_slur_engraver::listen_note (Stream_event *ev) +{ + Slur_proto_engraver::listen_note (ev); } void @@ -59,15 +74,22 @@ Phrasing_slur_engraver::acknowledge_slur (Grob_info info) acknowledge_extra_object (info); } -ADD_ACKNOWLEDGER (Phrasing_slur_engraver, inline_accidental); -ADD_ACKNOWLEDGER (Phrasing_slur_engraver, fingering) -ADD_ACKNOWLEDGER (Phrasing_slur_engraver, note_column); -ADD_ACKNOWLEDGER (Phrasing_slur_engraver, slur); -ADD_ACKNOWLEDGER (Phrasing_slur_engraver, script); -ADD_ACKNOWLEDGER (Phrasing_slur_engraver, dots); -ADD_ACKNOWLEDGER (Phrasing_slur_engraver, text_script); -ADD_END_ACKNOWLEDGER (Phrasing_slur_engraver, tie); -ADD_ACKNOWLEDGER (Phrasing_slur_engraver, tuplet_number); + +void +Phrasing_slur_engraver::boot () +{ + ADD_LISTENER (Phrasing_slur_engraver, phrasing_slur); + ADD_LISTENER (Phrasing_slur_engraver, note); + ADD_ACKNOWLEDGER (Slur_proto_engraver, inline_accidental); + ADD_ACKNOWLEDGER (Slur_proto_engraver, fingering) + ADD_ACKNOWLEDGER (Slur_proto_engraver, note_column); + ADD_ACKNOWLEDGER (Phrasing_slur_engraver, slur); + ADD_ACKNOWLEDGER (Slur_proto_engraver, script); + ADD_ACKNOWLEDGER (Slur_proto_engraver, dots); + ADD_ACKNOWLEDGER (Slur_proto_engraver, text_script); + ADD_END_ACKNOWLEDGER (Slur_proto_engraver, tie); + ADD_ACKNOWLEDGER (Slur_proto_engraver, tuplet_number); +} ADD_TRANSLATOR (Phrasing_slur_engraver, /* doc */