Quite a lot of useful parsing of chords rely on understanding the base chord (e.g. diminished minor ninth as a diminished chord fundamentally). Create a base chord function in ChordEditor that accepts a chord, strips it of sus, add, ext, (possibly bass - might want to keep inversions), changes the quality to the base quality, and returns the base chord.
Quite a lot of useful parsing of chords rely on understanding the base chord (e.g. diminished minor ninth as a diminished chord fundamentally). Create a base chord function in ChordEditor that accepts a chord, strips it of sus, add, ext, (possibly bass - might want to keep inversions), changes the quality to the base quality, and returns the base chord.