spiffyscore

Check-in [4b32d1483b]
Login
Overview
Comment:Fixed tempo for realz this time
Timelines: family | ancestors | descendants | both | feature/abc
Files: files | file ages | folders
SHA1:4b32d1483bb91ebbcdf5d75fbfa110452cb5169a
User & Date: brian on 2011-09-22 17:58:22
Other Links: manifest | tags
Context
2011-09-22
18:04
Fixed bug that prevented more than two sections from working properly check-in: b2ce9522e9 user: brian tags: feature/abc
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
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Modified parse.py from [d321d5c2e1] to [8a5aef4235].

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
...
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)


class Rest():
    def __init__(self, duration=.25):
        self.duration = duration
    def __repr__(self):
        return "Rest node %s" % self.duration


def parse(score, default_octave=8):
    # Tokenize (lex)
................................................................................
        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(")"))








|








|









|







 







|







 







|







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
...
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)


class Rest():
    def __init__(self, duration=1):
        self.duration = duration
    def __repr__(self):
        return "Rest node %s" % self.duration


def parse(score, default_octave=8):
    # Tokenize (lex)
................................................................................
        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(")"))


Modified test.sco from [0d4c902ccc] to [ec3cdf0cc7].

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


    
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









|
|
|
|
<
<
<
<
<
<
<
<
<
<
<
|
<
|
>
|
<
<
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
<
<
<
|
<
<
<
<
<
>
>
>
|
|
<
<
<
<
<
<
<
<
>
>
>
|
|
<
<
>
>
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
    
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 2.000000 7000 8.11 2
i2 3.500000 1.000000 7000 8.02 2
i2 4.500000 1.000000 7000 8.02 2
i2 5.500000 0.500000 7000 8.07 2











i2 6.000000 0.500000 7000 8.09 2

i2 6.500000 1.000000 7000 8.02 2
i2 7.500000 1.000000 7000 8.02 2
i2 8.500000 1.000000 7000 8.02 2


i2 9.500000 0.500000 7000 8.07 2






















i2 10.000000 0.500000 7000 8.09 2



i2 10.500000 1.000000 7000 8.02 2





i2 11.500000 1.000000 7000 8.02 2
i2 3.500000 1.000000 7000 8.02 2
i2 4.500000 1.000000 7000 8.02 2
i2 5.500000 0.500000 7000 8.07 2
i2 6.000000 0.500000 7000 8.09 2








i2 6.500000 1.000000 7000 8.02 2
i2 7.500000 1.000000 7000 8.02 2
i2 8.500000 1.000000 7000 8.02 2
i2 9.500000 0.500000 7000 8.07 2
i2 10.000000 0.500000 7000 8.09 2


i2 10.500000 1.000000 7000 8.02 2
i2 11.500000 1.000000 7000 8.02 2