source file of the GNU LilyPond music typesetter
- (c) 1999--2000 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 (Music * m, Music * l)
+Lyric_combine_music::Lyric_combine_music ()
+ : Music ()
{
- set_mus_property ("music", m->self_scm ());
- set_mus_property ("lyrics", l->self_scm ());
-
- 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);