public Scale Transpose(Note key) { int shift = key.NHalfSteps - Tonic.NHalfSteps; return(new Scale(Tonic.MoveSteps(shift), Supertonic.MoveSteps(shift), Mediant.MoveSteps(shift), Subdominant.MoveSteps(shift), Dominant.MoveSteps(shift), Submediant.MoveSteps(shift), Subtonic.MoveSteps(shift))); }
public Scale ChangeOctave(sbyte octaveChange) { return(new Scale(Tonic.MoveOctave(octaveChange), Supertonic.MoveOctave(octaveChange), Mediant.MoveOctave(octaveChange), Subdominant.MoveOctave(octaveChange), Dominant.MoveOctave(octaveChange), Submediant.MoveOctave(octaveChange), Subtonic.MoveOctave(octaveChange))); }