]> git.donarmstrong.com Git - lilypond.git/blob - lily/apply-context-iterator.cc
* lily/parser.yy (Simple_music): \applycontext #FUNCTION allows
[lilypond.git] / lily / apply-context-iterator.cc
1 #include "simple-music-iterator.hh"
2 #include "translator-group.hh"
3 #include "music.hh"
4
5 /**
6   Iterate a property.  
7  */
8 class Apply_context_iterator : public Simple_music_iterator
9 {
10 public:
11   VIRTUAL_COPY_CONS (Music_iterator);
12   DECLARE_SCHEME_CALLBACK(constructor, ());
13 protected:
14   virtual void process (Moment);
15 };
16
17
18 void
19 Apply_context_iterator::process (Moment m)
20 {
21   SCM proc = get_music ()->get_mus_property ("procedure");
22
23   scm_call_1 (proc, report_to()->self_scm());
24   
25   Simple_music_iterator::process(m);
26 }
27
28 IMPLEMENT_CTOR_CALLBACK (Apply_context_iterator);
29