lilypond-1.5.10
[lilypond.git] / lily / request-chord.cc
blob084042f021be6d18078bdf8c35162cab3ba81127
1 #include "pitch.hh"
2 #include "request-chord-iterator.hh"
3 #include "music-list.hh"
4 #include "musical-request.hh"
6 Request_chord::Request_chord (SCM s)
7 : Simultaneous_music (s)
9 set_mus_property ("iterator-ctor",
10 Request_chord_iterator::constructor_cxx_function);
13 Request_chord::Request_chord ()
15 set_mus_property ("iterator-ctor",
16 Request_chord_iterator::constructor_cxx_function);
21 Pitch
22 Request_chord::to_relative_octave (Pitch last)
24 for (SCM s = music_list (); gh_pair_p (s); s = gh_cdr (s))
26 Music * mus = unsmob_music (gh_car (s));
27 if (Melodic_req *m= dynamic_cast <Melodic_req *> (mus))
29 Pitch pit = *unsmob_pitch (m->get_mus_property ("pitch"));
31 pit.to_relative_octave (last);
32 m->set_mus_property ("pitch", pit.smobbed_copy ());
34 return pit;
37 return last;
40 Moment
41 Request_chord::start_mom () const
43 return Music::start_mom ();
48 ADD_MUSIC (Request_chord);