]> git.donarmstrong.com Git - lilypond.git/blob - lily/voice-group-gravs.cc
release: 0.1.11
[lilypond.git] / lily / voice-group-gravs.cc
1 /*
2   voicegroup.cc -- implement Voice_group_engravers
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8 #include "proto.hh"
9 #include "plist.hh"
10 #include "musical-request.hh"
11 #include "voice-group-gravs.hh"
12 #include "engraver.hh"
13 #include "command-request.hh"
14 #include "debug.hh"
15
16
17 Voice_group_engravers::Voice_group_engravers()
18 {
19   dir_ =CENTER;
20 }
21
22 bool
23 Voice_group_engravers::do_try_request (Request*r_l)
24 {
25   Command_req* c_l = r_l->command();
26   if (c_l&& c_l->groupfeature()) 
27     {
28       Feature f;
29       f.type_ = c_l->groupfeature()->type_str_;
30       f.value_ = c_l->groupfeature()->value_str_;
31       set_feature (f);
32       return true;
33     }
34   return Engraver_group_engraver::do_try_request (r_l);
35 }
36
37
38
39 IMPLEMENT_IS_TYPE_B1(Voice_group_engravers,Engraver_group_engraver);
40
41 void
42 Voice_group_engravers::do_print() const
43 {
44 #ifndef NPRINT
45   Engraver_group_engraver::do_print();
46 #endif
47 }
48
49
50
51 Scalar
52 Voice_group_engravers::get_feature (String f)
53 {
54   if (f == "vdir")
55     return dir_;
56   Engraver_group_engraver::get_feature (f);
57 }
58
59 ADD_THIS_ENGRAVER(Voice_group_engravers);