diff --git a/libmscore/realizedharmony.cpp b/libmscore/realizedharmony.cpp index 810d16e94240e..a8611b4aa6415 100644 --- a/libmscore/realizedharmony.cpp +++ b/libmscore/realizedharmony.cpp @@ -412,6 +412,8 @@ RealizedHarmony::PitchMap RealizedHarmony::getIntervals(int rootTpc, bool litera ret.insert(step2pitchInterval(3, -1) + RANK_MULT*RANK_3RD, tpcInterval(rootTpc, 3, -1)); //min3 if (!(omit & (1 << 5))) ret.insert(step2pitchInterval(5, -1) + RANK_MULT*RANK_3RD, tpcInterval(rootTpc, 5, -1)); //dim5 + if (!(omit & (1 << 7)) && quality == "half-diminished") + ret.insert(step2pitchInterval(7, -1) + RANK_MULT * RANK_7TH, tpcInterval(rootTpc, 7, -1)); //min7 alt5 = true; } else { //major or dominant @@ -450,6 +452,8 @@ RealizedHarmony::PitchMap RealizedHarmony::getIntervals(int rootTpc, bool litera ret.insert(11 + RANK_MULT*RANK_7TH, tpcInterval(rootTpc, 7, 0)); else if (quality == "diminished") ret.insert(9 + RANK_MULT*RANK_7TH, tpcInterval(rootTpc, 7, -2)); + else if (quality == "half-diminished") + ; // 7th note already added when handling chord quality else //dominant or augmented or minor ret.insert(10 + RANK_MULT*RANK_7TH, tpcInterval(rootTpc, 7, -1)); }