]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/simultaneous-music.cc
* lily/simple-spacer.cc (add_columns): use binary search for
[lilypond.git] / lily / simultaneous-music.cc
index 51bc21397421b381677d9e77c780473ca0f4c668..ccf3287ab511202b73d61e397522acc1e7909834 100644 (file)
@@ -1,41 +1,56 @@
+/*   
+  simultaneous-music.cc --  implement Simultaneous_music
 
-#include "moment.hh"
+  source file of the GNU LilyPond music typesetter
+
+  (c) 1998--2004 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+*/
+
+#include "input.hh"
 #include "pitch.hh"
-#include "simultaneous-music-iterator.hh"
 #include "music-list.hh"
+#include "scm-option.hh"
 
 Moment
-Simultaneous_music::length_mom () const
+Simultaneous_music::get_length () const
 {
-  return maximum_length ();
+  return Music_sequence::maximum_length (get_property ("elements"));
 }
 
 Moment
 Simultaneous_music::start_mom () const
 {
-  return minimum_start ();
-}
-
-
-
-Simultaneous_music::Simultaneous_music (SCM head)
-  : Music_sequence (head)
-{
-  set_mus_property ("iterator-ctor",
-                   Simultaneous_music_iterator::constructor_cxx_function);
+  return Music_sequence::minimum_start (get_property ("elements"));
 }
 
 Simultaneous_music::Simultaneous_music ()
-  : Music_sequence ()
 {
-  set_mus_property ("iterator-ctor",
-                   Simultaneous_music_iterator::constructor_cxx_function);
-  
+
 }
 
 Pitch
 Simultaneous_music::to_relative_octave (Pitch p)
 {
-  return do_relative_octave (p, true);
+  Pitch retval = music_list_to_relative (music_list (), p, false);
+  if (lily_1_8_relative)
+    {
+      Pitch retval_1_8 = music_list_to_relative (music_list (), p, true);
+      if (retval_1_8 != retval)
+       lily_1_8_compatibility_used = true;
+
+      retval = retval_1_8;
+    }
+
+  return retval;
 }
+
 ADD_MUSIC (Simultaneous_music);
+
+Pitch
+Event_chord::to_relative_octave (Pitch p)
+{
+  return music_list_to_relative (music_list (), p, true);
+}
+
+ADD_MUSIC (Event_chord);