]> git.donarmstrong.com Git - lilypond.git/commitdiff
(listen_beam): add method for
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 3 Aug 2006 16:09:00 +0000 (16:09 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Thu, 3 Aug 2006 16:09:00 +0000 (16:09 +0000)
Grace_beam_engraver too.

ChangeLog
input/typography-demo.ly
lily/beam-engraver.cc

index 01efb50d05773a66c384225770a41d2fb7334c75..e4bc82eeee10032bb2d697300c2b3823785c1fca 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-08-03  Han-Wen Nienhuys  <hanwen@lilypond.org>
+
+       * lily/beam-engraver.cc (listen_beam): add method for
+       Grace_beam_engraver too.
+
 2006-08-03  Mats Bengtsson  <mabe@drongo.s3.kth.se>
 
        * python/convertrules.py: Fix indentation bug that broke
index 8dfc39302c242a6293da21c050a30454963c0082..e56612f84b78a2319d16b9313dbc886c886daea5 100644 (file)
@@ -8,7 +8,7 @@ heavily mutilated Edition Peters Morgenlied by Schubert"
 
 }
 
-\version "2.7.39"
+\version "2.9.13"
 
 ignoreMelisma =        \set ignoreMelismata = ##t
 ignoreMelismaOff = \unset ignoreMelismata 
@@ -129,7 +129,7 @@ pianoLH =  \relative c'' \repeat volta 2\new Voice {
         \lyricsto "singer" \new Lyrics \firstVerse
         \lyricsto "singer" \new Lyrics \secondVerse
         \new PianoStaff << 
-          \set PianoStaff.instrument = \markup {
+          \set PianoStaff.instrumentName = \markup {
             \bold
             \bigger\bigger\bigger\bigger
             \huge
index fbd212efa116331d95144e0847fa19c116022616..42d0a8db418b3f0e0c548a0b628c0a668d03890b 100644 (file)
@@ -284,6 +284,8 @@ class Grace_beam_engraver : public Beam_engraver
 public:
   TRANSLATOR_DECLARATIONS (Grace_beam_engraver);
 
+  DECLARE_TRANSLATOR_LISTENER (beam);
+  
 protected:
   virtual bool valid_start_point ();
   virtual bool valid_end_point ();
@@ -307,6 +309,22 @@ Grace_beam_engraver::valid_end_point ()
   return beam_ && valid_start_point ();
 }
 
+/*
+  Ugh, C&P code.
+ */
+IMPLEMENT_TRANSLATOR_LISTENER (Grace_beam_engraver, beam);
+void
+Grace_beam_engraver::listen_beam (Stream_event *ev)
+{
+  Direction d = to_dir (ev->get_property ("span-direction"));
+
+  if (d == START && valid_start_point ())
+    start_ev_ = ev;
+  else if (d == STOP && valid_end_point ())
+    now_stop_ev_ = ev;
+}
+
+
 ADD_ACKNOWLEDGER (Grace_beam_engraver, stem);
 ADD_ACKNOWLEDGER (Grace_beam_engraver, rest);