]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/lyric-combine-music.cc
* THANKS: Create skeleton for 2.1.
[lilypond.git] / lily / lyric-combine-music.cc
index 8f7770ecf9b03a25643e886ecea2f195b63f4703..1d0b911515affdfea683c97b6cb50096b281029c 100644 (file)
@@ -3,57 +3,45 @@
   
   source file of the GNU LilyPond music typesetter
   
-  (c) 1999--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1999--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
   
  */
 
 #include "lyric-combine-music.hh"
-#include "lyric-combine-music-iterator.hh"
 #include "pitch.hh"
 
-Lyric_combine_music::Lyric_combine_music (SCM l)
-  : Music (l)
+Lyric_combine_music::Lyric_combine_music ()
+  : Music ()
 {
-  set_mus_property ("iterator-ctor",
-                   Lyric_combine_music_iterator::constructor_cxx_function);
 }
 
-
-void
-Lyric_combine_music::transpose (Pitch p)
-{
-  music_l ()->transpose (p);
-  lyrics_l () ->transpose (p);
-}
-
-
 Moment
-Lyric_combine_music::length_mom () const
+Lyric_combine_music::get_length () const
 {
-  return music_l ()->length_mom ();
+  return get_music ()->get_length ();
 }
 
-Pitch
-Lyric_combine_music::to_relative_octave (  Pitch p )
+Music*
+Lyric_combine_music::get_music () const
 {
-  p = music_l ()->to_relative_octave (p);
-  return lyrics_l () ->to_relative_octave (p);
+  SCM l = get_mus_property ("elements");
+  if (!gh_pair_p (l))
+    return 0;
+  return unsmob_music (gh_car (l));
 }
 
-void
-Lyric_combine_music::compress (Moment m)
-{
-  music_l ()->compress (m);
-}
 
 Music*
-Lyric_combine_music::music_l () const
+Lyric_combine_music::get_lyrics () const
 {
-  return unsmob_music (get_mus_property ("music"));
+  SCM l = get_mus_property ("elements");
+  if (!gh_pair_p (l))
+    return 0;
+  l = gh_cdr (l);
+  if (!gh_pair_p (l))
+    return 0;
+  return unsmob_music (gh_car (l));
 }
 
-Music*
-Lyric_combine_music::lyrics_l () const
-{
-  return unsmob_music (get_mus_property ("lyrics"));
-}
+
+ADD_MUSIC (Lyric_combine_music);