]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/include/translator.hh (class Translator): remove
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sun, 24 Jul 2005 18:58:43 +0000 (18:58 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sun, 24 Jul 2005 18:58:43 +0000 (18:58 +0000)
PRECOMPUTED_VIRTUAL everywhere.

* lily/include/lily-guile.hh: inline scm_c[ad]r, scm_is_pair.

* lily/context.cc (now_mom): non-recursive now_mom()

* lily/grob.cc (Grob): look properties up directly.

100 files changed:
ChangeLog
lily/accidental-engraver.cc
lily/ambitus-engraver.cc
lily/arpeggio-engraver.cc
lily/auto-beam-engraver.cc
lily/bar-engraver.cc
lily/bar-number-engraver.cc
lily/beam-engraver.cc
lily/beam-performer.cc
lily/break-align-engraver.cc
lily/breathing-sign-engraver.cc
lily/chord-name-engraver.cc
lily/chord-tremolo-engraver.cc
lily/clef-engraver.cc
lily/cluster-engraver.cc
lily/collision-engraver.cc
lily/completion-note-heads-engraver.cc
lily/context.cc
lily/custos-engraver.cc
lily/dot-column-engraver.cc
lily/drum-note-engraver.cc
lily/drum-note-performer.cc
lily/dynamic-engraver.cc
lily/dynamic-performer.cc
lily/extender-engraver.cc
lily/figured-bass-engraver.cc
lily/fingering-engraver.cc
lily/forbid-break-engraver.cc
lily/glissando-engraver.cc
lily/grace-engraver.cc
lily/grid-line-span-engraver.cc
lily/grid-point-engraver.cc
lily/grob-pq-engraver.cc
lily/grob.cc
lily/hara-kiri-engraver.cc
lily/horizontal-bracket-engraver.cc
lily/hyphen-engraver.cc
lily/include/axis-group-engraver.hh
lily/include/engraver-group-engraver.hh
lily/include/gregorian-ligature-engraver.hh
lily/include/ligature-engraver.hh
lily/include/lily-guile.hh
lily/include/performer-group-performer.hh
lily/include/score-engraver.hh
lily/include/staff-symbol-engraver.hh
lily/include/timing-translator.hh
lily/include/translator-group.hh
lily/include/translator.hh
lily/instrument-name-engraver.cc
lily/key-engraver.cc
lily/key-performer.cc
lily/ledger-line-engraver.cc
lily/lyric-engraver.cc
lily/lyric-performer.cc
lily/mark-engraver.cc
lily/measure-grouping-engraver.cc
lily/melisma-translator.cc
lily/metronome-engraver.cc
lily/multi-measure-rest-engraver.cc
lily/new-fingering-engraver.cc
lily/note-head-line-engraver.cc
lily/note-heads-engraver.cc
lily/note-name-engraver.cc
lily/note-performer.cc
lily/ottava-engraver.cc
lily/output-property-engraver.cc
lily/part-combine-engraver.cc
lily/percent-repeat-engraver.cc
lily/phrasing-slur-engraver.cc
lily/piano-pedal-engraver.cc
lily/piano-pedal-performer.cc
lily/pitched-trill-engraver.cc
lily/repeat-acknowledge-engraver.cc
lily/rest-collision-engraver.cc
lily/rest-engraver.cc
lily/rhythmic-column-engraver.cc
lily/script-column-engraver.cc
lily/script-engraver.cc
lily/separating-line-group-engraver.cc
lily/slash-repeat-engraver.cc
lily/slur-engraver.cc
lily/slur-performer.cc
lily/spacing-engraver.cc
lily/span-arpeggio-engraver.cc
lily/span-bar-engraver.cc
lily/span-dynamic-performer.cc
lily/staff-performer.cc
lily/stanza-number-align-engraver.cc
lily/stanza-number-engraver.cc
lily/stem-engraver.cc
lily/system-start-delimiter-engraver.cc
lily/tab-note-heads-engraver.cc
lily/tempo-performer.cc
lily/text-engraver.cc
lily/text-spanner-engraver.cc
lily/tie-engraver.cc
lily/tie-performer.cc
lily/time-signature-engraver.cc
lily/time-signature-performer.cc
lily/translator-dispatch-list.cc

index 8abad9bb3461313f72fee2cf6386063c06c4f5f0..d6b4a7733bcd804dbde7fea87531413e16ff84a6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2005-07-24  Han-Wen Nienhuys  <hanwen@xs4all.nl>
 
+       * lily/include/translator.hh (class Translator): remove
+       PRECOMPUTED_VIRTUAL everywhere.
+
+       * lily/include/lily-guile.hh: inline scm_c[ad]r, scm_is_pair.
+
+       * lily/context.cc (now_mom): non-recursive now_mom() 
+
        * lily/include/profile.hh: new file.
 
        * lily/profile.cc: new file.
index c8e00a7b25e35a6d49185366550b7d63e6e063fd..1354495fc40acdbcffb24c6a1a2bd2c6d3156adb 100644 (file)
@@ -55,16 +55,16 @@ class Accidental_engraver : public Engraver
   
 protected:
   TRANSLATOR_DECLARATIONS (Accidental_engraver);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
 
   void acknowledge_tie (Grob_info);
   void acknowledge_arpeggio (Grob_info);
   void acknowledge_rhythmic_head (Grob_info);
   void acknowledge_finger (Grob_info);
   
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual void initialize ();
-  PRECOMPUTED_VIRTUAL void process_acknowledged ();
+  void process_acknowledged ();
   virtual void finalize ();
   virtual void derived_mark () const;
 
index ff3b7ea6a5a49e1994ba2b8d1c4321b325b2858b..05330364b8b25d79430fb4857c2dcfafe69dc543 100644 (file)
@@ -22,9 +22,9 @@ class Ambitus_engraver : public Engraver
 {
 public:
   TRANSLATOR_DECLARATIONS (Ambitus_engraver);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
   void acknowledge_note_head (Grob_info);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual void finalize ();
   virtual void derived_mark () const;
 
index febbb44e5694b84b4313b9f2651e49cf462170bb..f8a380d6d6adb54f38b640eae0befca6a648e3d8 100644 (file)
@@ -26,8 +26,8 @@ public:
   void acknowledge_rhythmic_head (Grob_info);
   void acknowledge_note_column (Grob_info);
 protected:
-  PRECOMPUTED_VIRTUAL void process_music ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void process_music ();
+  void stop_translation_timestep ();
   virtual bool try_music (Music *);
 private:
   Item *arpeggio_;
index e27aad488a816e3f82eed278438680a485aba285..aa020c7e16b632b397be0125c0103d05b97833fb 100644 (file)
@@ -26,9 +26,9 @@ class Auto_beam_engraver : public Engraver
   TRANSLATOR_DECLARATIONS (Auto_beam_engraver);
 
 protected:
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void stop_translation_timestep ();
+  void start_translation_timestep ();
+  void process_music ();
   virtual bool try_music (Music *);
   virtual void finalize ();
 
@@ -37,7 +37,7 @@ protected:
   DECLARE_ACKNOWLEDGER(bar_line);
   DECLARE_ACKNOWLEDGER(stem);
   
-  PRECOMPUTED_VIRTUAL void process_acknowledged ();
+  void process_acknowledged ();
 
 private:
   bool test_moment (Direction, Moment);
index 3875c05da0932f76e7794db09664b40eccda77d2..996f02bfe9ffc5e75faa465001da6a9159a09213 100644 (file)
@@ -25,8 +25,8 @@ public:
 
 protected:
   virtual void finalize ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_acknowledged ();
+  void stop_translation_timestep ();
+  void process_acknowledged ();
 
 private:
   void typeset_bar ();
index 5a82841290cfb710f64b4ec38255c0abc9b20da3..fb3c13251158eb8538fc59fd83c0343ed96e2ea8 100644 (file)
@@ -26,9 +26,9 @@ class Bar_number_engraver : public Engraver
 protected:
   Item *text_;
 protected:
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   DECLARE_ACKNOWLEDGER(break_aligned);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
   void create_items ();
   TRANSLATOR_DECLARATIONS (Bar_number_engraver);
 };
index 40bb7c4febd891085532d276ca90b750f07c2be9..07c2c9046a14da00ebb5ffc62df859ca14142159 100644 (file)
@@ -51,12 +51,12 @@ protected:
   void set_melisma (bool);
 
   Moment last_stem_added_at_;
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
+  void stop_translation_timestep ();
+  void start_translation_timestep ();
   virtual void finalize ();
 
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
 
   virtual bool valid_start_point ();
   virtual bool valid_end_point ();
index 0d5123613268567d016cd08cc78cb5353cc5c101..86180005338497433171f08ae5ec81ab765a38da 100644 (file)
@@ -22,8 +22,8 @@ public:
 
 protected:
   virtual bool try_music (Music *ev);
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void start_translation_timestep ();
+  void process_music ();
   void set_melisma (bool);
 private:
   Music *start_ev_;
index 3d4eab12a53d64873d7d2dfd7c2b3a87d6f7de24..12e14293b1e96fd44c7d143509811e3cea5990fc 100644 (file)
@@ -23,7 +23,7 @@ class Break_align_engraver : public Engraver
 
   void add_to_group (SCM, Item *);
 protected:
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual void derived_mark () const;
 public:
   TRANSLATOR_DECLARATIONS (Break_align_engraver);
index fc922cf58aeb04b07048adcb0e04e592b15dd068..e7ae12c6f1cccff583d519c921c5298203db7adc 100644 (file)
@@ -24,8 +24,8 @@ public:
 
 protected:
   virtual bool try_music (Music *event);
-  PRECOMPUTED_VIRTUAL void process_acknowledged ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void process_acknowledged ();
+  void stop_translation_timestep ();
 
 private:
   Music *breathing_sign_event_;
index b1206d28519417f8be45378f59eed8909e7c2ec7..5695ed1610d7d7490599d8510bbe439c2c647364 100644 (file)
@@ -22,8 +22,8 @@ class Chord_name_engraver : public Engraver
 {
   TRANSLATOR_DECLARATIONS (Chord_name_engraver);
 protected:
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void stop_translation_timestep ();
+  void process_music ();
   virtual bool try_music (Music *);
   virtual void finalize ();
   virtual void derived_mark () const;
index 0c34395902e0694fad86e107e26b9c14d5fcd0f9..94f657b09e186b614b1a6b97bc7c7df1a6f4b3b1 100644 (file)
@@ -58,9 +58,9 @@ protected:
 protected:
   virtual void finalize ();
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void stop_translation_timestep ();
+  void start_translation_timestep ();
+  void process_music ();
   DECLARE_ACKNOWLEDGER(stem);
 };
 
index c1afd9e220097d93a47100c19dbd669279b9f15d..4be3bb35cef30de25b5754684cf5aa2f6d4f048e 100644 (file)
@@ -27,8 +27,8 @@ public:
   Direction octave_dir_;
 
 protected:
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void stop_translation_timestep ();
+  void process_music ();
   DECLARE_ACKNOWLEDGER(bar_line);
 private:
   Item *clef_;
index 51d262c00e1b8f8b50b4ff6f07152270998128ec..eff1695eb33ea68864ccc8c16d25c8fc54e1d45d 100644 (file)
@@ -19,9 +19,9 @@ class Cluster_spanner_engraver : public Engraver
 protected:
   TRANSLATOR_DECLARATIONS (Cluster_spanner_engraver);
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
   DECLARE_ACKNOWLEDGER(note_column);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual void finalize ();
 private:
   Link_array<Music> cluster_notes_;
index c820e359216a0491f2d219cc281d6eb9376b3a1d..2a61907af2a7fef3844b297c5ff07dc6e5ef5eb4 100644 (file)
@@ -19,8 +19,8 @@ class Collision_engraver : public Engraver
 
 protected:
   DECLARE_ACKNOWLEDGER(note_column);
-  PRECOMPUTED_VIRTUAL void process_acknowledged ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void process_acknowledged ();
+  void stop_translation_timestep ();
 public:
   TRANSLATOR_DECLARATIONS (Collision_engraver);
 };
index 6f8bab9337ae62183d62a072c4299b0c99154a0f..7a0061f9b9878eb795850abbfa47dcd5322aeffb 100644 (file)
@@ -65,10 +65,10 @@ public:
 
 protected:
   virtual void initialize ();
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
+  void start_translation_timestep ();
   virtual bool try_music (Music *event);
-  PRECOMPUTED_VIRTUAL void process_music ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void process_music ();
+  void stop_translation_timestep ();
 };
 
 void
index 9177616318d31aa619180d5fb4471975124b0efb..6759a21d713ac7c5f036f9c0bc45415b5379a170 100644 (file)
@@ -495,7 +495,13 @@ Context::~Context ()
 Moment
 Context::now_mom () const
 {
-  return daddy_context_->now_mom ();
+  Context const *p = this;
+  while (p->daddy_context_)
+    {
+      p = p->daddy_context_;
+    }
+  
+  return p->now_mom ();
 }
 
 int
index b9649205ac191deec5ec2254642c2630f934fdf0..4ece68ae236c87ebfdd75b90c7675d2efbc5f7b1 100644 (file)
@@ -28,11 +28,11 @@ class Custos_engraver : public Engraver
 {
 public:
   TRANSLATOR_DECLARATIONS (Custos_engraver);
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
+  void start_translation_timestep ();
   DECLARE_ACKNOWLEDGER(bar);
   DECLARE_ACKNOWLEDGER(note_head);
-  PRECOMPUTED_VIRTUAL void process_acknowledged ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void process_acknowledged ();
+  void stop_translation_timestep ();
   virtual void finalize ();
 
 private:
index 235729c98a8b764b8329825c845905296e9b9190..f66f5a13b332428c9c60730dda29e1b31dea931e 100644 (file)
@@ -26,7 +26,7 @@ protected:
   DECLARE_ACKNOWLEDGER(stem);
   DECLARE_ACKNOWLEDGER(rhythmic_head);
   
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
 };
 
 Dot_column_engraver::Dot_column_engraver ()
index 479ac9ad0d1b4bcbb7ffa62460799187418f3462..f75658a19ce5e4a0879227cb6c5d9e02f7e05d1b 100644 (file)
@@ -27,10 +27,10 @@ public:
 
 protected:
   virtual bool try_music (Music *ev);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
   DECLARE_ACKNOWLEDGER(stem);
   DECLARE_ACKNOWLEDGER(note_column);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
 };
 
 Drum_notes_engraver::Drum_notes_engraver ()
index 388f6377248c5c1090da77fabe26ecb44cb1c9d2..27d0de7999d0d065869baa78ccf01f9b0aea3813 100644 (file)
@@ -21,7 +21,7 @@ public:
 
 protected:
   virtual bool try_music (Music *ev);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual void create_audio_elements ();
 
 private:
index c12d437b5ac8524ab3ca48cac34b1a1212aae3b3..a8ba235d333b0e3c53203bdc791e240332bea7a9 100644 (file)
@@ -67,8 +67,8 @@ class Dynamic_engraver : public Engraver
 protected:
   virtual void finalize ();
   virtual bool try_music (Music *event);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void stop_translation_timestep ();
+  void process_music ();
 };
 
 Dynamic_engraver::Dynamic_engraver ()
index 7b34e4c898896e2b979fb2961a5e954b6aff76f9..0860f3fa225f04fde3315e6dffaa54585102c0f5 100644 (file)
@@ -26,7 +26,7 @@ public:
   TRANSLATOR_DECLARATIONS (Dynamic_performer);
 protected:
   virtual bool try_music (Music *event);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual void create_audio_elements ();
 
 private:
index 5dd6776de5c11f2bda62007d1769203dc313741e..71741e5a6090c15abf6f65be26b371b8b16aab0e 100644 (file)
@@ -31,8 +31,8 @@ protected:
   DECLARE_ACKNOWLEDGER(lyric_syllable);
   virtual void finalize ();
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void stop_translation_timestep ();
+  void process_music ();
 };
 
 Extender_engraver::Extender_engraver ()
index 6527363805e58d4d4ecbf0d0f3bb01fb8a4e137d..748f0284ae75912bcba464cb238bd818bcdbec2d 100644 (file)
@@ -21,8 +21,8 @@ protected:
   Grob *figure_;
 
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void stop_translation_timestep ();
+  void process_music ();
 };
 
 Figured_bass_engraver::Figured_bass_engraver ()
index a473cc808fe16124493a7f222da858884e0faa2d..49dfaed32b340cc0a8f8fda97de883062b82ad81 100644 (file)
@@ -23,8 +23,8 @@ public:
   TRANSLATOR_DECLARATIONS (Fingering_engraver);
 protected:
   virtual bool try_music (Music *m);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void stop_translation_timestep ();
+  void process_music ();
   DECLARE_ACKNOWLEDGER(rhythmic_head);
   DECLARE_ACKNOWLEDGER(stem);
 
index 4f75b2be8e052ec8f031ad89a346a815b65a6b32..7ad1133e4f8784c74182134c4c8daa51d1189127 100644 (file)
@@ -19,7 +19,7 @@ class Forbid_line_break_engraver : public Engraver
 {
 public:
   TRANSLATOR_DECLARATIONS (Forbid_line_break_engraver);
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
+  void start_translation_timestep ();
 };
 
 Forbid_line_break_engraver::Forbid_line_break_engraver ()
index 7f4f1823bd869145d186addffdfc0a5a2a2a3b6c..8479b53ab7e833e2e75400021a823cc7d61148ca 100644 (file)
@@ -23,9 +23,9 @@ public:
 protected:
   DECLARE_ACKNOWLEDGER(rhythmic_head);
   virtual void finalize ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
 private:
   Spanner *line_;
   Spanner *last_line_;
index 57bf0c476d8acf128f86e1644965c502aa1e5e57..10c635592d96a69bd1db24c60ec9df6dde497ce9 100644 (file)
@@ -14,7 +14,7 @@ class Grace_engraver : public Engraver
 {
   void consider_change_grace_settings ();
 protected:
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
+  void start_translation_timestep ();
   virtual void derived_mark () const;
   virtual void initialize (); 
 
index 204454229439f6b2dcc71395c984265b54159efa..b6a96ab8f76f5dd2a32f167833e978411a2f0643 100644 (file)
@@ -20,7 +20,7 @@ public:
   TRANSLATOR_DECLARATIONS (Grid_line_span_engraver);
 protected:
   DECLARE_ACKNOWLEDGER(grid_point);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
 };
 
 Grid_line_span_engraver::Grid_line_span_engraver ()
index c45ff0d459b6462ea1d04741440b393288ecfb51..3b59d0cc853fb6cb5244cfde9e0fcf7c22591624 100644 (file)
@@ -18,7 +18,7 @@ class Grid_point_engraver : public Engraver
 public:
   TRANSLATOR_DECLARATIONS (Grid_point_engraver);
 protected:
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
 };
 
 void
index 221ba53de9b544d930c1592826e1762811c36a69..28f405021af50e92294af0b765ddded2215fc318 100644 (file)
@@ -29,8 +29,8 @@ public:
 protected:
   virtual void initialize ();
   DECLARE_ACKNOWLEDGER(grob);
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void start_translation_timestep ();
+  void stop_translation_timestep ();
 
   Array<Grob_pq_entry> started_now_;
 };
index b60058a1a46d3b3c4aa3c1020afe59715480c308..05fab21494820843ece5d14f028d4ab13d0675d1 100644 (file)
@@ -476,9 +476,9 @@ Grob::extent (Grob *refp, Axis a) const
 
   ext = ly_scm2interval (d->dimension_);
 
-  SCM extra = get_property (a == X_AXIS
-                           ? "extra-X-extent"
-                           : "extra-Y-extent");
+  SCM extra = (a == X_AXIS)
+    ? get_property ("extra-X-extent")
+    : get_property ("extra-Y-extent");
 
   /* Signs ?  */
   if (scm_is_pair (extra))
@@ -487,9 +487,10 @@ Grob::extent (Grob *refp, Axis a) const
       ext[SMALLER] += scm_to_double (scm_car (extra));
     }
 
-  extra = get_property (a == X_AXIS
-                       ? "minimum-X-extent"
-                       : "minimum-Y-extent");
+  extra = (a == X_AXIS)
+    ? get_property ("minimum-X-extent")
+    : get_property ("minimum-Y-extent");
+  
   if (scm_is_pair (extra))
     ext.unite (Interval (scm_to_double (scm_car (extra)),
                         scm_to_double (scm_cdr (extra))));
index 98f7f36d498d87b83811048f211176ab8d40b49d..7bc84f870a65418bf87b36efc2a9f6f20cd71400 100644 (file)
@@ -20,7 +20,7 @@ protected:
   virtual Spanner *get_spanner ();
   DECLARE_ACKNOWLEDGER(grob);
   virtual void add_element (Grob *e);
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
+  void start_translation_timestep ();
 
   SCM interesting_;
 public:
index cf611c5d1abaa39f38c4c997da010f003010a7a9..e63af5f45a2fe24eb2d3c30bf084c61bfe770ea9 100644 (file)
@@ -24,8 +24,8 @@ public:
   int push_count_;
 
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void stop_translation_timestep ();
+  void process_music ();
   DECLARE_ACKNOWLEDGER(note_column);
 };
 
index 750b19373424f23f7299c7f0648c79284a779d7b..151933c28ce009f74bbcbf30a2c32c03f527fcfe 100644 (file)
@@ -27,8 +27,8 @@ protected:
   DECLARE_ACKNOWLEDGER(lyric_syllable);
   virtual void finalize ();
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void stop_translation_timestep ();
+  void process_music ();
 private:
 };
 
index a6715f82cf6913caa23a4b05154206c9adc44354..40353c64e039c28c1d9b8c735ff191fd8ef3c957 100644 (file)
@@ -21,10 +21,10 @@ class Axis_group_engraver : public Engraver
 protected:
   Spanner *staffline_;
   Link_array<Grob> elts_;
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
   virtual void finalize ();
   DECLARE_ACKNOWLEDGER(grob);
-  PRECOMPUTED_VIRTUAL void process_acknowledged ();
+  void process_acknowledged ();
   virtual Spanner *get_spanner ();
   virtual void add_element (Grob *);
 public:
index c34de1c452921b3792667a72fa1c117ca023a37e..8e3f18be15dc4a81da1aecf276f6f79fe25b05f6 100644 (file)
@@ -22,7 +22,7 @@ public:
   VIRTUAL_COPY_CONSTRUCTOR ( Translator_group, Engraver_group_engraver);
   Engraver_group_engraver ();
   virtual void derived_mark () const;
-  PRECOMPUTED_VIRTUAL void do_announces ();
+  void do_announces ();
   virtual void announce_grob (Grob_info);
   int pending_grob_count () const;
 private:
index ab76c345e5673fb68be7b666a8d75cecef89e7dd..efcb73ae16e8840d47ad179b38f21d269c9d5295 100644 (file)
@@ -22,7 +22,7 @@ protected:
   virtual void build_ligature (Spanner *ligature, Array<Grob_info> primitives);
   virtual void transform_heads (Spanner *ligature,
                                Array<Grob_info> primitives); /* abstract method */
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
 };
 
 #endif // GREGORIAN_LIGATURE_ENGRAVER_HH
index 453083d197fed3345c5f9af328ce059453a3865e..f1feab679e1a6c9076c68d5f5a60ed244714f6ed 100644 (file)
 class Ligature_engraver : public Engraver
 {
 protected:
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual void finalize ();
 
 
   DECLARE_ACKNOWLEDGER(rest);
   DECLARE_ACKNOWLEDGER(note_head);
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
   virtual Spanner *create_ligature_spanner (); /* abstract method */
   virtual void typeset_ligature (Spanner *ligature,
                                 Array<Grob_info> primitives); /* abstract method */
index b0b302b0ffea93e6efc1090f1672fb9dbecb251a..29db1df39676677b83aa2cdc207378cbaa2c93cc 100644 (file)
@@ -159,4 +159,17 @@ typedef SCM (*Scheme_function_1) (...);
 typedef SCM (*Scheme_function_2) (...);
 typedef SCM (*Scheme_function_3) (...);
 #endif
+
+
+#define scm_cdr ly_cdr 
+#define scm_car ly_car
+#define scm_is_pair ly_is_pair
+
+inline SCM ly_car (SCM x) { return SCM_CAR (x); }
+inline SCM ly_cdr (SCM x) { return SCM_CDR (x); }
+inline bool ly_is_pair (SCM x) { return SCM_I_CONSP (x); }
+
+
+
+
 #endif /* LILY_GUILE_HH */
index afaeb96c49d7efbdd4a949e7fb637301810b40e2..e4cd0500ceb59de897ad288a52b35b928d8a7bb2 100644 (file)
@@ -18,7 +18,7 @@ class Performer_group_performer : public virtual Translator_group
 public:
   VIRTUAL_COPY_CONSTRUCTOR (Translator_group,Performer_group_performer);
 
-  PRECOMPUTED_VIRTUAL void do_announces ();
+  void do_announces ();
   virtual void announce_element (Audio_element_info);
   virtual void play_element (Audio_element *p);
   virtual int get_tempo () const;
index c045994d5b138e330aa3eeab604424946f5a441f..f3847c528efb1151e34ec6ceb23df7a91ac9abfc 100644 (file)
@@ -34,7 +34,7 @@ protected:
   virtual void initialize ();
   virtual void finalize ();
   virtual void announce_grob (Grob_info);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
 
   /*
     Translator interface
index bc7c0d79202514c742295fe13e0561d9fd477450..97ee8243851b7b135cc038581f755fa9fa1ddf7a 100644 (file)
@@ -30,12 +30,12 @@ protected:
   virtual void start_spanner ();
   virtual void stop_spanner ();
 
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual bool try_music (Music *);
   virtual ~Staff_symbol_engraver ();
   DECLARE_ACKNOWLEDGER(grob);
   virtual void finalize ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
 };
 
 #endif /* STAFF_SYMBOL_ENGRAVER_HH */
index 0477c16e4501565f59046671506ce01f7d911788..bea4611a5c927c8593b1dcd39c1033ea89999ce1 100644 (file)
@@ -21,8 +21,8 @@ public:
 
 protected:
   virtual void initialize ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
+  void stop_translation_timestep ();
+  void start_translation_timestep ();
 
 public:
   Rational measure_length () const;
index 1dc5c0170a3632388850728847276f1f4437ca38..225629c4c124674056ae5fb7656284e22f2f779d 100644 (file)
@@ -58,8 +58,8 @@ public:
   virtual void initialize ();
   virtual void finalize ();
 
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
+  void stop_translation_timestep ();
+  void start_translation_timestep ();
   
   virtual void fetch_precomputable_methods (Translator_group_void_method[]);
   
index 2f7514905c54e43123f5e12d6ede86409ff89035..754bfba73a9acdf6afc39652bea8459c06457e01 100644 (file)
@@ -46,10 +46,6 @@ enum Translator_precompute_index {
   TRANSLATOR_METHOD_PRECOMPUTE_COUNT,
 };
 
-/* nothing */
-#define PRECOMPUTED_VIRTUAL 
-
-
 /*
   Translate music into grobs.
 */
@@ -77,10 +73,10 @@ public:
   virtual void initialize ();
   virtual void finalize ();
 
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
-  PRECOMPUTED_VIRTUAL void process_acknowledged ();
+  void stop_translation_timestep ();
+  void start_translation_timestep ();
+  void process_music ();
+  void process_acknowledged ();
   
   Score_context *get_score_context () const;
   Global_context *get_global_context () const;
index 4c6f329f6ffb8dc859d978731f259318b46f5cd1..3f01e8c12f84ad0c4f39f61153c0676e3c3b0bdf 100644 (file)
@@ -33,8 +33,8 @@ protected:
   DECLARE_ACKNOWLEDGER(bar_line);
   DECLARE_ACKNOWLEDGER(axis_group);
   
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void stop_translation_timestep ();
+  void process_music ();
   
 };
 
index d5b4c3acb7fdf541ef2ea7eddf92bffc0c07ca9d..450b2c50e505fd60f8a45e0ed610fd39ec72974b 100644 (file)
@@ -37,8 +37,8 @@ protected:
   virtual void initialize ();
   virtual void finalize ();
   virtual bool try_music (Music *ev);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void stop_translation_timestep ();
+  void process_music ();
 
   DECLARE_ACKNOWLEDGER(clef);
   DECLARE_ACKNOWLEDGER(bar_line);
index ee0afda9eb0b7c9ebec9f547e5ec95a8f3d71943..d28c62fcc9409645ac54be58bac1968c8b077df1 100644 (file)
@@ -20,7 +20,7 @@ public:
 protected:
   virtual bool try_music (Music *ev);
   virtual void create_audio_elements ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
 
 private:
   Music *key_ev_;
index 4ab91ece0fa7a5fd7172147c37bc68d1a19eae8f..19b00a56bbdd02d4ba59eb3206c67238fe0e946a 100644 (file)
@@ -20,7 +20,7 @@ public:
 
 protected:
   virtual void finalize ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
  
   DECLARE_ACKNOWLEDGER(ledgered);
   DECLARE_ACKNOWLEDGER(staff_symbol);
index 4ad0e7f48a3c355a37fecc8f8f43a7479393fe23..6d3387467cb5f61f3c57d1e30573b330c89100c1 100644 (file)
@@ -22,9 +22,9 @@
 class Lyric_engraver : public Engraver
 {
 protected:
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
 
 public:
   TRANSLATOR_DECLARATIONS (Lyric_engraver);
index 5ae3366e681714ea919cb5496bb5eea216ad2def..e41eb6082e9b1739eb6d22f3f66840de0dec912d 100644 (file)
@@ -17,7 +17,7 @@ public:
 protected:
 
   virtual bool try_music (Music *event);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual void create_audio_elements ();
 
 private:
index 6b813bfeddbadce60954478590d6b26c3b33ef0c..38cacdff0b3bd71c1dc4339465b057c1d676b9a6 100644 (file)
@@ -26,11 +26,11 @@ public:
 protected:
   Item *text_;
 protected:
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   DECLARE_ACKNOWLEDGER(bar_line);
   void create_items (Music *);
   virtual bool try_music (Music *ev);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
 
 private:
   Music *mark_ev_;
index c55bf2fee0a8cec5cee92ff3015cb044b2bc10fb..e6f1265b8ff53904b6afe4dd65cf68d7f1e24327 100644 (file)
@@ -22,7 +22,7 @@ protected:
   Spanner *grouping_;
   Rational stop_grouping_mom_;
 
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
   virtual void finalize ();
   DECLARE_ACKNOWLEDGER(note_column);
 };
index dccfb23e511f2d2cd191db6594a87004df3f74ec..0a1316a7a666fa7b8d8688aec3c09bce2d5c9fc2 100644 (file)
@@ -20,8 +20,8 @@ public:
   TRANSLATOR_DECLARATIONS (Melisma_translator);
 protected:
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void process_music ();
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
+  void process_music ();
+  void start_translation_timestep ();
   Music *event_;
 };
 
index 35b8f780be8b84330d1c53c972eec840a3b7ec55..e2be38e3e88d75ee3e7916f03a8f0d02d577448b 100644 (file)
@@ -29,9 +29,9 @@ protected:
 
   void create_items (Music *);
 protected:
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual bool try_music (Music *ev);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
 };
 
 Metronome_mark_engraver::Metronome_mark_engraver ()
index 05ac7aed3254b9f3a6e617adf4dcabebe4301d27..3f86c6c6ca7b3304d4b07813c82734b7f30c0471 100644 (file)
@@ -22,9 +22,9 @@ public:
 
 protected:
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void process_music ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
+  void process_music ();
+  void stop_translation_timestep ();
+  void start_translation_timestep ();
   virtual void finalize ();
 
 private:
index c4489acbb5ee2b821212af0d3baefa0c79e67750..bdf90db4cede0991f4e59e7f6c5714aa904fe972 100644 (file)
@@ -51,7 +51,7 @@ class New_fingering_engraver : public Engraver
 public:
   TRANSLATOR_DECLARATIONS (New_fingering_engraver);
 protected:
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   DECLARE_ACKNOWLEDGER(rhythmic_head);
   DECLARE_ACKNOWLEDGER(stem);
   void add_fingering (Grob *, Music *, Music *);
index a303d95f8f4ee242ad2aa838daf2406a89ad0e04..51cfd37f1759c5f505ebfd30f16d273b6c6e4dd0 100644 (file)
@@ -27,8 +27,8 @@ public:
 
 protected:
   DECLARE_ACKNOWLEDGER(rhythmic_head);
-  PRECOMPUTED_VIRTUAL void process_acknowledged ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void process_acknowledged ();
+  void stop_translation_timestep ();
 
 private:
   Spanner *line_;
index 02dc7d02923c68e58aecc8879db2543018f9703f..05345c0aaff949970a883c38cdb9a58d786fc6f1 100644 (file)
@@ -28,8 +28,8 @@ public:
 
 protected:
   virtual bool try_music (Music *ev);
-  PRECOMPUTED_VIRTUAL void process_music ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void process_music ();
+  void stop_translation_timestep ();
 };
 
 Note_heads_engraver::Note_heads_engraver ()
index 096c01af46cd52aea2993812bd776c5660fec531..aeff5aa9b8697e9b735ea1486fdc3a6227b68e20 100644 (file)
@@ -17,8 +17,8 @@ public:
   Link_array<Music> events_;
   Link_array<Item> texts_;
   virtual bool try_music (Music *m);
-  PRECOMPUTED_VIRTUAL void process_music ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void process_music ();
+  void stop_translation_timestep ();
 };
 
 bool
index 4ac5f0ebb53f1d3d63c4f4d471bfab986a95a9ca..f19f8c704dc5d65d4410658bb020e84dcfe6a5b2 100644 (file)
@@ -24,7 +24,7 @@ public:
 protected:
   virtual bool try_music (Music *ev);
 
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual void create_audio_elements ();
 
 private:
index 8cf520f924a2c8dce583e85282c9702d124eebfa..30fcbb75cb155e1ebd9eb9c52b648bc30e6b9fdb 100644 (file)
@@ -20,8 +20,8 @@ protected:
  
   DECLARE_ACKNOWLEDGER(note_column);
   
-  PRECOMPUTED_VIRTUAL void process_music ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void process_music ();
+  void stop_translation_timestep ();
   virtual void derived_mark () const;
 private:
   Spanner *span_;
index 07ecdd0ea01c075d632281d30ca75814d7e031fd..b2daf370548551c0258877cec62b956b533e7cdb 100644 (file)
@@ -18,7 +18,7 @@ protected:
   Link_array<Music> props_;
   DECLARE_ACKNOWLEDGER(grob)
 
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual bool try_music (Music*);
 };
 
index b7de2a308f0bc824ee561f14c018e30861d202b8..3196ffa4d09b9c39e9e1048c55eca5202a220c27 100644 (file)
@@ -23,8 +23,8 @@ protected:
   DECLARE_ACKNOWLEDGER(note_head);
   DECLARE_ACKNOWLEDGER(stem);
   
-  PRECOMPUTED_VIRTUAL void process_music ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void process_music ();
+  void stop_translation_timestep ();
   virtual bool try_music (Music *);
 private:
   Item *text_;
index f85b8162753d6d9d79e264809e54a447d321ae00..00a90382faeca2c8b5195b27f357ce0f06381a6f 100644 (file)
@@ -57,9 +57,9 @@ protected:
 protected:
   virtual void finalize ();
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void stop_translation_timestep ();
+  void start_translation_timestep ();
+  void process_music ();
 };
 
 Percent_repeat_engraver::Percent_repeat_engraver ()
index cc9c69a906c75f25aec92a2e9b68a9a7034a71a7..8357b05655171c10d92258263da3a6e41883b717 100644 (file)
@@ -37,9 +37,9 @@ protected:
   DECLARE_ACKNOWLEDGER(text_script);
   DECLARE_ACKNOWLEDGER(slur);
   
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual void finalize ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
 
 public:
   TRANSLATOR_DECLARATIONS (Phrasing_slur_engraver);
index d1532ee7d4141bbe75d848e6fd0f18dfc99efacf..ec465552473aeb25fec30785b4fb619b2c899fae 100644 (file)
@@ -64,9 +64,9 @@ protected:
   virtual void initialize ();
   virtual void finalize ();
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   DECLARE_ACKNOWLEDGER(note_column);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
 
 private:
 
index 98ba5adab7237d88caf0f722d1253068f55045c4..859c4fa3f8527de2a2877a9f66b5c87af4eb247d 100644 (file)
@@ -30,8 +30,8 @@ protected:
   virtual void initialize ();
   virtual bool try_music (Music *);
   virtual void create_audio_elements ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
+  void stop_translation_timestep ();
+  void start_translation_timestep ();
 
 private:
   Link_array<Audio_piano_pedal> audios_;
index 59753f7c766c22994766303d3cdbee356e169729..27b66f0ce799e1425107e2150f941659c5a460d0 100644 (file)
@@ -30,9 +30,9 @@ protected:
   DECLARE_ACKNOWLEDGER( note_head);
   DECLARE_ACKNOWLEDGER( dots);
   DECLARE_ACKNOWLEDGER( text_spanner);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
   virtual bool try_music (Music*);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
 private:
   Item *trill_head_;
   Item *trill_group_;
index 355e80459972e12622c30c2390b1677eb2a89cd4..487ecbe440a5698f3d34760de7b0c03df8c75120 100644 (file)
@@ -29,8 +29,8 @@ public:
 
   TRANSLATOR_DECLARATIONS (Repeat_acknowledge_engraver);
 protected:
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void start_translation_timestep ();
+  void process_music ();
   virtual void initialize ();
 };
 
index 60bb70f6a4d7e6c94405d22bdc93cf8e8fa9881f..12ee47995dbe4cf53c86c3c5aab807c64a274da2 100644 (file)
@@ -18,8 +18,8 @@ class Rest_collision_engraver : public Engraver
   Link_array<Grob> note_columns_;
 protected:
   DECLARE_ACKNOWLEDGER(note_column);
-  PRECOMPUTED_VIRTUAL void process_acknowledged ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void process_acknowledged ();
+  void stop_translation_timestep ();
 public:
   TRANSLATOR_DECLARATIONS (Rest_collision_engraver);
 };
index 84d193dbc874940446b547e2f5f2d0f1214f5704..6d9c20a5bef45ca5df66d49330d56d389c0e462e 100644 (file)
@@ -23,8 +23,8 @@ class Rest_engraver : public Engraver
   Grob *rest_;
 protected:
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void start_translation_timestep ();
+  void process_music ();
 
 public:
   TRANSLATOR_DECLARATIONS (Rest_engraver);
index 8b1e899854584a6c40f8aebe31ec8ea3bf76beb8..e0c8e7c09a568896fe9056223c4c6b7bac7d2d5e 100644 (file)
@@ -55,8 +55,8 @@ protected:
 DECLARE_ACKNOWLEDGER(dot_column);
 DECLARE_ACKNOWLEDGER(stem);
 DECLARE_ACKNOWLEDGER(rhythmic_head);
-  PRECOMPUTED_VIRTUAL void process_acknowledged ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void process_acknowledged ();
+  void stop_translation_timestep ();
 };
 
 Rhythmic_column_engraver::Rhythmic_column_engraver ()
index b7937ed8b4bf2ed5f2f90b1b03fe104a90ab9418..4990068ce739c5d59854b5d422167e22469a1b7f 100644 (file)
@@ -25,8 +25,8 @@ public:
   TRANSLATOR_DECLARATIONS (Script_column_engraver);
 protected:
   DECLARE_ACKNOWLEDGER(side_position);
-  PRECOMPUTED_VIRTUAL void process_acknowledged ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void process_acknowledged ();
+  void stop_translation_timestep ();
 };
 
 Script_column_engraver::Script_column_engraver ()
index e818c9d48280d1af427768e19dd142e6a0435ee8..7505792801485d1d7b51f75f504a9fdc538315a3 100644 (file)
@@ -39,8 +39,8 @@ class Script_engraver : public Engraver
 
 protected:
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void stop_translation_timestep ();
+  void process_music ();
 
   DECLARE_ACKNOWLEDGER( slur);
   DECLARE_ACKNOWLEDGER( rhythmic_head);
index 4a97081c69814e744aefb7ffb72255ff50b304da..680aa912629ad9ed8059ded11f81d63d137d5f12 100644 (file)
@@ -55,10 +55,10 @@ protected:
   Spanner *sep_span_;
 
   DECLARE_ACKNOWLEDGER(item);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
   virtual void finalize ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
+  void stop_translation_timestep ();
+  void start_translation_timestep ();
 public:
   TRANSLATOR_DECLARATIONS (Separating_line_group_engraver);
 };
index 8cd9bc76c15918c5ab09a838011ec3d2800fa1d4..0b242d142dfd478dbbcbaf0bab46569f378fc674 100644 (file)
@@ -46,8 +46,8 @@ protected:
   Item *double_percent_;
 protected:
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void start_translation_timestep ();
+  void process_music ();
 };
 
 Slash_repeat_engraver::Slash_repeat_engraver ()
index 2a1c7528f85a3c6c4962f1a41b3ec7569a91a9dc..7b33cba407f614c336005f1a796609a7073f6aa6 100644 (file)
@@ -37,9 +37,9 @@ protected:
   DECLARE_ACKNOWLEDGER(tie);
   DECLARE_ACKNOWLEDGER(text_script);
   void acknowledge_extra_object (Grob_info);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual void finalize ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
 
 public:
   TRANSLATOR_DECLARATIONS (Slur_engraver);
index 5d493a60d9a0bc635d285025fe9158ed90a33fa6..babb66ec6291515c102b337343de48a9caf86292 100644 (file)
@@ -24,8 +24,8 @@ public:
 
 protected:
   virtual bool try_music (Music *ev);
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void start_translation_timestep ();
+  void process_music ();
   void set_melisma (bool);
 private:
   Music *start_ev_;
index dd74d606d49b3a4214958924c4fc6dd3e8f714ea..b5f25da716674dd03265f1166ee99f08dff8e4b2 100644 (file)
@@ -49,9 +49,9 @@ protected:
   DECLARE_ACKNOWLEDGER(staff_spacing);
   DECLARE_ACKNOWLEDGER(note_spacing);
   DECLARE_ACKNOWLEDGER(rhythmic_head);
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void start_translation_timestep ();
+  void stop_translation_timestep ();
+  void process_music ();
   virtual void finalize ();
 };
 
index 38ca9f36b9b0fa546a2dc132f9af4e41201234fd..21a97ede6bcd539fd8b9e62b718cdaf1e3c8a89f 100644 (file)
@@ -25,8 +25,8 @@ public:
   DECLARE_ACKNOWLEDGER(arpeggio);
 
 protected:
-  PRECOMPUTED_VIRTUAL void process_acknowledged ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void process_acknowledged ();
+  void stop_translation_timestep ();
 
 private:
   Item *span_arpeggio_;
index aa7d078fdee3f7d4e41c73dde1d3cf5553862e11..b3517f28ae896b5ca42cff7656412954cc4b1e07 100644 (file)
@@ -28,7 +28,7 @@ public:
   TRANSLATOR_DECLARATIONS (Span_bar_engraver);
 protected:
   DECLARE_ACKNOWLEDGER(bar_line);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
 };
 
 Span_bar_engraver::Span_bar_engraver ()
index 557168fee5ba5a1e3096674885a81d13db5c1aff..c0675304390a0a598b148efb0e8bc538328f3134 100644 (file)
@@ -31,8 +31,8 @@ public:
 protected:
   virtual bool try_music (Music *);
   virtual void acknowledge_audio_element (Audio_element_info);
-  PRECOMPUTED_VIRTUAL void process_music ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void process_music ();
+  void stop_translation_timestep ();
 
 private:
   Audio_dynamic *audio_;
index 26174befc387054c43bc1fcef3823e9175186c79..c9dd4ac4454cc3feb2b0bd1523d969c8101b3b0d 100644 (file)
@@ -30,7 +30,7 @@ protected:
   virtual void finalize ();
   virtual void initialize ();
   virtual void create_audio_elements ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
 
 private:
   Audio_staff *audio_staff_;
index 0086f2b44c9e548565b102fc6ae7d6c30e7ad1b2..2433da8092dc687a52fbd96bb5817116d958a28c 100644 (file)
@@ -26,7 +26,7 @@ protected:
 
   DECLARE_ACKNOWLEDGER(lyric_syllable);
   DECLARE_ACKNOWLEDGER(stanza_number);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
 };
 
 Stanza_number_align_engraver::Stanza_number_align_engraver ()
index 2618274a055dd0ddf41d70bb3d6649070a36b0ff..7a284837ff861982d57f6efe41f2ef0ec2910d08 100644 (file)
@@ -21,8 +21,8 @@ class Stanza_number_engraver : public Engraver
   SCM last_stanza_;
 public:
   TRANSLATOR_DECLARATIONS (Stanza_number_engraver);
-  PRECOMPUTED_VIRTUAL void process_music ();
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void process_music ();
+  void stop_translation_timestep ();
   DECLARE_ACKNOWLEDGER(lyric_syllable);
 };
 
index 549da5f83d065984af9bc23682ef94ea8a646c53..91c1758977c44b3c0b24119b4028168239f5c99c 100644 (file)
@@ -34,7 +34,7 @@ protected:
   void make_stem (Grob_info);
 
   DECLARE_ACKNOWLEDGER(rhythmic_head);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual bool try_music (Music *);
 };
 
index 102f48b68e78106a1b5565d2c414d0019237f98d..d8feff7ae19a059b6f41b9e59c4f1253f45b8358 100644 (file)
@@ -24,7 +24,7 @@ protected:
   DECLARE_ACKNOWLEDGER(system_start_delimiter);
   DECLARE_ACKNOWLEDGER(staff_symbol);
 
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
   virtual void finalize ();
 };
 
index b6958323620252e76e71861fe290b9ad361d3d33..7d8ad6bd5c840a4440af15e7257b6924913b16b5 100644 (file)
@@ -36,9 +36,9 @@ public:
 
 protected:
   virtual bool try_music (Music *event);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
 
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
 };
 
 Tab_note_heads_engraver::Tab_note_heads_engraver ()
index 437c271ce018608213a23b9f5ec0a5f722db6c2d..913fb90adf79c957b673ac915a6545786ebd8ede 100644 (file)
@@ -21,7 +21,7 @@ public:
 protected:
 
   virtual bool try_music (Music *event);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual void create_audio_elements ();
 
 private:
index 72a81264525c74262c686ff8ff2d20a56eb10813..a5d9adfaf86941b81a6cf1cfdb2c5b533962af54 100644 (file)
@@ -24,8 +24,8 @@ public:
   TRANSLATOR_DECLARATIONS (Text_engraver);
 protected:
   virtual bool try_music (Music *m);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_acknowledged ();
+  void stop_translation_timestep ();
+  void process_acknowledged ();
 
   DECLARE_ACKNOWLEDGER(stem);
   DECLARE_ACKNOWLEDGER(rhythmic_head);
index cca154d0dd85625efdceb1d9010fde2221b3a00f..e61342031ac865c8f74a70f4fdc718e0560cb3b3 100644 (file)
@@ -18,8 +18,8 @@ protected:
   virtual void finalize ();
   DECLARE_ACKNOWLEDGER(note_column);
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void stop_translation_timestep ();
+  void process_music ();
 
 private:
   Spanner *span_;
index e12b100f1ce72adf54e6092c1d058624f3a9f1bc..505a661c30bcb31cba0f3769ca89ae82ae254f38 100644 (file)
@@ -53,12 +53,12 @@ class Tie_engraver : public Engraver
   Spanner *tie_column_;
 
 protected:
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual void derived_mark () const;
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
+  void start_translation_timestep ();
   DECLARE_ACKNOWLEDGER(note_head);
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
   void typeset_tie (Grob *);
 public:
   TRANSLATOR_DECLARATIONS (Tie_engraver);
index 755b4074aa5b512a9c1b3a356367d5e79e375643..bcbac27567cdfa089fa2fd6b53d6328114dacd16 100644 (file)
@@ -24,11 +24,11 @@ class Tie_performer : public Performer
   bool ties_created_;
 
 protected:
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void start_translation_timestep ();
+  void stop_translation_timestep ();
+  void start_translation_timestep ();
   virtual void acknowledge_audio_element (Audio_element_info);
   virtual bool try_music (Music *);
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void process_music ();
 public:
   TRANSLATOR_DECLARATIONS (Tie_performer);
 };
index 90af017890b00b7bf636b69c7dda658bc0e3168f..1815a865e83d51847721c38563fddc64b365d0c3 100644 (file)
@@ -20,8 +20,8 @@ class Time_signature_engraver : public Engraver
   SCM last_time_fraction_;
 
 protected:
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
-  PRECOMPUTED_VIRTUAL void process_music ();
+  void stop_translation_timestep ();
+  void process_music ();
 public:
   TRANSLATOR_DECLARATIONS (Time_signature_engraver);
 };
index 63b4bf241891fdf13f894d010cabbe61aa5dbc27..57275f72994e464d0e4cdee5f268a233f0a39618 100644 (file)
@@ -18,7 +18,7 @@ public:
 
 protected:
 
-  PRECOMPUTED_VIRTUAL void stop_translation_timestep ();
+  void stop_translation_timestep ();
   virtual void create_audio_elements ();
   virtual void derived_mark () const;
   SCM prev_fraction_;
index 21b6514556c0a5040b3b4fbd13c822b7ec756d72..7dac8ea0917767298288846a949f29a9a9ebc6b3 100644 (file)
 void 
 Engraver_dispatch_list::apply (Grob_info gi)
 {
+  Translator *origin = gi.origin_translator ();
   for (int i = 0; i < dispatch_entries_.size (); i++)
     {
       Engraver_dispatch_entry const &e (dispatch_entries_[i]);
-      if (e.engraver_ == gi.origin_translator ())
+      if (e.engraver_ == origin)
        continue; 
 
       (*e.function_) (e.engraver_, gi);