X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ftype-swallow-translator.cc;h=d69037c7b24c28cce6870088ac13f0bb7bbcdc13;hb=ba0c4212f767b9485a37a7cd1eab6564535ad40d;hp=e16b9e316a4a53402cab16c385e64ce7788b652f;hpb=fc3e875d6bf06f0680e897faffdcab36ad975a03;p=lilypond.git diff --git a/lily/type-swallow-translator.cc b/lily/type-swallow-translator.cc index e16b9e316a..d69037c7b2 100644 --- a/lily/type-swallow-translator.cc +++ b/lily/type-swallow-translator.cc @@ -3,21 +3,67 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2001 Han-Wen Nienhuys + (c) 1997--2006 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 () +{ +} + +ADD_TRANSLATOR (Skip_event_swallow_translator, + "Swallow \\skip.", + "", + "", + ""); + +Rest_swallow_translator::Rest_swallow_translator (){} + +ADD_TRANSLATOR (Rest_swallow_translator, + "Swallow rest", + "", + "", + ""); + +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 () { - if (classname (r) == swallow_str_) - return true; - return false; } +ADD_TRANSLATOR (Note_swallow_translator, + "Swallow notes", + "", + "", + ""); -DECLARE_REQUEST_SWALLOWER (Skip_req);