]> git.donarmstrong.com Git - lilypond.git/blob - lily/lyric-combine-music.cc
* lily/include/translator.hh (ENTER_DESCRIPTION): add
[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 "lyric-combine-music-iterator.hh"
12 #include "pitch.hh"
13
14 Lyric_combine_music::Lyric_combine_music ()
15   : Music ()
16 {
17 }
18
19
20 void
21 Lyric_combine_music::transpose (Pitch p)
22 {
23   get_music ()->transpose (p);
24   get_lyrics () ->transpose (p);
25 }
26
27
28 Moment
29 Lyric_combine_music::length_mom () const
30 {
31   return get_music ()->length_mom ();
32 }
33
34 Pitch
35 Lyric_combine_music::to_relative_octave (Pitch p)
36 {
37   p = get_music ()->to_relative_octave (p);
38   return get_lyrics () ->to_relative_octave (p);
39 }
40
41 void
42 Lyric_combine_music::compress (Moment m)
43 {
44   get_music ()->compress (m);
45 }
46
47
48
49 Music*
50 Lyric_combine_music::get_music () const
51 {
52   SCM l = get_mus_property ("elements");
53   if (!gh_pair_p (l))
54     return 0;
55   return unsmob_music (gh_car (l));
56 }
57
58
59 Music*
60 Lyric_combine_music::get_lyrics () const
61 {
62   SCM l = get_mus_property ("elements");
63   if (!gh_pair_p (l))
64     return 0;
65   l = gh_cdr (l);
66   if (!gh_pair_p (l))
67     return 0;
68   return unsmob_music (gh_car (l));
69 }
70
71
72 ADD_MUSIC (Lyric_combine_music);