X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftype-swallow-translator.cc;h=19d26eaa79c05c66e3c912ba74d8e71f027b94e4;hb=3dd7c6f29c9ca494976f69736b470b6300135099;hp=b483c39c18eedb551a15835e9fd336b0eede815d;hpb=a6ee9dcd388111e842064a8d46ab06c4897a00d2;p=lilypond.git diff --git a/lily/type-swallow-translator.cc b/lily/type-swallow-translator.cc index b483c39c18..19d26eaa79 100644 --- a/lily/type-swallow-translator.cc +++ b/lily/type-swallow-translator.cc @@ -3,19 +3,90 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2002 Han-Wen Nienhuys + (c) 1997--2009 Han-Wen Nienhuys */ -#include "type-swallow-translator.hh" -#include "musical-request.hh" +#include "translator.hh" +#include "music.hh" +#include "translator.icc" -bool -Type_swallow_translator::try_music (Music*r) +class Skip_event_swallow_translator : public Translator +{ +protected: + virtual bool try_music (Music *) { return true; } + +public: + TRANSLATOR_DECLARATIONS (Skip_event_swallow_translator); +}; + +class Rest_swallow_translator : public Translator +{ +protected: + virtual bool try_music (Music *) { return true; } + +public: + TRANSLATOR_DECLARATIONS (Rest_swallow_translator); +}; + +Skip_event_swallow_translator::Skip_event_swallow_translator () { - if (classname (r) == swallow_string_) - return true; - return false; } -DECLARE_REQUEST_SWALLOWER(Skip_req); +ADD_TRANSLATOR (Skip_event_swallow_translator, + /* doc */ + "Swallow @code{\\skip}.", + + /* create */ + "", + + /* read */ + "", + + /* write */ + "" + ); + +Rest_swallow_translator::Rest_swallow_translator (){} + +ADD_TRANSLATOR (Rest_swallow_translator, + /* doc */ + "Swallow rest.", + + /* create */ + "", + + /* read */ + "", + + /* write */ + "" + ); + +class Note_swallow_translator : public Translator +{ +protected: + virtual bool try_music (Music *) { return true; } + +public: + TRANSLATOR_DECLARATIONS (Note_swallow_translator); +}; + +Note_swallow_translator::Note_swallow_translator () +{ +} + +ADD_TRANSLATOR (Note_swallow_translator, + /* doc */ + "Swallow notes.", + + /* create */ + "", + + /* read */ + "", + + /* write */ + "" + ); +