]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/relative-octave-music.cc
*** empty log message ***
[lilypond.git] / lily / relative-octave-music.cc
index 4d7251166d9c5fcdeb66660a9806da1857ef54c0..fde9c2f8351155f1ec1e1f4abf8392d1f1764e28 100644 (file)
@@ -3,29 +3,38 @@
   
   source file of the GNU LilyPond music typesetter
   
-  (c) 1998--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1998--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
   
  */
-
 #include "relative-music.hh"
-#include "debug.hh"
+#include "warn.hh"
+#include "scm-option.hh"
+
 
 Pitch
-Relative_octave_music::to_relative_octave (Pitch)
+Relative_octave_music::to_relative_octave (Pitch p)
 {
-  return * unsmob_pitch (get_mus_property ("last-pitch"));
-}
+  if (lily_1_8_relative)
+    {
+      lily_1_8_compatibility_used = true;
+      /*  last-pitch should be junked some time, when
+         we ditch 1.8 compat too.
 
+        When you do, B should start where A left off.
 
-Relative_octave_music::Relative_octave_music (SCM l)
-  : Music_wrapper (l)
-{
-  set_mus_property ("type", ly_symbol2scm ("relative-octave-music"));  
+       \relative { A \relative { ...} B }  */
+      Pitch *ptr = unsmob_pitch (get_property ("last-pitch"));
+      return (ptr) ?  *ptr : p;
+    }
+  else
+    return p;
 }
 
+
 Relative_octave_music::Relative_octave_music ()
 {
-    set_mus_property ("type", ly_symbol2scm ("relative-octave-music"));
 }
 
 ADD_MUSIC (Relative_octave_music);
+
+