]> git.donarmstrong.com Git - lilypond.git/commitdiff
oops. Re-add Tweak_engraver
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 10 Jan 2007 02:25:00 +0000 (03:25 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 10 Jan 2007 02:25:00 +0000 (03:25 +0100)
lily/tweak-engraver.cc [new file with mode: 0644]
ly/engraver-init.ly

diff --git a/lily/tweak-engraver.cc b/lily/tweak-engraver.cc
new file mode 100644 (file)
index 0000000..c87902f
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+  tweak-engraver.cc -- implement Tweak_engraver
+
+  source file of the GNU LilyPond music typesetter
+
+  (c) 2005--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+*/
+
+#include "engraver.hh"
+
+#include "grob.hh"
+#include "stream-event.hh"
+#include "translator.icc"
+
+class Tweak_engraver : public Engraver
+{
+  TRANSLATOR_DECLARATIONS (Tweak_engraver);
+
+protected:
+  DECLARE_ACKNOWLEDGER (grob);
+};
+
+Tweak_engraver::Tweak_engraver()
+{
+}
+
+void
+Tweak_engraver::acknowledge_grob (Grob_info info)
+{
+  if (Stream_event *ev = info.event_cause ())
+    {
+      for (SCM s = ev->get_property ("tweaks");
+          scm_is_pair (s); s = scm_cdr (s))
+       {
+         info.grob ()->set_property (scm_caar (s), scm_cdar (s));
+       }
+    }
+}
+
+ADD_ACKNOWLEDGER (Tweak_engraver, grob);
+ADD_TRANSLATOR (Tweak_engraver,
+               /* doc */ "Read the @code{tweaks} property from the originating event, and set properties." ,
+               
+               /* create */ "",
+               /* read */ "",
+               /* write */ "");
index 047812c23a44243afa533ac3ef8d15fb26de336f..0364ac96af946130061ee1b9fc77675c42f0ed1e 100644 (file)
@@ -206,7 +206,8 @@ contained staves are not connected vertically."
   \consists "Note_heads_engraver"
   \consists "Dots_engraver"
   \consists "Rest_engraver"
-
+  \consists "Tweak_engraver"
+  
   %% switch on to make stem directions interpolate for the
   %% center line.
   %  \consists "Melody_engraver"