Example #1
0
        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)));
        }
Example #2
0
 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)));
 }