Ejemplo n.º 1
0
    def __init__(self, root, bass_note=None):
        self._root = pitches.parse(root)

        if bass_note is None:
            self.bass_note = self._root
        else:
            self.bass_note = pitches.parse(bass_note)
Ejemplo n.º 2
0
    def test_note_above(self):
        chord = chords.MajorChord(MIDI_VALUES['C1'])
        above = chord.note_above(MIDI_VALUES['E1'])
        above_with_note_object = chord.note_above(
            pitches.parse(MIDI_VALUES['E1']))

        self.assertEqual(MIDI_VALUES['G1'], above)
        self.assertEqual(MIDI_VALUES['G1'], above_with_note_object)
Ejemplo n.º 3
0
    def __contains__(self, note):
        parsed = None

        if isinstance(note, pitches.Pitch):
            parsed = note
        elif isinstance(note, int):
            parsed = pitches.parse(note)

        if parsed.species() == self.__seven.species():
            return True
        return Chord.__contains__(self, parsed)
Ejemplo n.º 4
0
    def test_species(self):
        c = 24
        note_c = pitches.parse('C')
        species_c = 'C'
        octave_c = 'C2'

        correct = 'C'

        self.assertEqual(pitches.species(c), correct)
        self.assertEqual(pitches.species(note_c), correct)
        self.assertEqual(pitches.species(species_c), correct)
        self.assertEqual(pitches.species(octave_c), correct)
Ejemplo n.º 5
0
    def note_above(self, note):
        """
        Basically just a wrapper for the private method to make up for improper API usage

        :param note: midi value, text value, or Note object
        :return:
        """
        if isinstance(note, pitches.Pitch):
            return self.__note_above(note.midi())
        elif isinstance(note, int):
            return self.__note_above(note)
        elif isinstance(note, str):
            return self.__note_above(pitches.parse(note).midi())
Ejemplo n.º 6
0
    def __contains__(self, note):
        parsed = None

        if isinstance(note, pitches.Pitch):
            parsed = note
        elif isinstance(note, int):
            parsed = pitches.parse(note)

        if parsed.species() == self._root.species():
            return True
        if parsed.species() == self.three().species():
            return True
        if parsed.species() == self.five().species():
            return True
        return False
Ejemplo n.º 7
0
 def __init__(self, root_note, bass_note=None):
     self.__five = pitches.parse(pitches.parse(root_note).midi() + 6)
     self.__seven = pitches.parse(pitches.parse(root_note).midi() + 9)
     MinorChord.__init__(self, root_note, bass_note)
     self._all_octaves = self._compute_octaves()
Ejemplo n.º 8
0
 def __init__(self, root_note, bass_note=None):
     Chord.__init__(self, root_note, bass_note)
     self.__three = pitches.parse(self._root.midi() + 3)
     self.__five = pitches.parse(self._root.midi() + 7)
     self._all_octaves = self._compute_octaves()
Ejemplo n.º 9
0
 def seven(self):
     return pitches.parse(self.one().midi() + 11)
Ejemplo n.º 10
0
    def __init__(self, root_note):
        _KeySignature.__init__(self)

        self.root_chord = chords.MinorChord(pitches.parse(root_note))
Ejemplo n.º 11
0
 def flat_seven(self):
     return pitches.parse(self.one().midi() + 10)
Ejemplo n.º 12
0
 def six(self):
     return pitches.parse(self.one().midi() + 9)
Ejemplo n.º 13
0
 def flat_six(self):
     return pitches.parse(self.one().midi() + 8)
Ejemplo n.º 14
0
 def four(self):
     return pitches.parse(self.one().midi() + 5)
Ejemplo n.º 15
0
 def two(self):
     return pitches.parse(self.one().midi() + 2)