]> git.donarmstrong.com Git - lilypond.git/blob - lily/note.cc
e0c974aa9a41786db1fae90e00f63d21ed9c336a
[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 #include "script.hh"
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 String *
22 get_scriptdef(char c)
23 {
24     String s;
25     switch (c) {
26     case '^' : s = "marcato";
27         break;
28     case  '+' : s = "stopped";
29         break;
30     case '-' : s = "tenuto";
31         break;
32     case  '|':  s = "staccatissimo";
33         break;
34     case  'o' : s = "";
35         break;
36     case '>' : s = "accent";
37         break;
38     case  'v' : s = ""; 
39         break;
40     case  '.' : s = "staccato";
41         break;
42     default:
43         assert(false);
44     }
45     return new String(s);
46 }
47
48 Request*
49 get_script_req(int d , Script_def*def)
50 {
51     Musical_script_req* script_req_p = new Musical_script_req;
52     script_req_p->dir_i_ =d;
53     script_req_p->scriptdef_p_=def;
54     return script_req_p;
55 }
56
57 Request*
58 get_text_req(int d , Text_def*def)
59 {
60     Text_req* text_req_p = new Text_req(d, def);
61     return text_req_p;
62 }
63
64 Request*
65 get_stemdir_req(int d)
66 {
67     d = sign(long(d));
68     Group_feature_req * gfreq_p = new Group_feature_req;
69     gfreq_p->type_str_ = "vdir";
70     gfreq_p->value_str_ = String(d);
71     return gfreq_p;
72 }
73 Request*
74 get_hshift_req(int i)
75 {
76    Group_feature_req * gfreq_p = new Group_feature_req;
77     gfreq_p->type_str_ = "hshift";
78     gfreq_p->value_str_ = String(i);
79     return gfreq_p;
80 }
81     
82 Request*
83 get_grouping_req(Array<int> i_arr)
84 {
85     Measure_grouping_req * mr_p = new Measure_grouping_req;
86     for (int i=0; i <i_arr.size(); ) {
87         mr_p->elt_length_arr_.push(Moment(1, i_arr[i++]));
88         mr_p->beat_i_arr_.push(i_arr[i++]);
89     }
90     return mr_p;
91 }