]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/dynamic-performer.cc
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / lily / dynamic-performer.cc
index 3fda6d4dbe37959d42d1d54f3b45ef5eb0e0a4dc..05969cffad6fa28294388ea86afa820a2e225147 100644 (file)
@@ -3,13 +3,14 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 2000--2005 Jan Nieuwenhuizen <janneke@gnu.org>
+  (c) 2000--2006 Jan Nieuwenhuizen <janneke@gnu.org>
 */
 
 #include "performer.hh"
 
 #include "audio-item.hh"
 #include "music.hh"
+#include "translator.icc"
 
 /*
   TODO:
@@ -23,25 +24,25 @@ class Dynamic_performer : public Performer
 public:
   TRANSLATOR_DECLARATIONS (Dynamic_performer);
 protected:
-  virtual bool try_music (Music *req);
-  virtual void stop_translation_timestep ();
-  virtual void create_audio_elements ();
+  virtual bool try_music (Music *event);
+  void stop_translation_timestep ();
+  void process_music ();
 
 private:
-  Music *script_req_;
+  Music *script_event_;
   Audio_dynamic *audio_;
 };
 
 Dynamic_performer::Dynamic_performer ()
 {
-  script_req_ = 0;
+  script_event_ = 0;
   audio_ = 0;
 }
 
 void
-Dynamic_performer::create_audio_elements ()
+Dynamic_performer::process_music ()
 {
-  if (script_req_)
+  if (script_event_)
     {
       SCM proc = get_property ("dynamicAbsoluteVolumeFunction");
 
@@ -49,7 +50,7 @@ Dynamic_performer::create_audio_elements ()
       if (ly_is_procedure (proc))
        {
          // urg
-         svolume = scm_call_1 (proc, script_req_->get_property ("text"));
+         svolume = scm_call_1 (proc, script_event_->get_property ("text"));
        }
 
       Real volume = robust_scm2double (svolume, 0.5);
@@ -83,9 +84,7 @@ Dynamic_performer::create_audio_elements ()
 
          SCM eq = get_property ("instrumentEqualizer");
          if (ly_is_procedure (eq))
-           {
-             s = scm_call_1 (eq, s);
-           }
+           s = scm_call_1 (eq, s);
 
          if (is_number_pair (s))
            {
@@ -95,9 +94,9 @@ Dynamic_performer::create_audio_elements ()
        }
 
       audio_ = new Audio_dynamic (volume);
-      Audio_element_info info (audio_, script_req_);
+      Audio_element_info info (audio_, script_event_);
       announce_element (info);
-      script_req_ = 0;
+      script_event_ = 0;
     }
 }
 
@@ -114,11 +113,11 @@ Dynamic_performer::stop_translation_timestep ()
 bool
 Dynamic_performer::try_music (Music *r)
 {
-  if (!script_req_)
+  if (!script_event_)
     {
       if (r->is_mus_type ("absolute-dynamic-event")) // fixme.
        {
-         script_req_ = r;
+         script_event_ = r;
          return true;
        }
     }
@@ -126,9 +125,8 @@ Dynamic_performer::try_music (Music *r)
 }
 
 ADD_TRANSLATOR (Dynamic_performer,
-               /*descr*/                "",
-               /* creats*/ "",
-               /* accepts */ "absolute-dynamic-event",
-               /* acks */ "",
-               /*reads */"dynamicAbsoluteVolumeFunction midiMaximumVolume midiMinimumVolume midiInstrument instrumentEqualizer",
+               /* doc */                "",
+               /* create */ "",
+               /* accept */ "absolute-dynamic-event",
+               /* read */ "dynamicAbsoluteVolumeFunction midiMaximumVolume midiMinimumVolume midiInstrument instrumentEqualizer",
                /*writes*/"");