X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Ftype-swallow-translator.cc;h=87510de0d4ec67788a8218242311a5784692920c;hb=a1425535784d3332f1726c2ccbc7b4b975b79922;hp=abc1540d77c567dd4e5029f36d535bec53c36cdb;hpb=94375d04f45b415ad705fd444fdb344416f116d9;p=lilypond.git diff --git a/lily/type-swallow-translator.cc b/lily/type-swallow-translator.cc index abc1540d77..87510de0d4 100644 --- a/lily/type-swallow-translator.cc +++ b/lily/type-swallow-translator.cc @@ -3,19 +3,67 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2001 Han-Wen Nienhuys + (c) 1997--2007 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; } -DECLARE_REQUEST_SWALLOWER(Skip_req); +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 () +{ +} + +ADD_TRANSLATOR (Note_swallow_translator, + "Swallow notes", + "", + "", + + ""); +