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