-Melodic_req::transpose(Melodic_req const & delta)
-{
- int old_pitch = pitch();
- int delta_pitch = delta.pitch();
- octave_i_ += delta.octave_i_;
- notename_i_ += delta.notename_i_;
- while (notename_i_ >= 7 ) {
- notename_i_ -= 7;
- octave_i_ ++;
- }
- int new_pitch = pitch();
- int delta_acc = new_pitch - old_pitch - delta_pitch;
-
- accidental_i_ -= delta_acc;
- if (abs(accidental_i_) > 2) {
- delta.warning("transposition makes accidental larger than 2");
+Melodic_req::transpose (Musical_pitch delta)
+{
+ pitch_.transpose (delta);
+
+ if (abs (pitch_.accidental_i_) > 2)
+ {
+ warning (_f ("transposition by %s makes accidental larger than two",
+ delta.str ()));