]> git.donarmstrong.com Git - lilypond.git/blob - lily/note.cc
release: 0.0.75
[lilypond.git] / lily / note.cc
1 /*
2   could use cleanup
3  */
4 #include <ctype.h>
5
6 #include "my-lily-lexer.hh"
7 #include "string.hh"
8 #include "real.hh"
9 #include "debug.hh"
10 #include "musical-request.hh"
11 #include "command-request.hh"
12 #include "music-list.hh"
13 #include "identifier.hh"
14 #include "varray.hh"
15 #include "text-def.hh"
16 #include "parseconstruct.hh"
17
18
19
20 String *
21 get_scriptdef(char c)
22 {
23     String s;
24     switch (c) {
25     case '^' : s = "marcato";
26         break;
27     case  '+' : s = "stopped";
28         break;
29     case '-' : s = "tenuto";
30         break;
31     case  '|':  s = "staccatissimo";
32         break;
33     case  'o' : s = "";
34         break;
35     case '>' : s = "accent";
36         break;
37     case  'v' : s = ""; 
38         break;
39     case  '.' : s = "staccato";
40         break;
41     default:
42         assert(false);
43     }
44     return new String(s);
45 }
46
47 Request*
48 get_script_req(int d , General_script_def*def)
49 {
50     Musical_script_req* script_req_p = new Musical_script_req;
51     script_req_p->dir_i_ =d;
52     script_req_p->scriptdef_p_=def;
53     return script_req_p;
54 }
55
56
57
58 Request*
59 get_stemdir_req(int d)
60 {
61     d = sign(long(d));
62     Group_feature_req * gfreq_p = new Group_feature_req;
63     gfreq_p->type_str_ = "vdir";
64     gfreq_p->value_str_ = String(d);
65     return gfreq_p;
66 }
67 Request*
68 get_hshift_req(int i)
69 {
70    Group_feature_req * gfreq_p = new Group_feature_req;
71     gfreq_p->type_str_ = "hshift";
72     gfreq_p->value_str_ = String(i);
73     return gfreq_p;
74 }
75     
76 Request*
77 get_grouping_req(Array<int> i_arr)
78 {
79     Measure_grouping_req * mr_p = new Measure_grouping_req;
80     for (int i=0; i <i_arr.size(); ) {
81         mr_p->elt_length_arr_.push(Moment(1, i_arr[i++]));
82         mr_p->beat_i_arr_.push(i_arr[i++]);
83     }
84     return mr_p;
85 }