コード例 #1
0
        public SevenChord(JustNote baseNote, JustNote thirdNote, JustNote fifthNote, JustNote sevenNote, SevenChordMode mode, SevenChordInversion inv)
        {
            ChordNotes[0] = baseNote;
            ChordNotes[1] = thirdNote;
            ChordNotes[2] = fifthNote;
            ChordNotes[3] = sevenNote;

            Mode      = mode;
            Inversion = inv;
        }
コード例 #2
0
        public SevenChord(JustNote baseNote, int[] theFormula, SevenChordMode mode = SevenChordMode.I, SevenChordInversion inv = SevenChordInversion.I)
        {
            ChordType = SevenChordTypes.SevenchordTypes.First(f => f.Value[0] == theFormula[0] && f.Value[1] == theFormula[1] && f.Value[2] == theFormula[2] && f.Value[3] == theFormula[3]).Key.ToString();

            ChordNotes[0] = baseNote;

            var tempNote = baseNote;

            for (int i = 1; i < 4; i++)
            {
                tempNote      = JustNote.moveNoteBySemitones(tempNote, theFormula[i - 1]);
                ChordNotes[i] = tempNote;
            }

            Mode = mode;

            switch (Mode)
            {
            case SevenChordMode.I:
                break;

            case SevenChordMode.II:
                ChordNotes[1] = JustNote.moveNoteBySemitones(ChordNotes[1], 12);
                ChordNotes[3] = JustNote.moveNoteBySemitones(ChordNotes[3], 12);
                break;

            case SevenChordMode.III:
                ChordNotes[2] = JustNote.moveNoteBySemitones(ChordNotes[2], 12);
                break;

            case SevenChordMode.IV:
                ChordNotes[1] = JustNote.moveNoteBySemitones(ChordNotes[1], 12);
                break;

            case SevenChordMode.V:
                ChordNotes[1] = JustNote.moveNoteBySemitones(ChordNotes[1], 12);
                ChordNotes[2] = JustNote.moveNoteBySemitones(ChordNotes[2], 12);
                break;

            case SevenChordMode.VI:
                ChordNotes[1] = JustNote.moveNoteBySemitones(ChordNotes[1], 24);
                ChordNotes[2] = JustNote.moveNoteBySemitones(ChordNotes[2], 12);
                break;

            default:
                break;
            }

            this.InverseForward(inv);
            Inversion = inv;
        }
コード例 #3
0
 public void ChangeTheChordMode(SevenChordMode mode)
 {
     // TODO :: Make it changable from any mode to any mode
 }