#include "repeated-music.hh"
#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;
+ unfold_b_ = false;
repeat_p_ = r;
alternative_p_ = a;
}
{
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_sequence*> (s.alternative_p_->clone ()) : 0;
}
void
}
Moment
-Repeated_music::duration () const
+Repeated_music::length_mom () const
{
Moment m;
if (repeat_p_)
- m += repeat_p_->duration ();
+ m += repeat_p_->length_mom ();
if (alternative_p_)
- m += alternative_p_->duration ();
+ m += alternative_p_->length_mom ();
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?
+ */
+}