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 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 ... 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 |
#!/usr/bin/env python import tree from ply import lex, yacc class Note(): def __init__(self, value, duration=1 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=1, 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) ................................................................................ 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 = p[2] p[0] = new_note def p_chord(p): '''chord : QUOTE pitch QUOTE | QUOTE pitch CHORD_TYPE QUOTE ''' ................................................................................ def p_rest(p): ''' rest : REST | REST NOTE_LENGTH ''' p[0] = Rest() if len(p) > 2: p[0].duration = p[2] def p_node(p): '''node : NODE ''' p[0] = tree.Tree(p[1].strip("(").strip(")")) |
| | | | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 ... 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 |
#!/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) ................................................................................ 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 ''' ................................................................................ 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 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 |
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.00 2 i2 0.250000 0.500000 7000 8.07 2 i2 0.750000 0.500000 7000 8.07 2 i2 1.250000 0.500000 7000 8.07 2 i2 1.750000 0.250000 7000 8.00 2 i2 2.000000 0.250000 7000 7.11 2 i2 2.250000 0.250000 7000 9.05 2 i2 2.500000 0.250000 7000 8.00 2 i2 2.750000 0.250000 7000 8.05 2 i2 3.000000 0.250000 7000 8.00 2 i2 3.250000 0.250000 7000 8.11 2 i2 3.500000 0.250000 7000 8.04 2 i2 3.750000 0.250000 7000 8.09 2 i2 4.000000 0.250000 7000 8.02 2 i2 4.250000 0.250000 7000 8.07 2 i2 4.500000 0.250000 7000 8.05 2 i2 4.750000 0.250000 7000 8.05 2 i2 5.000000 2.000000 7000 8.11 2 i2 7.000000 0.250000 7000 8.00 2 i2 7.250000 0.250000 7000 8.00 2 i2 7.500000 0.250000 7000 8.00 2 i2 7.750000 0.250000 7000 8.00 2 i2 8.000000 0.500000 7000 8.05 2 i2 8.500000 0.500000 7000 8.05 2 i2 9.000000 0.250000 7000 8.00 2 i2 9.250000 0.250000 7000 8.00 2 i2 9.500000 0.250000 7000 8.00 2 i2 9.750000 0.250000 7000 8.00 2 i2 10.000000 0.500000 7000 8.05 2 i2 10.500000 0.500000 7000 8.05 2 i2 11.000000 0.500000 7000 8.05 2 i2 7.000000 0.250000 7000 8.02 2 i2 7.250000 0.250000 7000 8.02 2 i2 7.500000 0.500000 7000 8.07 2 i2 8.000000 0.500000 7000 8.09 2 i2 8.500000 0.250000 7000 8.02 2 i2 8.750000 3.000000 7000 8.02 2 |
| > > > > > > | | | | | | | | | | | | | | | | | > > > > | | | | > | | > > > | > > | | | > | | > > > | > | | > > > > > > | | | < > > > > > > > > > > > |
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 |