]> git.donarmstrong.com Git - lilypond.git/blob - lily/voice-group-gravs.cc
release: 0.0.77.jcn1
[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_i_ =0;
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         Feature f;
28         f.type_ = c_l->groupfeature()->type_str_;
29         f.value_ = c_l->groupfeature()->value_str_;
30         set_feature(f);
31         return true;
32     }
33     return Engraver_group_engraver::do_try_request(r_l);
34 }
35
36
37
38 IMPLEMENT_IS_TYPE_B1(Voice_group_engravers,Engraver_group_engraver);
39
40 void
41 Voice_group_engravers::do_print() const
42 {
43 #ifndef NPRINT
44     Engraver_group_engraver::do_print();
45 #endif
46 }
47
48
49
50 Scalar
51 Voice_group_engravers::get_feature(String f)
52 {
53     if (f == "vdir")
54         return dir_i_;
55     Engraver_group_engraver::get_feature(f);
56 }
57
58 ADD_THIS_ENGRAVER(Voice_group_engravers);