blob: 50117587eaf2f5c071185400f80c9fdd79406d38 (
plain)
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
|
use crate::audio::{parse, program::Program};
const MELODY: &str = r#"
; setup
a v100 d50
o120
%define notes
a p$1 v100 - a v0 -
a p$1 v100 - a v0 -
a pd4 v100 -- a v0 --
a pa4 v100 -- a v0 -- --
a pg3# v100 - a v0 - --
a pg3 v100 - a v0 - --
a pf3 v100 --- a v0 -
a pd3 v100 - a v0 -
a pf3 v100 - a v0 -
a pg3 v100 - a v0 -
%end
notes d3
notes c3
notes b3
notes b3b
notes d3
notes c3
notes b3
notes b3b
"#;
const BASE: &str = r#"
-128
; setup
b v100 d50
o120
%define notes
b p$1 v100 -- b v0 --
b p$1 v100 -- b v0 --
b p$1 v100 - b v0 -
b p$1 v100 - b v0 - --
b p$2 v100 - b v0 - --
b p$2 v100 - b v0 - --
b p$2 v100 - b v0 -
b p$2 v100 - b v0 -
b p$2 v100 -- b v0 --
%end
notes d2 d2
notes c2 c2
notes b2 b2
notes b2 c2
"#;
pub struct Data {
pub test: Program,
}
impl Data {
pub fn load() -> parse::Result<Self> {
let melody = Program::parse(MELODY, true)?;
let base = Program::parse(BASE, true)?;
let test = melody.merge(base);
Ok(Self { test })
}
}
|