]> git.donarmstrong.com Git - lilypond.git/commitdiff
* input/regression/stem-direction-context.ly: remove rest.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 27 Dec 2005 17:36:29 +0000 (17:36 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Tue, 27 Dec 2005 17:36:29 +0000 (17:36 +0000)
* lily/melody-engraver.cc (process_music): restart for bar lines.
(acknowledge_slur): restart for slurs.

ChangeLog
input/regression/stem-direction-context.ly
lily/melody-engraver.cc
lily/relocate.cc

index 4915cb1b1578fc5b5d2f69a2f28ec707eda6d6d1..7b96aa657bab6da1455092ae505b70f2b0d2e5a3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2005-12-27  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+
+       * input/regression/stem-direction-context.ly: remove rest.
+
+       * lily/melody-engraver.cc (process_music): restart for bar lines.
+       (acknowledge_slur): restart for slurs.
+
 2005-12-27  Heikki Junes  <hjunes@cc.hut.fi>
 
        * Documentation/user/invoking.itely: describe how to view SVG 
index 79f56305f5eafebe168ad6083579b49ff448c0ac..db0b790851a4d65d101efd7a4a2ef4014a6e1187 100644 (file)
@@ -10,7 +10,7 @@
 
 \relative c'' \new Voice {
   c4 b c b
-  c c c r
+  c c c c
   b a b a
 } 
   
index a0d66b2d6924a59fee865d8d58a4ec025c0edc1a..885c570894085a3a3946ecc5a775bb3bb638c417 100644 (file)
 class Melody_engraver : public Engraver
 {
   Grob *melody_item_;
+  Grob *stem_; 
 protected:
   
   DECLARE_ACKNOWLEDGER (stem);
+  DECLARE_ACKNOWLEDGER (slur);
   TRANSLATOR_DECLARATIONS (Melody_engraver);
+  void stop_translation_timestep ();
+  void process_music ();
 };
 
 
 Melody_engraver::Melody_engraver ()
 {
+  stem_ = 0;
   melody_item_ = 0;
 }
 
 void
-Melody_engraver::acknowledge_stem (Grob_info info)
+Melody_engraver::process_music ()
 {
-  extract_grob_set (info.grob (), "rests", rests);
-  if (rests.size ())
+  if (scm_is_string (get_property ("whichBar")))
     melody_item_ = 0;
-  else
+}
+  
+void
+Melody_engraver::stop_translation_timestep ()
+{
+  if (stem_)
     {
-      if (!melody_item_)
-       melody_item_ = make_item ("MelodyItem", info.grob ()->self_scm ());
+      extract_grob_set (stem_, "rests", rests);
+      if (rests.size ())
+       melody_item_ = 0;
+      else
+       {
+         if (!melody_item_)
+           melody_item_ = make_item ("MelodyItem", stem_->self_scm ());
 
-      Melody_spanner::add_stem (melody_item_, info.grob ());
+         Melody_spanner::add_stem (melody_item_, stem_);
+       }
     }
+  stem_ = 0;
+}
+
+
+void
+Melody_engraver::acknowledge_slur (Grob_info info)
+{
+  (void)info;
+  melody_item_ = 0;
 }
 
+
+void
+Melody_engraver::acknowledge_stem (Grob_info info)
+{
+  stem_ = info.grob ();
+}
+
+
+
 #include "translator.icc"
+
 ADD_ACKNOWLEDGER (Melody_engraver, stem);
+ADD_ACKNOWLEDGER (Melody_engraver, slur);
+
 ADD_TRANSLATOR (Melody_engraver,
                "Create information for context dependent typesetting decisions. ",
                "MelodyItem",
index db4b6c6074e82a854874a4a36edff0549f24135a..2783973d630cc7b19c97d4c277b125194ba36113 100644 (file)
@@ -127,7 +127,7 @@ set_relocation (String bindir, String prefix)
                                 SCM_MAJOR_VERSION, SCM_MINOR_VERSION));
   set_env_file ("PANGO_RC_FILE", sysconfdir + "/pango/pangorc");
 
-  sane_putenv ("PANGO_PREFIX", prefix);
+  sane_putenv ("PANGO_PREFIX", prefix, true);
                
   prepend_env_path ("PATH", bindir);
 }