QString Harmony::harmonyName() { determineRootBaseSpelling(); HChord hc = descr() ? descr()->chord : HChord(); QString s, r, e, b; if (_leftParen) s = "("; if (_rootTpc != INVALID_TPC) r = tpc2name(_rootTpc, _rootSpelling, _rootLowerCase); if (_textName != "") e = _textName.remove('='); else if (!_degreeList.isEmpty()) { hc.add(_degreeList); // try to find the chord in chordList const ChordDescription* newExtension = 0; ChordList* cl = score()->style()->chordList(); foreach(const ChordDescription* cd, *cl) { if (cd->chord == hc && !cd->names.isEmpty()) { newExtension = cd; break; } } // now determine the chord name if (newExtension) e = newExtension->names.front(); else { // not in table, fallback to using HChord.name() r = hc.name(_rootTpc); e = ""; } }
QString Harmony::baseName() { determineRootBaseSpelling(); return tpc2name(_baseTpc, _baseSpelling, _baseLowerCase); }
QString Harmony::rootName() { determineRootBaseSpelling(); return tpc2name(_rootTpc, _rootSpelling, _rootLowerCase); }