X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftype-swallow-translator.cc;h=9aeae1ee6d6c6b2186f4d7b6cabb09953132c2a6;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=1f5a9ca00a6366e2ad8a438940a11c812291bdda;hpb=df4a7c4a55148e065d878dcc2f7e09ac27ea9c32;p=lilypond.git diff --git a/lily/type-swallow-translator.cc b/lily/type-swallow-translator.cc index 1f5a9ca00a..9aeae1ee6d 100644 --- a/lily/type-swallow-translator.cc +++ b/lily/type-swallow-translator.cc @@ -3,21 +3,90 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2000 Han-Wen Nienhuys + (c) 1997--2008 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_str_) - return true; - return false; } +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 */ + "" + ); -DECLARE_REQUEST_SWALLOWER(Skip_req);