summaryrefslogtreecommitdiff
path: root/music/chords.py
diff options
context:
space:
mode:
authorScott Gasch <[email protected]>2022-04-22 09:42:08 -0700
committerScott Gasch <[email protected]>2022-04-22 09:42:08 -0700
commit711a9fd699f7c724f0aab7c1c43511cfbf7b2281 (patch)
tree441b5fceae86f7e11adcf3a0ce9fff69bb0c9ce0 /music/chords.py
parent068d71327bf6ec8618cd70a6d3fce5d075503cae (diff)
Add a chord parser test.
Diffstat (limited to 'music/chords.py')
-rwxr-xr-xmusic/chords.py10
1 files changed, 3 insertions, 7 deletions
diff --git a/music/chords.py b/music/chords.py
index fc2bd5f..ff4b540 100755
--- a/music/chords.py
+++ b/music/chords.py
@@ -43,7 +43,6 @@ def degree_of_note(root_note: str, target_note: str) -> Optional[int]:
root_note = root_note.upper()
target_note = target_note.upper()
for degree, note in enumerate(itertools.islice(generate_scale(root_note), 24)):
- print(f'"{target_note}", "{note}", {degree}')
if note == target_note:
return degree - 1
return None
@@ -98,6 +97,9 @@ class Chord:
self.root_note = root_note.upper()
self.other_notes = other_notes
+ def __repr__(self):
+ return f'root={self.root_note}, others={self.other_notes}'
+
@decorator_utils.decorate_matching_methods_with(
debug_parse,
@@ -213,8 +215,6 @@ class ChordParser(chordsListener):
def exitParse(self, ctx: chordsParser.ParseContext) -> None:
"""Populate self.chord"""
- print(f'Root note is a {self.rootNote}')
- scale = list(itertools.islice(generate_scale(self.rootNote), 24))
chord_types_with_perfect_5th = set(
[
@@ -257,12 +257,8 @@ class ChordParser(chordsListener):
other_notes['min7'] = 10
other_notes[expression] = semitone_count
- for expression, semitone_count in other_notes.items():
- note_name = scale[semitone_count]
- print(f'Contains: {expression} ({semitone_count} semitones) => {note_name}')
if self.bassNote:
degree = degree_of_note(self.rootNote, self.bassNote)
- print(f'Add a {self.bassNote} ({degree}) in the bass')
other_notes[self.bassNote] = degree
self.chord = Chord(self.rootNote, other_notes)