X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fquote-iterator.cc;h=86d01304a878f28f8ffb1ad27658b3645b84a2b7;hb=8a4e71bc466e56caba84d87678fd4ef90579cac3;hp=efb9c132e876b2dad09d6c3d4078d35c447cbb95;hpb=e8f544af29c93145d122efa8dcfc0548d9b84f0b;p=lilypond.git diff --git a/lily/quote-iterator.cc b/lily/quote-iterator.cc index efb9c132e8..86d01304a8 100644 --- a/lily/quote-iterator.cc +++ b/lily/quote-iterator.cc @@ -237,11 +237,21 @@ Quote_iterator::process (Moment m) Pitch *quote_pitch = unsmob_pitch (scm_cdar (entry)); /* - The pitch that sounds like central C + The pitch that sounds when written central C is played. */ + Pitch temp_pitch; Pitch *me_pitch = unsmob_pitch (get_music ()->get_property ("quoted-transposition")); if (!me_pitch) me_pitch = unsmob_pitch (get_outlet ()->get_property ("instrumentTransposition")); + else + { + // We are not going to win a beauty contest with this one, + // but it is slated for replacement and touches little code. + // quoted-transposition currently has a different sign + // convention than instrumentTransposition + temp_pitch = me_pitch->negated (); + me_pitch = &temp_pitch; + } SCM cid = get_music ()->get_property ("quoted-context-id"); bool is_cue = scm_is_string (cid) && (ly_scm2string (cid) == "cue"); @@ -263,9 +273,9 @@ Quote_iterator::process (Moment m) if (me_pitch) mp = *me_pitch; - Pitch diff = pitch_interval (qp, mp); + Pitch diff = pitch_interval (mp, qp); ev = ev->clone (); - ev->make_transposable (); + ev->make_transposable (); transpose_mutable (ev->get_property_alist (true), diff); transposed_musics_ = scm_cons (ev->unprotect (), transposed_musics_);