def setUp(self): self.majorscale = MajorScale self.melminscale = MelMinorScale self.harmminscale = HarmMinorScale self.harmmajscale = HarmMajorScale self.dorianscale = WestTemp.get_nseqby_seqpos( [0, 2, 3, 5, 7, 9, 10], NSEQ_SCALE) self.locrianscale = WestTemp.get_nseqby_seqpos( [0, 1, 3, 5, 6, 8, 10], NSEQ_SCALE) self.superlocrianscale = WestTemp.get_nseqby_seqpos( [0, 1, 3, 4, 6, 8, 10], NSEQ_SCALE) self.ultralocrianscale = WestTemp.get_nseqby_seqpos( [0, 1, 3, 4, 6, 8, 9], NSEQ_SCALE) self.dubflat7locrianscale = WestTemp.get_nseqby_seqpos( [0, 1, 3, 5, 6, 8, 9], NSEQ_SCALE) self.majorchord = noteseq("TestMajor", NSEQ_SCALE, WestTemp, [0, 4, 7], [0, 2, 4])
def setUp(self): self.majorscale = MajorScale; self.melminscale = MelMinorScale; self.harmminscale = HarmMinorScale; self.harmmajscale = HarmMajorScale; self.dorianscale = WestTemp.get_nseqby_seqpos( [0, 2, 3, 5, 7, 9, 10], NSEQ_SCALE); self.locrianscale = WestTemp.get_nseqby_seqpos( [0, 1, 3, 5, 6, 8, 10], NSEQ_SCALE); self.superlocrianscale = WestTemp.get_nseqby_seqpos( [0, 1, 3, 4, 6, 8, 10], NSEQ_SCALE); self.ultralocrianscale = WestTemp.get_nseqby_seqpos( [0, 1, 3, 4, 6, 8, 9], NSEQ_SCALE); self.dubflat7locrianscale = WestTemp.get_nseqby_seqpos( [0, 1, 3, 5, 6, 8, 9], NSEQ_SCALE); self.majorchord = noteseq("TestMajor", NSEQ_SCALE, WestTemp, [0, 4, 7], [0, 2, 4]);
def makebaserep(notex, base = 0): """ Used for converting "C" -> 1, "Db"-> 2b, etc. """ notexparsed = WestTemp.note_parse(notex); pos_rep = unicode(WestTemp.nat_key_lookup_order[notexparsed[0]] + base); if notexparsed[1] > 0: return pos_rep + (M_SHARP * notexparsed[1]); elif notexparsed[1] < 0: return pos_rep + (M_FLAT * (-1 * notexparsed[1])); else: return pos_rep;
def test_temperament_dict(self): """ Like test_seq_dict, but checks dictionary in WestTemp. """ self.assertTrue(WestTemp.check_nseqby_subdict(NSEQ_CHORD)); self.assertTrue(WestTemp.check_nseqby_name(NSEQ_CHORD, "Major")); self.assertTrue(WestTemp.check_nseqby_name(NSEQ_CHORD, "Minor")); self.assertFalse(WestTemp.check_nseqby_name(NSEQ_CHORD, "Chord")); self.assertTrue(WestTemp.check_nseqby_abbrv(NSEQ_CHORD, "maj")); self.assertTrue(WestTemp.check_nseqby_abbrv(NSEQ_CHORD, "min")); self.assertFalse(WestTemp.check_nseqby_abbrv(NSEQ_SCALE, "chd")); self.assertTrue(WestTemp.check_nseqby_seqpos(NSEQ_CHORD, [0, 4, 7])); self.assertEqual(WestTemp.get_nseqby_name("Major", NSEQ_CHORD), self.majorchord);
def populate_scale_chords(scale_name, key, possiblechords): """ Returns an instance of scale_chords using the following inputs: scale_name: a name of a scale like "Dorian". key: generally a standard music key like "C". possiblechords: a sequence of chord types like "Seventh" and "Ninth". """ our_scale = WestTemp.get_nseqby_name(scale_name, NSEQ_SCALE); num_elem = len(our_scale.nseq_posn); try: int_of_key = int(key) is_key_an_int = True; except ValueError: is_key_an_int = False; int_of_key = None; if is_key_an_int: our_scale_notes = [makebaserep(x, int_of_key) for x in our_scale.get_notes_for_key("C")]; else: our_scale_notes = our_scale.get_notes_for_key(key); our_chord_data = scale_chords(scale_name, key, our_scale_notes, make_roman_numeral_list(num_elem)); for i in possiblechords: ourchordrow = scale_chordrow(i); our_chord_data.rows.append(ourchordrow); for j in range(num_elem): our_slice = CHORDTYPE_DICT[i]; if is_key_an_int: our_chord_notes = [makebaserep(x, int_of_key) for x in our_scale.get_notes_for_key("C", j, our_slice)]; else: our_chord_notes = our_scale.get_notes_for_key(key, j, our_slice); our_posn = our_scale.get_posn_for_offset(j, our_slice, True); our_chord = WestTemp.get_nseqby_seqpos(our_posn, NSEQ_CHORD); if our_chord: ourchordrow.notes.append(scale_chordcell(our_chord.nseq_name, our_chord.nseq_abbrev, our_chord_notes)); else: ourchordrow.notes.append(scale_chordcell("", "", our_chord_notes)); return our_chord_data;
def setUp(self): self.majorchord = WestTemp.get_nseqby_name("Major", NSEQ_CHORD);
def test_temperament_dict(self): """ Like test_seq_dict, but checks dictionary in WestTemp. """ self.assertTrue(WestTemp.check_nseqby_subdict(NSEQ_CHORD)) self.assertTrue(WestTemp.check_nseqby_subdict(NSEQ_SCALE)) self.assertFalse(WestTemp.check_nseqby_subdict(666)) self.assertTrue(WestTemp.check_nseqby_name(NSEQ_SCALE, "Major")) self.assertFalse(WestTemp.check_nseqby_name(NSEQ_CHORD, "Minor")) self.assertFalse(WestTemp.check_nseqby_name(NSEQ_SCALE, "Minor")) self.assertFalse(WestTemp.check_nseqby_abbrv(NSEQ_SCALE, "maj")) self.assertFalse(WestTemp.check_nseqby_abbrv(NSEQ_CHORD, "min")) self.assertFalse(WestTemp.check_nseqby_abbrv(NSEQ_SCALE, "min")) self.assertFalse( WestTemp.check_nseqby_seqpos(NSEQ_CHORD, CHROM_NAT_NOTE_POS)) self.assertTrue( WestTemp.check_nseqby_seqpos(NSEQ_SCALE, CHROM_NAT_NOTE_POS)) self.assertEqual(WestTemp.get_nseqby_name("Major", NSEQ_SCALE), self.majorscale) self.assertEqual(WestTemp.get_nseqby_name("Ionian", NSEQ_SCALE), self.majorscale) self.assertEqual( WestTemp.get_nseqby_name("Melodic Minor", NSEQ_SCALE), self.melminscale) self.assertEqual( WestTemp.get_nseqby_name("Jazz Minor", NSEQ_SCALE), self.melminscale) self.assertEqual( WestTemp.get_nseqby_name("Harmonic Minor", NSEQ_SCALE), self.harmminscale) self.assertEqual( WestTemp.get_nseqby_name("Harmonic Major", NSEQ_SCALE), self.harmmajscale) self.assertEqual(WestTemp.get_nseqby_name("Dorian", NSEQ_SCALE), self.dorianscale) self.assertEqual(WestTemp.get_nseqby_name("Locrian", NSEQ_SCALE), self.locrianscale) self.assertEqual( WestTemp.get_nseqby_name("Superlocrian", NSEQ_SCALE), self.superlocrianscale) self.assertEqual( WestTemp.get_nseqby_name("Ultralocrian", NSEQ_SCALE), self.ultralocrianscale) self.assertEqual(WestTemp.get_nseqby_name("Locrian " + M_FLAT \ + M_FLAT + "7", NSEQ_SCALE), self.dubflat7locrianscale) self.assertEqual( WestTemp.get_nseqby_seqpos(CHROM_NAT_NOTE_POS, NSEQ_SCALE), self.majorscale) self.assertEqual( WestTemp.get_nseqby_seqpos(MEL_MIN_NOTE_POS, NSEQ_SCALE), self.melminscale) self.assertEqual( WestTemp.get_nseqby_seqpos(HARM_MIN_NOTE_POS, NSEQ_SCALE), self.harmminscale) self.assertEqual( WestTemp.get_nseqby_seqpos(HARM_MAJ_NOTE_POS, NSEQ_SCALE), self.harmmajscale)
def test_temperament_dict(self): """ Like test_seq_dict, but checks dictionary in WestTemp. """ self.assertTrue(WestTemp.check_nseqby_subdict(NSEQ_CHORD)); self.assertTrue(WestTemp.check_nseqby_subdict(NSEQ_SCALE)); self.assertFalse(WestTemp.check_nseqby_subdict(666)); self.assertTrue(WestTemp.check_nseqby_name(NSEQ_SCALE, "Major")); self.assertFalse(WestTemp.check_nseqby_name(NSEQ_CHORD, "Minor")); self.assertFalse(WestTemp.check_nseqby_name(NSEQ_SCALE, "Minor")); self.assertFalse(WestTemp.check_nseqby_abbrv(NSEQ_SCALE, "maj")); self.assertFalse(WestTemp.check_nseqby_abbrv(NSEQ_CHORD, "min")); self.assertFalse(WestTemp.check_nseqby_abbrv(NSEQ_SCALE, "min")); self.assertFalse(WestTemp.check_nseqby_seqpos(NSEQ_CHORD, CHROM_NAT_NOTE_POS)); self.assertTrue(WestTemp.check_nseqby_seqpos(NSEQ_SCALE, CHROM_NAT_NOTE_POS)); self.assertEqual(WestTemp.get_nseqby_name("Major", NSEQ_SCALE), self.majorscale); self.assertEqual(WestTemp.get_nseqby_name("Ionian", NSEQ_SCALE), self.majorscale); self.assertEqual(WestTemp.get_nseqby_name("Melodic Minor", NSEQ_SCALE), self.melminscale); self.assertEqual(WestTemp.get_nseqby_name("Jazz Minor", NSEQ_SCALE), self.melminscale); self.assertEqual(WestTemp.get_nseqby_name("Harmonic Minor", NSEQ_SCALE), self.harmminscale); self.assertEqual(WestTemp.get_nseqby_name("Harmonic Major", NSEQ_SCALE), self.harmmajscale); self.assertEqual(WestTemp.get_nseqby_name("Dorian", NSEQ_SCALE), self.dorianscale); self.assertEqual(WestTemp.get_nseqby_name("Locrian", NSEQ_SCALE), self.locrianscale); self.assertEqual(WestTemp.get_nseqby_name("Superlocrian", NSEQ_SCALE), self.superlocrianscale); self.assertEqual(WestTemp.get_nseqby_name("Ultralocrian", NSEQ_SCALE), self.ultralocrianscale); self.assertEqual(WestTemp.get_nseqby_name("Locrian " + M_FLAT \ + M_FLAT + "7", NSEQ_SCALE), self.dubflat7locrianscale); self.assertEqual(WestTemp.get_nseqby_seqpos( CHROM_NAT_NOTE_POS, NSEQ_SCALE), self.majorscale); self.assertEqual(WestTemp.get_nseqby_seqpos( MEL_MIN_NOTE_POS, NSEQ_SCALE), self.melminscale); self.assertEqual(WestTemp.get_nseqby_seqpos( HARM_MIN_NOTE_POS, NSEQ_SCALE), self.harmminscale); self.assertEqual(WestTemp.get_nseqby_seqpos( HARM_MAJ_NOTE_POS, NSEQ_SCALE), self.harmmajscale);