def _initialize_with_mode_name(self, mode_name): mdi_segment = [] m2 = pitchtools.NamedInterval('minor', 2) M2 = pitchtools.NamedInterval('major', 2) A2 = pitchtools.NamedInterval('augmented', 2) dorian = [M2, m2, M2, M2, M2, m2, M2] if mode_name == 'dorian': mdi_segment.extend(sequencetools.rotate_sequence(dorian, 0)) elif mode_name == 'phrygian': mdi_segment.extend(sequencetools.rotate_sequence(dorian, -1)) elif mode_name == 'lydian': mdi_segment.extend(sequencetools.rotate_sequence(dorian, -2)) elif mode_name == 'mixolydian': mdi_segment.extend(sequencetools.rotate_sequence(dorian, -3)) elif mode_name in ('aeolian', 'minor', 'natural minor'): mdi_segment.extend(sequencetools.rotate_sequence(dorian, -4)) elif mode_name == 'locrian': mdi_segment.extend(sequencetools.rotate_sequence(dorian, -5)) elif mode_name in ('ionian', 'major'): mdi_segment.extend(sequencetools.rotate_sequence(dorian, -6)) elif mode_name == 'melodic minor': mdi_segment.extend([M2, m2, M2, M2, M2, M2, m2]) elif mode_name == 'harmonic minor': mdi_segment.extend([M2, m2, M2, M2, m2, A2, m2]) else: message = 'unknown mode name: {!r}.' message = message.format(mode_name) raise ValueError(message) return pitchtools.IntervalSegment( items=mdi_segment, item_class=pitchtools.NamedInterval, )
octavation=consort.OctavationExpression(), stem_tremolo_spanner=consort.AttachmentExpression( attachments=spannertools.StemTremoloSpanner(), selector=selectortools.select_pitched_runs(), ), ), color='red', labels=[ 'pedaled', 'piano tremolo', ], pitch_handler=consort.AbsolutePitchHandler( deviations=[0, -2, 0, 0, 2, 0, 3], logical_tie_expressions=( consort.ChordExpression( chord_expr=pitchtools.IntervalSegment([-7, -3, 0, 5, 6, 12]), ), consort.ChordExpression( chord_expr=pitchtools.IntervalSegment([-7, -3, 0, 1, 5, 12]), ), ), pitch_specifier=consort.PitchSpecifier( pitch_segments=["d'", "f'", "c'"], ), ), rhythm_maker=rhythmmakertools.NoteRhythmMaker( tie_specifier=rhythmmakertools.TieSpecifier( tie_across_divisions=True, ), ), )