]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/lyric-combine-music.cc
release commit
[lilypond.git] / lily / lyric-combine-music.cc
index 5676d4cff0d48cf30d456650b98d3ca350da7ddd..cb77d13c1eafc71ae6f9f694c9c78025dff3a66e 100644 (file)
@@ -3,73 +3,69 @@
   
   source file of the GNU LilyPond music typesetter
   
-  (c) 1999--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
   
  */
 
 #include "lyric-combine-music.hh"
-#include "musical-pitch.hh"
+#include "pitch.hh"
 
-Lyric_combine_music::Lyric_combine_music (Music * m, Music * l)
+Lyric_combine_music::Lyric_combine_music ()
+  : Music ()
 {
-  music_p_ = m;
-  lyrics_p_ = l;
 }
 
-Lyric_combine_music::~Lyric_combine_music ()
-{
-  delete music_p_;
-  delete lyrics_p_;
-}
-
-Lyric_combine_music::Lyric_combine_music (Lyric_combine_music const&s)
-  : Music (s)
-{
-  music_p_ = s.music_p_ ? s.music_p_->clone ():0;
-  lyrics_p_ = s.lyrics_p_ ? s.lyrics_p_->clone ():0;
-}
 
 void
-Lyric_combine_music::transpose (Musical_pitch p)
+Lyric_combine_music::transpose (Pitch p)
 {
-  music_p_->transpose (p);
-  lyrics_p_->transpose (p);
+  get_music ()->transpose (p);
+  get_lyrics () ->transpose (p);
 }
 
-void
-Lyric_combine_music::do_print () const  
-{
-  music_p_->print();
-  lyrics_p_->print ();
-}
 
 Moment
-Lyric_combine_music::length_mom () const
+Lyric_combine_music::get_length () const
 {
-  return music_p_->length_mom ();
+  return get_music ()->get_length ();
 }
 
-Musical_pitch
-Lyric_combine_music::to_relative_octave (  Musical_pitch p )
+Pitch
+Lyric_combine_music::to_relative_octave (Pitch p)
 {
-  p = music_p_->to_relative_octave (p);
-  return lyrics_p_->to_relative_octave (p);
+  p = get_music ()->to_relative_octave (p);
+  return get_lyrics () ->to_relative_octave (p);
 }
 
 void
 Lyric_combine_music::compress (Moment m)
 {
-  music_p_->compress (m);
+  get_music ()->compress (m);
 }
 
+
+
 Music*
-Lyric_combine_music::music_l () const
+Lyric_combine_music::get_music () const
 {
-  return music_p_;
+  SCM l = get_mus_property ("elements");
+  if (!gh_pair_p (l))
+    return 0;
+  return unsmob_music (gh_car (l));
 }
 
+
 Music*
-Lyric_combine_music::lyrics_l () const
+Lyric_combine_music::get_lyrics () const
 {
-  return lyrics_p_;
+  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));
 }
+
+
+ADD_MUSIC (Lyric_combine_music);