+Pitch
+Request_chord::to_relative_octave (Pitch last)
+{
+ for (SCM s = music_list (); gh_pair_p (s); s = gh_cdr (s))
+ {
+ Music * mus = unsmob_music (gh_car (s));
+ if (Melodic_req *m= dynamic_cast <Melodic_req *> (mus))
+ {
+ Pitch pit = *unsmob_pitch (m->get_mus_property ("pitch"));
+
+ pit.to_relative_octave (last);
+ m->set_mus_property ("pitch", pit.smobbed_copy ());
+
+ return pit;
+ }
+ }
+ return last;
+}
+
+
+
+ADD_MUSIC (Simultaneous_music);
+ADD_MUSIC (Sequential_music);
+ADD_MUSIC (Request_chord);