]> git.donarmstrong.com Git - lilypond.git/blob - lily/note.cc
release: 0.1.11
[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     {
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 , General_script_def*def)
50 {
51   Musical_script_req* script_req_p = new Musical_script_req;
52   script_req_p->dir_ =d;
53   script_req_p->scriptdef_p_=def;
54   return script_req_p;
55 }
56
57
58
59 Request*
60 get_stemdir_req (int d)
61 {
62   d = sign (long (d));
63   Group_feature_req * gfreq_p = new Group_feature_req;
64   gfreq_p->type_str_ = "vdir";
65   gfreq_p->value_str_ = String (d);
66   return gfreq_p;
67 }
68 Request*
69 get_hshift_req (int i)
70 {
71    Group_feature_req * gfreq_p = new Group_feature_req;
72   gfreq_p->type_str_ = "hshift";
73   gfreq_p->value_str_ = String (i);
74   return gfreq_p;
75 }
76   
77 Request*
78 get_grouping_req (Array<int> i_arr)
79 {
80   Measure_grouping_req * mr_p = new Measure_grouping_req;
81   for (int i=0; i <i_arr.size();) 
82     {
83         mr_p->elt_length_arr_.push (Moment (1, i_arr[i++]));
84         mr_p->beat_i_arr_.push (i_arr[i++]);
85     }
86   return mr_p;
87 }