-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchordstoscore
More file actions
117 lines (107 loc) · 2.91 KB
/
chordstoscore
File metadata and controls
117 lines (107 loc) · 2.91 KB
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
def accordDistanceX = 25
def accordDistanceY = 100
def accordsPerLine = 10
def getX(step as Number) = accordDistanceX * step
def getY(step as Number) = 0 #accordDistanceY * step
#DRAW THE GUITAR DIAGRAM
def score(x as Number y as Number key as String) = {
def xMin = x - 9
def xMax = x + 6
def yMin = y - 20
def yMax = y + 12
line(xMin y + 12.5 xMax y + 12.5) #END LINE
text(x - 9 y + 17 8 key) #KEY
#STRINGS
repeat -3 to 3 using i {
def y2 = y + i * 6
def x2 = x + i * 3
line(xMin y2 xMax y2)
line(x2 yMin x2 yMax)
}
}
#draw a dot position
def dot(x as Number y as Number z as Number fret as Number) = {
def offsetX = (z * 3) - 12
def offsetY = (fret * 6) - 15
circle(x + offsetX y - offsetY 1.2)
}
#draw arcs covering all frets
def fret(x as Number y as Number fret as Number) = {
def offsetY = (y + 12) - (fret * 6)
arc(x - 2 offsetY - 19 22 4.4 5.05)
arc(x - 2 offsetY - 18 22 4.4 5.05)
}
#CHORDS LIST
def A(step as Number) = {#A CHORD
def x = getX(step) def y = getY(step) score(x y "A")
dot(x y 3 2) dot(x y 4 2) dot(x y 5 2)
}
def Am(step as Number) = {#A CHORD
def x = getX(step) def y = getY(step) score(x y "Am")
dot(x y 3 2) dot(x y 4 2) dot(x y 5 1)
}
def B(step as Number) = {
def x = getX(step) def y = getY(step) score(x y "B")
dot(x y 3 4) dot(x y 4 4) dot(x y 5 4) fret(x y 2)
}
def Bm(step as Number) = {
def x = getX(step) def y = getY(step) score(x y "Bm")
dot(x y 3 4) dot(x y 4 4) dot(x y 5 3) fret(x y 2)
}
def C(step as Number) = {
def x = getX(step) def y = getY(step) score(x y "C")
dot(x y 2 3) dot(x y 3 2) dot(x y 5 1)
}
def Cm(step as Number) = {
def x = getX(step) def y = getY(step) score(x y "Cm")
dot(x y 3 5) dot(x y 4 5) dot(x y 5 4) fret(x y 3)
}
def D(step as Number) = {
def x = getX(step) def y = getY(step) score(x y "D")
dot(x y 4 2) dot(x y 5 3) dot(x y 6 2)
}
def Dm(step as Number) = {
def x = getX(step) def y = getY(step) score(x y "Dm")
dot(x y 4 2) dot(x y 5 3) dot(x y 6 1)
}
def E(step as Number) = {
def x = getX(step) def y = getY(step) score(x y "E")
dot(x y 2 2) dot(x y 3 2) dot(x y 4 1)
}
def Em(step as Number) = {
def x = getX(step) def y = getY(step) score(x y "Em")
dot(x y 2 2) dot(x y 3 2)
}
def F(step as Number) = {
def x = getX(step) def y = getY(step) score(x y "F")
dot(x y 2 3) dot(x y 3 3) dot(x y 4 2) fret(x y 1)
}
def Fm(step as Number) = {
def x = getX(step) def y = getY(step) score(x y "Fm")
dot(x y 2 3) dot(x y 3 3) fret(x y 1)
}
def G(step as Number) = {
def x = getX(step) def y = getY(step) score(x y "G")
dot(x y 1 3) dot(x y 2 2) dot(x y 6 3)
}
def Gm(step as Number) = {
def x = getX(step) def y = getY(step) score(x y "Gm")
dot(x y 2 5) dot(x y 3 5) fret(x y 3)
}
#TEST
A(1)
Am(2)
B(3)
Bm(4)
C(5)
def getY(step as Number) = -50 #accordDistanceY * step
Cm(1)
D(2)
Dm(3)
E(4)
Em(5)
def getY(step as Number) = -100 #accordDistanceY * step
F(1)
Fm(2)
G(3)
Gm(4)