]> git.donarmstrong.com Git - lilypond.git/blob - lily/lyric-combine-music.cc
(Lyric_combine_music_iterator): remove superfluous events.
[lilypond.git] / lily / lyric-combine-music.cc
1 /*   
2   lyric-combine-music.cc --  implement Lyric_combine_music
3   
4   source file of the GNU LilyPond music typesetter
5   
6   (c) 1999--2002 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7   
8  */
9
10 #include "lyric-combine-music.hh"
11 #include "pitch.hh"
12
13 Lyric_combine_music::Lyric_combine_music ()
14   : Music ()
15 {
16 }
17
18
19 void
20 Lyric_combine_music::transpose (Pitch p)
21 {
22   get_music ()->transpose (p);
23   get_lyrics () ->transpose (p);
24 }
25
26
27 Moment
28 Lyric_combine_music::get_length () const
29 {
30   return get_music ()->get_length ();
31 }
32
33 Pitch
34 Lyric_combine_music::to_relative_octave (Pitch p)
35 {
36   p = get_music ()->to_relative_octave (p);
37   return get_lyrics () ->to_relative_octave (p);
38 }
39
40 void
41 Lyric_combine_music::compress (Moment m)
42 {
43   get_music ()->compress (m);
44 }
45
46
47
48 Music*
49 Lyric_combine_music::get_music () const
50 {
51   SCM l = get_mus_property ("elements");
52   if (!gh_pair_p (l))
53     return 0;
54   return unsmob_music (gh_car (l));
55 }
56
57
58 Music*
59 Lyric_combine_music::get_lyrics () const
60 {
61   SCM l = get_mus_property ("elements");
62   if (!gh_pair_p (l))
63     return 0;
64   l = gh_cdr (l);
65   if (!gh_pair_p (l))
66     return 0;
67   return unsmob_music (gh_car (l));
68 }
69
70
71 ADD_MUSIC (Lyric_combine_music);