Just one piece of feedback - for your diminished chord, you spell C dim as C, Eb, F#. Technically this should be C, Eb, Gb. This is because the definition of a diminished is two minor thirds, and the way you have it spelled is a minor third followed by an augmented second. While these are enharmonically the same, from a theory perspective, the spelling is not correct!
This is really great feedback, thanks! The chord generator I wrote currently treats F# and Gb (and the other enharmonically similar notes) as interchangeable, when clearly it shouldn't. Now I have a good excuse to revisit this code on a future rainy day. Hopefully I left myself some good comments...
Just one piece of feedback - for your diminished chord, you spell C dim as C, Eb, F#. Technically this should be C, Eb, Gb. This is because the definition of a diminished is two minor thirds, and the way you have it spelled is a minor third followed by an augmented second. While these are enharmonically the same, from a theory perspective, the spelling is not correct!
Otherwise really neat!