]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/musical-request.cc
release: 0.0.51
[lilypond.git] / lily / musical-request.cc
index 1ba4fd7801d1306efb1d05b8969528fa5198b736..e9793572e7c5fa85a912c60638f730c14730f127 100644 (file)
@@ -106,13 +106,18 @@ Melodic_req::Melodic_req()
 void
 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_ ++;
     }
-    accidental_i_ += delta.accidental_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");
     }