]> git.donarmstrong.com Git - lilypond.git/blob - lily/grid-point-engraver.cc
* lily/include/event.hh: remove file.
[lilypond.git] / lily / grid-point-engraver.cc
1 /*
2   grid-line-engraver.cc --  implement Grid_point_engraver
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 2005 Han-Wen Nienhuys <hanwen@xs4all.nl>
7
8 */
9
10 #include "engraver.hh"
11 #include "item.hh"
12 #include "moment.hh"
13
14 class Grid_point_engraver : public Engraver
15 {
16 public:
17   TRANSLATOR_DECLARATIONS (Grid_point_engraver);
18 protected:
19   virtual void process_music ();
20 };
21
22 void
23 Grid_point_engraver::process_music ()
24 {
25   SCM  grid_interval = get_property ("gridInterval");
26   if (Moment *mom = unsmob_moment (grid_interval))
27     {
28       Moment now = now_mom ();
29
30       if (!now.main_part_.mod_rat (mom->main_part_))
31         {
32           make_item ("GridPoint", SCM_EOL);
33         }
34     }
35 }
36
37 Grid_point_engraver::Grid_point_engraver ()
38 {
39 }
40
41 ADD_TRANSLATOR (Grid_point_engraver,
42                 /* descr */ "generate grid points.",
43                 /* creats*/ "GridPoint",
44                 /* accepts */ "",
45                 /* acks  */ "",
46                 /* reads */ "gridInterval",
47                 /* write */ "");
48