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