Skip to content

Commit 6188bd0

Browse files
committed
add new tab, some bugfixes
1 parent 98dc355 commit 6188bd0

File tree

18 files changed

+8716
-130
lines changed

18 files changed

+8716
-130
lines changed

apps/notation_tool/src/tab/mod.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ impl<'a> TabInfo<'a> {
1919

2020
pub fn get_tab_list<'a>() -> Vec<TabInfo<'a>> {
2121
vec![
22-
TabInfo::new("test", test::new_tab_test),
22+
TabInfo::new("test", test::new_tab),
2323
TabInfo::new("beginner:1_right_hand", beginner::right_hand_1::new_tab),
2424
TabInfo::new(
2525
"songs:pu_shu:bai_hua_lin",
@@ -33,6 +33,10 @@ pub fn get_tab_list<'a>() -> Vec<TabInfo<'a>> {
3333
"songs:misc:stand_by_me",
3434
songs::misc::stand_by_me::new_tab,
3535
),
36+
TabInfo::new(
37+
"songs:misc:scarborough_fair",
38+
songs::misc::scarborough_fair::new_tab,
39+
),
3640
]
3741
}
3842

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
pub mod stand_by_me;
2+
pub mod scarborough_fair;
Lines changed: 315 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,315 @@
1+
use notation_dsl::tab;
2+
use notation_proto::prelude::*;
3+
4+
pub fn new_tab() -> Tab {
5+
tab! {
6+
Meta: TabMeta::new(Key::E, Scale::Minor, Signature::_3_4, Tempo::Bpm(129))
7+
Tracks: [
8+
{chord Chord [
9+
$duration = D_1_2
10+
"6-_7" Chord ( 6: 3- 5 7- )
11+
"6-_7/4" Chord ( 6: 3- 5 7- /4 )
12+
"5/4" Chord ( 5: 3 5 /4 )
13+
"5" Chord ( 5: 3 5 )
14+
"6sus2" Chord ( 6: 2 5 )
15+
"6-" Chord ( 6: 3- 5 )
16+
"1" Chord ( 1: 3 5 )
17+
"v:12"
18+
$duration = _1_4
19+
Chord ( 1: 3 5 )
20+
$duration = _1_2
21+
Chord ( 2: 3 5 ) |
22+
"v:19"
23+
$duration = _1_4
24+
Chord ( 1: 3 5 )
25+
Chord ( 5: 3 5 /3) |
26+
Chord ( 6: 3- 5 ) |
27+
]}
28+
{guitar Guitar [
29+
Fretboard capo: 7
30+
$duration = D_1_2
31+
"Am7" Shape ( 0 0 4 0 3 0 )
32+
"Am7/D" Shape ( 0 5 4 0 3 0 )
33+
"G/C" Shape ( _ 3 0 0 0 _ )
34+
"Asus2" Shape ( _ 0 2 2 0 0 )
35+
"G'" Shape ( 3 _ 0 0 0 _ )
36+
"G" Shape ( 3 2 0 0 0 3 )
37+
"C" Shape ( 0 3 2 0 1 0 )
38+
"Am" Shape ( 0 0 2 2 1 0 )
39+
"C_D"
40+
$duration = _1_4
41+
Shape ( 0 3 2 0 1 0 )
42+
$duration = _1_2
43+
Shape ( 0 0 0 2 3 2 ) |
44+
"C_G/B_Am"
45+
$duration = _1_4
46+
Shape ( 0 3 2 0 1 0 )
47+
Shape ( _ 2 0 0 3 0 )
48+
Shape ( 0 0 2 2 1 0 ) |
49+
$duration = _1_8
50+
"i" Pick [ 5 1 3 4 2 3 ] |
51+
"i:3" Pick [ 5 2 3* 5@2* ] |
52+
"v:7" Pick [ (6 2) 3 4 (4@2 2@1) (4 2) 3 ] |
53+
"v:12" Pick [ (5 2 1) 3 (4 2 1) 3 (4 2) 3 ] |
54+
"v:17" Pick [ 5 1 3 4 5 5@2 ] |
55+
"v:20" Pick [ (6 2) 3 4 3 (4@2 2@1) (4 2) ] |
56+
"v:21" Pick [ (4@2 2@1 *) (4 2 *) 6* ] |
57+
"v:23" Pick [ (6 2) 3 4 3 (4@2 2@1 *) ] |
58+
"v:24" Pick [ (4 2 *) (4 2 -) (4@2 2@1 -) (4 2 -) (6 3) 4 ] |
59+
]}
60+
{lyrics Lyrics [
61+
$duration = _1_4
62+
"v1:1" Word [ "are"* "you" ] |
63+
"v1:2" Word [ "go-", "ing"* "to", ] |
64+
"v1:3" Word [ "scar-"+ "bo-", "rough" ] |
65+
"v1:4" Word [ "fare"*+ ] |
66+
"v:6" Word [ _ "pars-" "ley" ] |
67+
"v:7" Word [ "sage"* "rose-" ] |
68+
"v:8" Word [ "ma-" "ry" "and" ] |
69+
"v:9" Word [ "thyme"*+ ] |
70+
"v1:12" Word [ _* "re-" ] |
71+
"v1:13" Word [ "mem-"* "ber" ] |
72+
"v1:14" Word [ "me"* "to" ] |
73+
"v1:15" Word [ "one" "who" "lives" ] |
74+
"v1:16" Word [ "there"*+ ] |
75+
"v1:18" Word [ "she"* "once" ] |
76+
"v1:19" Word [ "was"* "a" ] |
77+
"v1:20" Word [ "true" "love" "of" ] |
78+
"v1:21" Word [ "mine"*+ ] |
79+
"v2:1" Word [ "tell", "her"+ "to" ] |
80+
"v2:2" Word [ "make" "me" "a" ] |
81+
"v2:3" Word [ "cam-"* "bric" ] |
82+
"v2:4" Word [ "shirt"*+ ] |
83+
"v2:12" Word [ _* "with-" ] |
84+
"v2:13" Word [ "out"* "no" ] |
85+
"v2:14" Word [ "seams"* "nor" ] |
86+
"v2:15" Word [ "needle"*+ ] |
87+
"v2:16" Word [ "work"*+ ] |
88+
"v2:18" Word [ "then"* "she'll" ] |
89+
"v2:19" Word [ "be"* "a" ] |
90+
"v2:20" Word [ "true" "love" "of" ] |
91+
"v2:21" Word [ "mine"*+ ] |
92+
"v3:1" Word [ "tell", "her"+ "to" ] |
93+
"v3:2" Word [ "find" "me" "an" ] |
94+
"v3:3" Word [ "acre"* "of" ] |
95+
"v3:4" Word [ "land"*+ ] |
96+
"v3:12" Word [ _* "bet-" ] |
97+
"v3:13" Word [ "ween" "the" "salt" ] |
98+
"v3:14" Word [ "wa-"* "ter" ] |
99+
"v3:15" Word [ "and" "the" "sea" ] |
100+
"v3:16" Word [ "strand"*+ ] |
101+
"v4:1" Word [ "tell", "her"+ "to" ] |
102+
"v4:2" Word [ "reap", "it"+ "in", "a", ] |
103+
"v4:3" Word [ "si-", "ckle"+ "of" ] |
104+
"v4:4" Word [ "lea-"* "ther" ] |
105+
"v4:12" Word [ _* "" ] |
106+
"v4:13" Word [ ""* "" ] |
107+
"v4:14" Word [ ""* "" ] |
108+
"v4:15" Word [ "" "" "" ] |
109+
"v4:16" Word [ "", "", @ ""* ] |
110+
"v4:18" Word [ ""* "" ] |
111+
"v4:19" Word [ ""* "" ] |
112+
"v4:20" Word [ "" "" "" ] |
113+
"v4:21" Word [ ""*+ ] |
114+
"v5:1" Word [ ""* "" ] |
115+
"v5:2" Word [ "", ""* "", ] |
116+
"v5:3" Word [ ""+ "", "" ] |
117+
"v5:4" Word [ ""*+ ] |
118+
"v5:6" Word [ _ "" "" ] |
119+
"v5:7" Word [ ""* "" ] |
120+
"v5:8" Word [ "" "" "" ] |
121+
"v5:9" Word [ ""*+ ] |
122+
"v5:12" Word [ _* "" ] |
123+
"v5:13" Word [ ""* "" ] |
124+
"v5:14" Word [ ""* "" ] |
125+
"v5:15" Word [ "" "" "" ] |
126+
"v5:16" Word [ "", "", @ ""* ] |
127+
"v5:18" Word [ ""* "" ] |
128+
"v5:19" Word [ ""* "" ] |
129+
"v5:20" Word [ "" "" "" ] |
130+
"v5:21" Word [ ""*+ ] |
131+
]}
132+
{vocal Vocal [
133+
$key = E
134+
$scale = Minor
135+
$duration = _1_4
136+
"v:1" Tone [ .6* .6 ] |
137+
"v:2" Tone [ 3, 3* 3, ] |
138+
"v:3" Tone [ .7+ 1, .7 ] |
139+
"v:4" Tone [ .6*+ ] |
140+
"v:6" Tone [ _ 3 5 ] |
141+
"v:7" Tone [ 6* 5 ] |
142+
"v:8" Tone [ 3 #4 2 ] |
143+
"v:9" Tone [ 3*+ ] |
144+
"v:12" Tone [ _* 6 ] |
145+
"v:13" Tone [ 6* 6 ] |
146+
"v:14" Tone [ 5* 3 ] |
147+
"v:15" Tone [ 3 2 1 ] |
148+
"v:16" Tone [ .7, .5, @ .5* ] |
149+
"v:18" Tone [ .6* 3 ] |
150+
"v:19" Tone [ 2* 1 ] |
151+
"v:20" Tone [ .7 .6 .5 ] |
152+
"v:21" Tone [ .6*+ ] |
153+
"v2:1" Tone [ .6, .6+ .6 ] |
154+
"v2:2" Tone [ 3 3 3 ] |
155+
"v2:3" Tone [ .7 1 .7 ] |
156+
"v3:13" Tone [ 6 6 6 ] |
157+
"v4:2" Tone [ 3, 3+ 3, 3, ] |
158+
"v4:3" Tone [ .7, 1+ .7 ] |
159+
"v4:4" Tone [ .6* .6 ] |
160+
"v4:12" Tone [ _* 6, 6, ] |
161+
"v4:14" Tone [ 5* 2, 2, ] |
162+
"v4:15" Tone [ 1 ,7 ,6 ] |
163+
"v4:16" Tone [ 2, .5, @ .5* ] |
164+
]}
165+
]
166+
Sections: [
167+
{intro Intro [
168+
{
169+
chord [ "6-_7" 1 ]
170+
guitar [ "Am7" 1 ; "i" | ]
171+
} {
172+
chord [ "6-_7/4" 1 ]
173+
guitar [ "Am7/D" 1 ; "i" | ]
174+
} {
175+
chord [ "5/4" 1 ]
176+
guitar [ "G/C" 1 ; "i:3" | ]
177+
}
178+
]}
179+
{verse Verse [
180+
{
181+
chord [ "6-_7" 1 ]
182+
guitar [ "Am7" 1 ; "i" | ]
183+
lyrics [ "v1:1" | @ 1 5 ; "v2:1" | @ 2 ; "v3:1" | @ 3 ; "v4:1" | @ 4 ; "v5:1" | @ 5 ]
184+
vocal [ "v:1" | @ 1 5 ; "v2:1" | @ 2 3 4 ]
185+
}
186+
{
187+
chord [ "6sus2" 1 ]
188+
guitar [ "Asus2" 1 ; "i" | ]
189+
lyrics [ "v1:2" | @ 1 5 ; "v2:2" | @ 2 ; "v3:2" | @ 3 ; "v4:2" | @ 4 ; "v5:2" | @ 5 ]
190+
vocal [ "v:2" | @ 1 5 ; "v2:2" | @ 2 3 ; "v4:2" | @ 4 ]
191+
}
192+
{
193+
chord [ "6-_7" 1 ]
194+
guitar [ "Am7" 1 ; "i" | ]
195+
lyrics [ "v1:3" | @ 1 5 ; "v2:3" | @ 2 ; "v3:3" | @ 3 ; "v4:3" | @ 4 ; "v5:3" | @ 5 ]
196+
vocal [ "v:3" | @ 1 5 ; "v2:3" | @ 2 3 ; "v4:3" | @ 4 ]
197+
}
198+
{
199+
chord [ "6sus2" 1 ]
200+
guitar [ "Asus2" 1 ; "i" | ]
201+
lyrics [ "v1:4" | @ 1 5 ; "v2:4" | @ 2 ; "v3:4" | @ 3 ; "v4:4" | @ 4 ; "v5:4" | @ 5 ]
202+
vocal [ "v:4" | @ 1 2 3 5 ; "v4:4" | @ 4 ]
203+
}
204+
{
205+
chord [ "6-_7" 1 ]
206+
guitar [ "Am7" 1 ; "i" | ]
207+
}
208+
{
209+
chord [ "6sus2" 1 ]
210+
guitar [ "Am7" 1 ; "i" | ]
211+
lyrics [ "v:6" | ]
212+
vocal [ "v:6" | ]
213+
}
214+
{
215+
chord [ "5" 1 ]
216+
guitar [ "G'" 1 ; "v:7" | ]
217+
lyrics [ "v:7" | ]
218+
vocal [ "v:7" | ]
219+
}
220+
{
221+
chord [ "6-_7" 1 ]
222+
guitar [ "Am7" 1 ; "i" | ]
223+
lyrics [ "v:8" | ]
224+
vocal [ "v:8" | ]
225+
}
226+
{
227+
chord [ "6sus2" 1 ]
228+
guitar [ "Asus2" 1 ; "i" | ]
229+
lyrics [ "v:9" | ]
230+
vocal [ "v:9" | ]
231+
}
232+
{
233+
chord [ "1" 1 ]
234+
guitar [ "C" 1 ; "i" | ]
235+
}
236+
{
237+
chord [ "6-" 1 ]
238+
guitar [ "Am" 1 ; "i" | ]
239+
}
240+
{
241+
chord [ "v:12" | ]
242+
guitar [ "C_D" | ; "v:12" | ]
243+
lyrics [ "v1:12" | @ 1 5 ; "v2:12" | @ 2 ; "v3:12" | @ 3 ; "v4:12" | @ 4 ]
244+
vocal [ "v:12" | ]
245+
}
246+
{
247+
chord [ "6-_7" 1 ]
248+
guitar [ "Am7" 1 ; "i" | ]
249+
lyrics [ "v1:13" | @ 1 5 ; "v2:13" | @ 2 ; "v3:13" | @ 3 ; "v4:13" | @ 4 ]
250+
vocal [ "v:13" | @ 1 2 ; "v3:13" | @ 3 4 5 ]
251+
}
252+
{
253+
chord [ "6sus2" 1 ]
254+
guitar [ "Asus2" 1 ; "i" | ]
255+
lyrics [ "v1:14" | @ 1 5 ; "v2:14" | @ 2 ; "v3:14" | @ 3 ; "v4:14" | @ 4 ]
256+
vocal [ "v:14" | @ 1 2 3 ; "v4:14" | @ 4 5 ]
257+
}
258+
{
259+
chord [ "6-_7" 1 ]
260+
guitar [ "Am7" 1 ; "i" | ]
261+
lyrics [ "v1:15" | @ 1 5 ; "v2:15" | @ 2 ; "v3:15" | @ 3 ; "v4:15" | @ 4 ]
262+
vocal [ "v:15" | @ 1 2 3 ; "v4:15" | @ 4 5 ]
263+
}
264+
{
265+
chord [ "6sus2" 1 ]
266+
guitar [ "Asus2" 1 ; "i" | ]
267+
lyrics [ "v1:16" | @ 1 5 ; "v2:16" | @ 2 ; "v3:16" | @ 3 ; "v4:16" | @ 4 ]
268+
vocal [ "v:16" | @ 1 2 3 ; "v4:16" | @ 4 5 ]
269+
}
270+
{
271+
chord [ "6sus2" 1 ]
272+
guitar [ "Asus2" 1 ; "v:17" | ]
273+
}
274+
{
275+
chord [ "1" 1 ]
276+
guitar [ "C" 1 ; "i" | ]
277+
lyrics [ "v1:18" | @ 1 5 ; "v2:18" | @ 2 3 4 ]
278+
vocal [ "v:18" | ]
279+
}
280+
{
281+
chord [ "v:19" | ]
282+
guitar [ "C_G/B_Am" | ; "v:12" | ]
283+
lyrics [ "v1:19" | @ 1 5 ; "v2:19" | @ 2 3 4 ]
284+
vocal [ "v:19" | ]
285+
}
286+
{
287+
chord [ "5" 1 ]
288+
guitar [ "G" 1 ; "v:20" | ]
289+
lyrics [ "v1:20" | @ 1 5 ; "v2:20" | @ 2 3 4 ]
290+
vocal [ "v:20" | ]
291+
}
292+
{
293+
chord [ "5" 1 ]
294+
guitar [ "G" 1 ; "v:21" | ]
295+
lyrics [ "v1:21" | @ 1 5 ; "v2:21" | @ 2 3 4 ]
296+
vocal [ "v:21" | ]
297+
}
298+
{
299+
chord [ "6sus2" 1 ]
300+
guitar [ "Asus2" 1 ; "i" | ]
301+
}
302+
{
303+
chord [ "5" 1 ]
304+
guitar [ "G" 1 ; "v:23" | ]
305+
}
306+
{
307+
chord [ "5" 1 ]
308+
guitar [ "G" 1 ; "v:24" | ]
309+
}
310+
]}
311+
]
312+
Form: intro verse verse verse
313+
}
314+
}
315+

0 commit comments

Comments
 (0)