]> git.donarmstrong.com Git - lilypond.git/blob - lily/grid-point-engraver.cc
* lily/include/translator.hh (class Translator): remove
[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 #include "translator.icc"
15
16 class Grid_point_engraver : public Engraver
17 {
18 public:
19   TRANSLATOR_DECLARATIONS (Grid_point_engraver);
20 protected:
21   void process_music ();
22 };
23
24 void
25 Grid_point_engraver::process_music ()
26 {
27   SCM  grid_interval = get_property ("gridInterval");
28   if (Moment *mom = unsmob_moment (grid_interval))
29     {
30       Moment now = now_mom ();
31
32       if (!now.main_part_.mod_rat (mom->main_part_))
33         {
34           make_item ("GridPoint", SCM_EOL);
35         }
36     }
37 }
38
39 Grid_point_engraver::Grid_point_engraver ()
40 {
41 }
42
43
44 ADD_TRANSLATOR (Grid_point_engraver,
45                 /* descr */ "generate grid points.",
46                 /* creats*/ "GridPoint",
47                 /* accepts */ "",
48                 /* reads */ "gridInterval",
49                 /* write */ "");
50