Overview
Comment: | Fixed note duration calculation- whole is now 4, quarter is 1 |
---|---|
Timelines: | family | ancestors | descendants | both | feature/abc |
Files: | files | file ages | folders |
SHA1: |
2906c127b758b49e290c63b7278be40a |
User & Date: | brian on 2011-09-22 17:49:07 |
Other Links: | branch diff | manifest | tags |
Context
2011-09-22
| ||
17:58 | Fixed tempo for realz this time check-in: 4b32d1483b user: brian tags: feature/abc | |
17:49 | Fixed note duration calculation- whole is now 4, quarter is 1 check-in: 2906c127b7 user: brian tags: feature/abc | |
17:46 | Added back in section ordering support check-in: 6dd4fffb1d user: brian tags: feature/abc | |
Changes
Modified parse.py from [55456fde56] to [d321d5c2e1].
1 2 3 4 5 6 | #!/usr/bin/env python import tree from ply import lex, yacc class Note(): | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #!/usr/bin/env python import tree from ply import lex, yacc class Note(): def __init__(self, value, duration=.25, octave=8): self.value = value self.duration = duration self.octave = octave self.accidental = None def __repr__(self): return "Note %s %s %s" % (self.value, self.duration, self.octave) class Chord(): def __init__(self, value, duration=.25, chord_type="major", octave=5): self.value = value self.duration = duration self.chord_type = chord_type self.octave = octave def __repr__(self): return "Chord %s %s %s" % (self.value, self.duration, self.chord_type, self.octave) |
︙ | ︙ | |||
108 109 110 111 112 113 114 | new_note.duration = p[2] p[0] = new_note def p_chord_length(p): ''' chord : chord NOTE_LENGTH ''' new_note = p[1] | | | 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | new_note.duration = p[2] p[0] = new_note def p_chord_length(p): ''' chord : chord NOTE_LENGTH ''' new_note = p[1] new_note.duration = 4*p[2] p[0] = new_note def p_chord(p): '''chord : QUOTE pitch QUOTE | QUOTE pitch CHORD_TYPE QUOTE ''' |
︙ | ︙ | |||
148 149 150 151 152 153 154 | def p_rest(p): ''' rest : REST | REST NOTE_LENGTH ''' p[0] = Rest() if len(p) > 2: | | | 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | def p_rest(p): ''' rest : REST | REST NOTE_LENGTH ''' p[0] = Rest() if len(p) > 2: p[0].duration = 4*p[2] def p_node(p): '''node : NODE ''' p[0] = tree.Tree(p[1].strip("(").strip(")")) |
︙ | ︙ |
Modified test.sco from [00c6c84bf8] to [0d4c902ccc].
1 2 3 4 5 | f1 0 512 10 1 f2 0 8192 10 .24 .64 .88 .76 .06 .5 .34 .08 f3 0 1025 10 1 t 0 60 | | > > > > > > | | | | | | | | | | | | | | > > > | | | > | | | | > | | < | | | | | | > | | > | | > | > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | f1 0 512 10 1 f2 0 8192 10 .24 .64 .88 .76 .06 .5 .34 .08 f3 0 1025 10 1 t 0 60 i2 0.000000 0.250000 7000 8.04 2 i2 0.250000 0.250000 7000 8.09 2 i2 0.500000 0.250000 7000 8.02 2 i2 0.750000 0.250000 7000 8.07 2 i2 1.000000 0.250000 7000 8.05 2 i2 1.250000 0.250000 7000 8.05 2 i2 1.500000 0.250000 7000 8.00 2 i2 1.750000 0.500000 7000 8.07 2 i2 2.250000 0.500000 7000 8.07 2 i2 2.750000 0.500000 7000 8.07 2 i2 3.250000 0.250000 7000 8.00 2 i2 3.500000 0.250000 7000 7.11 2 i2 3.750000 0.250000 7000 9.05 2 i2 4.000000 0.250000 7000 8.00 2 i2 4.250000 0.250000 7000 8.05 2 i2 4.500000 0.250000 7000 8.00 2 i2 4.750000 0.250000 7000 8.11 2 i2 5.000000 0.250000 7000 8.04 2 i2 5.250000 0.250000 7000 8.09 2 i2 5.500000 0.250000 7000 8.02 2 i2 5.750000 0.250000 7000 8.07 2 i2 6.000000 0.250000 7000 8.05 2 i2 6.250000 0.250000 7000 8.05 2 i2 6.500000 2.000000 7000 8.11 2 i2 8.500000 0.250000 7000 8.02 2 i2 8.750000 0.250000 7000 8.02 2 i2 9.000000 0.500000 7000 8.07 2 i2 9.500000 0.500000 7000 8.09 2 i2 10.000000 0.250000 7000 8.02 2 i2 10.250000 0.250000 7000 8.00 2 i2 10.500000 0.250000 7000 8.00 2 i2 10.750000 0.250000 7000 8.00 2 i2 11.000000 0.250000 7000 8.00 2 i2 11.250000 0.500000 7000 8.05 2 i2 11.750000 0.500000 7000 8.05 2 i2 12.250000 0.250000 7000 8.00 2 i2 12.500000 0.250000 7000 8.00 2 i2 12.750000 0.250000 7000 8.00 2 i2 13.000000 0.250000 7000 8.00 2 i2 13.250000 0.500000 7000 8.05 2 i2 13.750000 0.500000 7000 8.05 2 i2 14.250000 0.250000 7000 8.00 2 i2 14.500000 0.250000 7000 8.00 2 i2 14.750000 0.250000 7000 8.00 2 i2 15.000000 0.250000 7000 8.00 2 i2 15.250000 0.500000 7000 8.05 2 i2 15.750000 0.500000 7000 8.05 2 i2 16.250000 0.500000 7000 8.05 2 i2 8.500000 0.250000 7000 8.02 2 i2 8.750000 0.250000 7000 8.02 2 i2 9.000000 0.500000 7000 8.07 2 i2 9.500000 0.500000 7000 8.09 2 i2 10.000000 0.250000 7000 8.02 2 i2 10.250000 0.250000 7000 8.02 2 i2 10.500000 0.250000 7000 8.02 2 i2 10.750000 0.500000 7000 8.07 2 i2 11.250000 0.500000 7000 8.09 2 i2 11.750000 0.250000 7000 8.02 2 i2 12.000000 0.250000 7000 8.02 2 i2 12.250000 0.250000 7000 8.02 2 i2 12.500000 0.500000 7000 8.07 2 i2 13.000000 0.500000 7000 8.09 2 i2 13.500000 0.250000 7000 8.02 2 i2 13.750000 0.250000 7000 8.02 2 i2 14.000000 0.250000 7000 8.02 2 i2 14.250000 0.500000 7000 8.07 2 i2 14.750000 0.500000 7000 8.09 2 i2 15.250000 0.250000 7000 8.02 2 i2 15.500000 0.250000 7000 8.02 2 i2 15.750000 0.250000 7000 8.02 2 i2 16.000000 0.500000 7000 8.07 2 i2 16.500000 0.500000 7000 8.09 2 i2 17.000000 0.250000 7000 8.02 2 i2 17.250000 0.250000 7000 8.02 2 |