2
staff-collecting-engraver.cc -- implement Staff_collecting_engraver
4
source file of the GNU LilyPond music typesetter
6
(c) 2001--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
2
staff-collecting-engraver.cc -- implement Staff_collecting_engraver
4
source file of the GNU LilyPond music typesetter
6
(c) 2001--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
9
9
#include "staff-symbol.hh"
10
10
#include "engraver.hh"
12
12
#include "context.hh"
15
14
class Staff_collecting_engraver : public Engraver
18
17
TRANSLATOR_DECLARATIONS (Staff_collecting_engraver);
19
virtual void acknowledge_grob (Grob_info);
18
DECLARE_ACKNOWLEDGER (staff_symbol);
22
21
Staff_collecting_engraver::Staff_collecting_engraver ()
28
Staff_collecting_engraver::acknowledge_grob (Grob_info gi)
26
Staff_collecting_engraver::acknowledge_staff_symbol (Grob_info gi)
30
if (Staff_symbol::has_interface (gi.grob_))
32
SCM staffs = get_property ("stavesFound");
33
staffs = gh_cons (gi.grob_->self_scm (), staffs);
28
SCM staffs = get_property ("stavesFound");
29
staffs = scm_cons (gi.grob ()->self_scm (), staffs);
35
daddy_context_->set_property ("stavesFound", staffs);
31
context ()->set_property ("stavesFound", staffs);
40
ENTER_DESCRIPTION (Staff_collecting_engraver,
41
/* descr */ "Maintain the stavesFound variable",
45
/* acks */ "staff-symbol-interface",
46
/* reads */ "stavesFound",
47
/* write */ "stavesFound");
34
#include "translator.icc"
35
ADD_ACKNOWLEDGER (Staff_collecting_engraver, staff_symbol);
37
ADD_TRANSLATOR (Staff_collecting_engraver,
38
/* doc */ "Maintain the stavesFound variable",
42
/* read */ "stavesFound",
43
/* write */ "stavesFound");