-
-Chord *
-My_lily_parser::get_note_element (Note_req *rq, Duration * duration_p)
-{
- Chord*v = new Request_chord;
- v->set_spot (here_input());
-
- v->add (rq);
-
- // too bad parser reads (default) duration via member access,
- // this hack will do for now..
- if (abbrev_beam_type_i_)
- {
- assert (!duration_p->plet_b ());
- duration_p->set_plet (1, 2);
- }
- rq->set_duration (*duration_p);
- rq->set_spot (here_input());
- delete duration_p ;
- return v;
-}
-
-Request*
-My_lily_parser::get_parens_request (char c)
-{
- Request* req_p=0;
- switch (c)
- {
-
- case '~':
- req_p = new Tie_req;
- break;
- case '[':
- case ']':
- {
- if (!abbrev_beam_type_i_)
- {
- Beam_req*b = new Beam_req;
- int p_i=plet_.type_i_ ; // ugh . Should junk?
- if (p_i!= 1)
- b->nplet = p_i;
- req_p = b;
- }
- else
- {
- Abbreviation_beam_req* a = new Abbreviation_beam_req;
- a->type_i_ = abbrev_beam_type_i_;
- if (c==']')
- abbrev_beam_type_i_ = 0;
- req_p = a;
- }
- }
- break;
-
- case '>':
- case '!':
- case '<':
- req_p = new Span_dynamic_req;
- break;
-
- case ')':
- case '(':
- req_p = new Slur_req;
- break;
- default:
- assert (false);
- break;
- }