#include "musical-pitch.hh"
//Repeated_music::Repeated_music (Music* r, int n, Music_list* a)
-Repeated_music::Repeated_music (Music* r, int n, Sequential_music* a)
+Repeated_music::Repeated_music (Music* r, int n, Music_sequence* a)
{
repeats_i_ = n;
repeat_p_ = r;
{
repeat_p_ = (s.repeat_p_) ? s.repeat_p_->clone () : 0;
// urg?
-// alternative_p_ = (Sequential_music*)(s.alternative_p_) ? s.alternative_p_->clone () : 0;
+// alternative_p_ = (s.alternative_p_) ? dynamic_cast <Music_list*> (s.alternative_p_->clone ()) : 0;
+ alternative_p_ = (s.alternative_p_) ? dynamic_cast <Music_sequence*> (s.alternative_p_->clone ()) : 0;
}
void
return m;
}
+
+Musical_pitch
+Repeated_music::to_relative_octave (Musical_pitch p)
+{
+ p = repeat_p_->to_relative_octave (p);
+
+ p = alternative_p_->do_relative_octave (p, false);
+ return p;
+
+ /* ugh. Should
+ \relative c'' \repeat 2 { c4 } { < ... > }
+
+ and
+
+ \relative c'' \repeat 2 { c4 }
+ { { ...} }
+
+ behave differently?
+ */
+}