the classes

Here are the three classes. I'm using python because it's so close to pseudocode.


class ScaleStep:
    def __init__(self):
        self.frequency = 0
    
class Scale:
    def __init__(self, base_frequency):
        self.step_one = ScaleStep()
        self.step_one.frequency = int(base_frequency)
        
        self.step_two = ScaleStep()
        self.step_two.frequency = self.step_one.frequency * 9/8
        
        self.step_three = ScaleStep()
        self.step_three.frequency = self.step_one.frequency * 5/4
        
        self.step_four = ScaleStep()
        self.step_four.frequency = self.step_one.frequency * 4/3
        
        self.step_five = ScaleStep()
        self.step_five.frequency = self.step_one.frequency * 3/2
        
        self.step_six = ScaleStep()
        self.step_six.frequency = self.step_one.frequency * 5/3

        self.step_seven = ScaleStep()
        self.step_seven.frequency = self.step_one.frequency * 15/8

class ChordScale:
    def __init__(self, base_frequency):
        this_scale = Scale(base_frequency)
        self.one_chord = (this_scale.step_one, this_scale.step_three, this_scale.step_five)
        self.two_chord = (this_scale.step_two, this_scale.step_four, this_scale.step_six)
        self.three_chord = (this_scale.step_three, this_scale.step_five, this_scale.step_seven )
        self.four_chord = (this_scale.step_four, this_scale.step_six, this_scale.step_one )
        self.five_chord = (this_scale.step_five, this_scale.step_seven, this_scale.step_two )
        self.six_chord = (this_scale.step_six, this_scale.step_one, this_scale.step_three )