private Mode(ScaleDegree scaleDegree, Mode baseMode) { ScaleDegree = scaleDegree; BaseMode = baseMode; Scale = baseMode == null ? Scale.Major : new ModeScale(this, baseMode); }
static Mode() { Dorian = new Mode(ScaleDegree.Number2, Aeolian); Phrygian = new Mode(ScaleDegree.Number3, Aeolian); Lydian = new Mode(ScaleDegree.Number4, Ionian); Mixolydian = new Mode(ScaleDegree.Number5, Ionian); Locrian = new Mode(ScaleDegree.Number7, Aeolian); Dorian.Sharpen(ScaleDegree.Number6); Phrygian.Flatten(ScaleDegree.Number2); Lydian.Sharpen(ScaleDegree.Number4); Mixolydian.Flatten(ScaleDegree.Number7); Aeolian.Flatten(ScaleDegree.Number3); Aeolian.Flatten(ScaleDegree.Number6); Aeolian.Flatten(ScaleDegree.Number7); Locrian.Flatten(ScaleDegree.Number2); Locrian.Flatten(ScaleDegree.Number5); }
internal ModeScale(Mode mode, Mode baseMode) { _mode = mode; _baseMode = baseMode; }