]> git.donarmstrong.com Git - lilypond.git/blob - lily/lyric-combine-music.cc
release: 1.3.108
[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--2000 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 (Music * m, Music * l)
15 {
16   set_mus_property ("music", m->self_scm ());
17   set_mus_property ("lyrics", l->self_scm ());  
18
19   set_mus_property ("type",
20                     Lyric_combine_music_iterator::constructor_cxx_function);
21 }
22
23
24 void
25 Lyric_combine_music::transpose (Pitch p)
26 {
27   music_l ()->transpose (p);
28   lyrics_l () ->transpose (p);
29 }
30
31
32 Moment
33 Lyric_combine_music::length_mom () const
34 {
35   return music_l ()->length_mom ();
36 }
37
38 Pitch
39 Lyric_combine_music::to_relative_octave (  Pitch p )
40 {
41   p = music_l ()->to_relative_octave (p);
42   return lyrics_l () ->to_relative_octave (p);
43 }
44
45 void
46 Lyric_combine_music::compress (Moment m)
47 {
48   music_l ()->compress (m);
49 }
50
51 Music*
52 Lyric_combine_music::music_l () const
53 {
54   return unsmob_music (get_mus_property ("music"));
55 }
56
57 Music*
58 Lyric_combine_music::lyrics_l () const
59 {
60   return unsmob_music (get_mus_property ("lyrics"));
61 }