def from_interval_shorthand(self, startnote, shorthand, up=True): """Empty the container and add the note described in the startnote and shorthand. See core.intervals for the recognized format. Examples: >>> nc = NoteContainer() >>> nc.from_interval_shorthand('C', '5') ['C-4', 'G-4'] >>> nc.from_interval_shorthand('C', '5', False) ['F-3', 'C-4'] """ self.empty() if type(startnote) == str: startnote = Note(startnote) n = Note(startnote.name, startnote.octave, startnote.dynamics) n.transpose(shorthand, up) self.add_notes([startnote, n]) return self
def test_transpose(self): a = Note('C') a.transpose('3') self.assertEqual(Note('E'), a) a.transpose('b2') self.assertEqual(Note('F'), a) a.transpose('5') self.assertEqual(Note('C', 5), a) a.transpose('5', False) self.assertEqual(Note('F'), a) a = Note('G-5') a.transpose('5') self.assertEqual(Note('D-6'), a) a.transpose('5', False) self.assertEqual(Note('G-5'), a) a.transpose('5', False) self.assertEqual(Note('C-5'), a)
def test_transpose(self): a = Note("C") a.transpose("3") self.assertEqual(Note("E"), a) a.transpose("b2") self.assertEqual(Note("F"), a) a.transpose("5") self.assertEqual(Note("C", 5), a) a.transpose("5", False) self.assertEqual(Note("F"), a) a = Note("G-5") a.transpose("5") self.assertEqual(Note("D-6"), a) a.transpose("5", False) self.assertEqual(Note("G-5"), a) a.transpose("5", False) self.assertEqual(Note("C-5"), a)