]> git.donarmstrong.com Git - lilypond.git/blob - lily/request-chord.cc
* lily/musical-request.cc (music-duration-length,
[lilypond.git] / lily / request-chord.cc
1 #include "pitch.hh" 
2 #include "request-chord-iterator.hh"
3 #include "music-list.hh"
4 #include "musical-request.hh"
5
6 Request_chord::Request_chord ()
7 {
8 }
9
10 Pitch
11 Request_chord::to_relative_octave (Pitch last)
12 {
13   for (SCM s = music_list (); gh_pair_p (s);  s = ly_cdr (s))
14     {
15       Music * mus = unsmob_music (ly_car (s));
16
17       if (mus->is_mus_type ("melodic-event")
18           || mus->is_mus_type ("rest-event"))
19         {
20           Pitch *old_pit = unsmob_pitch (mus->get_mus_property ("pitch"));
21           if (!old_pit)
22             continue;
23           
24           Pitch new_pit = *old_pit;
25           new_pit.to_relative_octave (last);
26           mus->set_mus_property ("pitch", new_pit.smobbed_copy ());
27
28           return new_pit;
29         }
30
31     }
32   return last;
33 }
34
35 Moment
36 Request_chord::start_mom () const
37 {
38   return Music::start_mom ();
39 }
40
41 ADD_MUSIC (Request_chord);