Building the chord progression tutor
The GUI component of the chord progression section is slightly more evolved than the previous two sections. Here's how a typical chord progression GUI looks like:

Notice that this section has the combobox as opposed to two for the earlier sections. Depending on what progression is chosen in the middle combobox, we need to draw a number of buttons, each button representing one chord in the complete chord progression.
In the preceding screenshot, note that the progression combobox has a value of I
-V
-vi
-IV
. This is a total of four roman numbers separated by a dash. This means that this chord progression is made up of four chords. Also notice that a few of the roman numbers (I
, V
, IV
, and so on) are written in capital letters and others (vi
) are written in small letters. All capital letters in the series denote major chords, while each small letter represents a minor chord.
Next, let us take a look at the progressions.json
file from the json
folder:
{ "Major...