]> git.donarmstrong.com Git - lilypond.git/blob - lily/note.cc
release: 0.0.44
[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
32 void
33 add_requests(Voice_element *v, Array<Request*> &req)
34 {
35     for (int i = 0; i < req.size(); i++) {
36         v->add(req[i]);
37     }
38     req.set_size(0);
39 }
40 String *
41 get_scriptdef(char c)
42 {
43     String s;
44     switch (c) {
45     case '^' : s = "marcato";
46         break;
47     case  '+' : s = "stopped";
48         break;
49     case '-' : s = "tenuto";
50         break;
51     case  '|':  s = "staccatissimo";
52         break;
53     case  'o' : s = "";
54         break;
55     case '>' : s = "accent";
56         break;
57     case  'v' : s = ""; 
58         break;
59     case  '.' : s = "staccato";
60         break;
61     }
62     return new String(s);
63 }
64
65 Request*
66 get_script_req(int d , Script_def*def)
67 {
68     Script_req* script_req_p = new Script_req(d, def);
69     return script_req_p;
70 }
71
72 Request*
73 get_text_req(int d , Text_def*def)
74 {
75     Text_req* text_req_p = new Text_req(d, def);
76     return text_req_p;
77 }
78
79 Request*
80 get_stemdir_req(int d)
81 {
82     Group_feature_req * gfreq_p = new Group_feature_req;
83     gfreq_p->stemdir_i_ =d; 
84     return gfreq_p;
85 }
86
87 Request*
88 get_grouping_req(Array<int> i_arr)
89 {
90     Measure_grouping_req * mr_p = new Measure_grouping_req;
91     for (int i=0; i <i_arr.size(); ) {
92         mr_p->beat_i_arr_.push(i_arr[i++]);
93         mr_p->elt_length_arr_.push(Moment(1, i_arr[i++]));
94     }
95     return mr_p;
96 }