From: Han-Wen Nienhuys Date: Sun, 24 Jul 2005 18:58:43 +0000 (+0000) Subject: * lily/include/translator.hh (class Translator): remove X-Git-Tag: release/2.7.3~5 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=7f6816438d66f6d70db5b68454d80656a0f3f131;p=lilypond.git * 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/grob.cc (Grob): look properties up directly. --- diff --git a/ChangeLog b/ChangeLog index 8abad9bb34..d6b4a7733b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2005-07-24 Han-Wen Nienhuys + * 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. diff --git a/lily/accidental-engraver.cc b/lily/accidental-engraver.cc index c8e00a7b25..1354495fc4 100644 --- a/lily/accidental-engraver.cc +++ b/lily/accidental-engraver.cc @@ -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; diff --git a/lily/ambitus-engraver.cc b/lily/ambitus-engraver.cc index ff3b7ea6a5..05330364b8 100644 --- a/lily/ambitus-engraver.cc +++ b/lily/ambitus-engraver.cc @@ -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; diff --git a/lily/arpeggio-engraver.cc b/lily/arpeggio-engraver.cc index febbb44e56..f8a380d6d6 100644 --- a/lily/arpeggio-engraver.cc +++ b/lily/arpeggio-engraver.cc @@ -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_; diff --git a/lily/auto-beam-engraver.cc b/lily/auto-beam-engraver.cc index e27aad488a..aa020c7e16 100644 --- a/lily/auto-beam-engraver.cc +++ b/lily/auto-beam-engraver.cc @@ -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); diff --git a/lily/bar-engraver.cc b/lily/bar-engraver.cc index 3875c05da0..996f02bfe9 100644 --- a/lily/bar-engraver.cc +++ b/lily/bar-engraver.cc @@ -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 (); diff --git a/lily/bar-number-engraver.cc b/lily/bar-number-engraver.cc index 5a82841290..fb3c132511 100644 --- a/lily/bar-number-engraver.cc +++ b/lily/bar-number-engraver.cc @@ -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); }; diff --git a/lily/beam-engraver.cc b/lily/beam-engraver.cc index 40bb7c4feb..07c2c9046a 100644 --- a/lily/beam-engraver.cc +++ b/lily/beam-engraver.cc @@ -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 (); diff --git a/lily/beam-performer.cc b/lily/beam-performer.cc index 0d51236132..8618000533 100644 --- a/lily/beam-performer.cc +++ b/lily/beam-performer.cc @@ -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_; diff --git a/lily/break-align-engraver.cc b/lily/break-align-engraver.cc index 3d4eab12a5..12e14293b1 100644 --- a/lily/break-align-engraver.cc +++ b/lily/break-align-engraver.cc @@ -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); diff --git a/lily/breathing-sign-engraver.cc b/lily/breathing-sign-engraver.cc index fc922cf58a..e7ae12c6f1 100644 --- a/lily/breathing-sign-engraver.cc +++ b/lily/breathing-sign-engraver.cc @@ -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_; diff --git a/lily/chord-name-engraver.cc b/lily/chord-name-engraver.cc index b1206d2851..5695ed1610 100644 --- a/lily/chord-name-engraver.cc +++ b/lily/chord-name-engraver.cc @@ -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; diff --git a/lily/chord-tremolo-engraver.cc b/lily/chord-tremolo-engraver.cc index 0c34395902..94f657b09e 100644 --- a/lily/chord-tremolo-engraver.cc +++ b/lily/chord-tremolo-engraver.cc @@ -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); }; diff --git a/lily/clef-engraver.cc b/lily/clef-engraver.cc index c1afd9e220..4be3bb35ce 100644 --- a/lily/clef-engraver.cc +++ b/lily/clef-engraver.cc @@ -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_; diff --git a/lily/cluster-engraver.cc b/lily/cluster-engraver.cc index 51d262c00e..eff1695eb3 100644 --- a/lily/cluster-engraver.cc +++ b/lily/cluster-engraver.cc @@ -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 cluster_notes_; diff --git a/lily/collision-engraver.cc b/lily/collision-engraver.cc index c820e35921..2a61907af2 100644 --- a/lily/collision-engraver.cc +++ b/lily/collision-engraver.cc @@ -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); }; diff --git a/lily/completion-note-heads-engraver.cc b/lily/completion-note-heads-engraver.cc index 6f8bab9337..7a0061f9b9 100644 --- a/lily/completion-note-heads-engraver.cc +++ b/lily/completion-note-heads-engraver.cc @@ -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 diff --git a/lily/context.cc b/lily/context.cc index 9177616318..6759a21d71 100644 --- a/lily/context.cc +++ b/lily/context.cc @@ -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 diff --git a/lily/custos-engraver.cc b/lily/custos-engraver.cc index b9649205ac..4ece68ae23 100644 --- a/lily/custos-engraver.cc +++ b/lily/custos-engraver.cc @@ -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: diff --git a/lily/dot-column-engraver.cc b/lily/dot-column-engraver.cc index 235729c98a..f66f5a13b3 100644 --- a/lily/dot-column-engraver.cc +++ b/lily/dot-column-engraver.cc @@ -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 () diff --git a/lily/drum-note-engraver.cc b/lily/drum-note-engraver.cc index 479ac9ad0d..f75658a19c 100644 --- a/lily/drum-note-engraver.cc +++ b/lily/drum-note-engraver.cc @@ -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 () diff --git a/lily/drum-note-performer.cc b/lily/drum-note-performer.cc index 388f637724..27d0de7999 100644 --- a/lily/drum-note-performer.cc +++ b/lily/drum-note-performer.cc @@ -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: diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index c12d437b5a..a8ba235d33 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -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 () diff --git a/lily/dynamic-performer.cc b/lily/dynamic-performer.cc index 7b34e4c898..0860f3fa22 100644 --- a/lily/dynamic-performer.cc +++ b/lily/dynamic-performer.cc @@ -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: diff --git a/lily/extender-engraver.cc b/lily/extender-engraver.cc index 5dd6776de5..71741e5a60 100644 --- a/lily/extender-engraver.cc +++ b/lily/extender-engraver.cc @@ -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 () diff --git a/lily/figured-bass-engraver.cc b/lily/figured-bass-engraver.cc index 6527363805..748f0284ae 100644 --- a/lily/figured-bass-engraver.cc +++ b/lily/figured-bass-engraver.cc @@ -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 () diff --git a/lily/fingering-engraver.cc b/lily/fingering-engraver.cc index a473cc808f..49dfaed32b 100644 --- a/lily/fingering-engraver.cc +++ b/lily/fingering-engraver.cc @@ -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); diff --git a/lily/forbid-break-engraver.cc b/lily/forbid-break-engraver.cc index 4f75b2be8e..7ad1133e4f 100644 --- a/lily/forbid-break-engraver.cc +++ b/lily/forbid-break-engraver.cc @@ -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 () diff --git a/lily/glissando-engraver.cc b/lily/glissando-engraver.cc index 7f4f1823bd..8479b53ab7 100644 --- a/lily/glissando-engraver.cc +++ b/lily/glissando-engraver.cc @@ -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_; diff --git a/lily/grace-engraver.cc b/lily/grace-engraver.cc index 57bf0c476d..10c635592d 100644 --- a/lily/grace-engraver.cc +++ b/lily/grace-engraver.cc @@ -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 (); diff --git a/lily/grid-line-span-engraver.cc b/lily/grid-line-span-engraver.cc index 2044542294..b6a96ab8f7 100644 --- a/lily/grid-line-span-engraver.cc +++ b/lily/grid-line-span-engraver.cc @@ -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 () diff --git a/lily/grid-point-engraver.cc b/lily/grid-point-engraver.cc index c45ff0d459..3b59d0cc85 100644 --- a/lily/grid-point-engraver.cc +++ b/lily/grid-point-engraver.cc @@ -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 diff --git a/lily/grob-pq-engraver.cc b/lily/grob-pq-engraver.cc index 221ba53de9..28f405021a 100644 --- a/lily/grob-pq-engraver.cc +++ b/lily/grob-pq-engraver.cc @@ -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 started_now_; }; diff --git a/lily/grob.cc b/lily/grob.cc index b60058a1a4..05fab21494 100644 --- a/lily/grob.cc +++ b/lily/grob.cc @@ -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)))); diff --git a/lily/hara-kiri-engraver.cc b/lily/hara-kiri-engraver.cc index 98f7f36d49..7bc84f870a 100644 --- a/lily/hara-kiri-engraver.cc +++ b/lily/hara-kiri-engraver.cc @@ -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: diff --git a/lily/horizontal-bracket-engraver.cc b/lily/horizontal-bracket-engraver.cc index cf611c5d1a..e63af5f45a 100644 --- a/lily/horizontal-bracket-engraver.cc +++ b/lily/horizontal-bracket-engraver.cc @@ -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); }; diff --git a/lily/hyphen-engraver.cc b/lily/hyphen-engraver.cc index 750b193734..151933c28c 100644 --- a/lily/hyphen-engraver.cc +++ b/lily/hyphen-engraver.cc @@ -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: }; diff --git a/lily/include/axis-group-engraver.hh b/lily/include/axis-group-engraver.hh index a6715f82cf..40353c64e0 100644 --- a/lily/include/axis-group-engraver.hh +++ b/lily/include/axis-group-engraver.hh @@ -21,10 +21,10 @@ class Axis_group_engraver : public Engraver protected: Spanner *staffline_; Link_array 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: diff --git a/lily/include/engraver-group-engraver.hh b/lily/include/engraver-group-engraver.hh index c34de1c452..8e3f18be15 100644 --- a/lily/include/engraver-group-engraver.hh +++ b/lily/include/engraver-group-engraver.hh @@ -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: diff --git a/lily/include/gregorian-ligature-engraver.hh b/lily/include/gregorian-ligature-engraver.hh index ab76c345e5..efcb73ae16 100644 --- a/lily/include/gregorian-ligature-engraver.hh +++ b/lily/include/gregorian-ligature-engraver.hh @@ -22,7 +22,7 @@ protected: virtual void build_ligature (Spanner *ligature, Array primitives); virtual void transform_heads (Spanner *ligature, Array primitives); /* abstract method */ - PRECOMPUTED_VIRTUAL void stop_translation_timestep (); + void stop_translation_timestep (); }; #endif // GREGORIAN_LIGATURE_ENGRAVER_HH diff --git a/lily/include/ligature-engraver.hh b/lily/include/ligature-engraver.hh index 453083d197..f1feab679e 100644 --- a/lily/include/ligature-engraver.hh +++ b/lily/include/ligature-engraver.hh @@ -30,14 +30,14 @@ 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 primitives); /* abstract method */ diff --git a/lily/include/lily-guile.hh b/lily/include/lily-guile.hh index b0b302b0ff..29db1df396 100644 --- a/lily/include/lily-guile.hh +++ b/lily/include/lily-guile.hh @@ -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 */ diff --git a/lily/include/performer-group-performer.hh b/lily/include/performer-group-performer.hh index afaeb96c49..e4cd0500ce 100644 --- a/lily/include/performer-group-performer.hh +++ b/lily/include/performer-group-performer.hh @@ -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; diff --git a/lily/include/score-engraver.hh b/lily/include/score-engraver.hh index c045994d5b..f3847c528e 100644 --- a/lily/include/score-engraver.hh +++ b/lily/include/score-engraver.hh @@ -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 diff --git a/lily/include/staff-symbol-engraver.hh b/lily/include/staff-symbol-engraver.hh index bc7c0d7920..97ee824385 100644 --- a/lily/include/staff-symbol-engraver.hh +++ b/lily/include/staff-symbol-engraver.hh @@ -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 */ diff --git a/lily/include/timing-translator.hh b/lily/include/timing-translator.hh index 0477c16e45..bea4611a5c 100644 --- a/lily/include/timing-translator.hh +++ b/lily/include/timing-translator.hh @@ -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; diff --git a/lily/include/translator-group.hh b/lily/include/translator-group.hh index 1dc5c0170a..225629c4c1 100644 --- a/lily/include/translator-group.hh +++ b/lily/include/translator-group.hh @@ -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[]); diff --git a/lily/include/translator.hh b/lily/include/translator.hh index 2f7514905c..754bfba73a 100644 --- a/lily/include/translator.hh +++ b/lily/include/translator.hh @@ -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; diff --git a/lily/instrument-name-engraver.cc b/lily/instrument-name-engraver.cc index 4c6f329f6f..3f01e8c12f 100644 --- a/lily/instrument-name-engraver.cc +++ b/lily/instrument-name-engraver.cc @@ -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 (); }; diff --git a/lily/key-engraver.cc b/lily/key-engraver.cc index d5b4c3acb7..450b2c50e5 100644 --- a/lily/key-engraver.cc +++ b/lily/key-engraver.cc @@ -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); diff --git a/lily/key-performer.cc b/lily/key-performer.cc index ee0afda9eb..d28c62fcc9 100644 --- a/lily/key-performer.cc +++ b/lily/key-performer.cc @@ -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_; diff --git a/lily/ledger-line-engraver.cc b/lily/ledger-line-engraver.cc index 4ab91ece0f..19b00a56bb 100644 --- a/lily/ledger-line-engraver.cc +++ b/lily/ledger-line-engraver.cc @@ -20,7 +20,7 @@ public: protected: virtual void finalize (); - PRECOMPUTED_VIRTUAL void process_music (); + void process_music (); DECLARE_ACKNOWLEDGER(ledgered); DECLARE_ACKNOWLEDGER(staff_symbol); diff --git a/lily/lyric-engraver.cc b/lily/lyric-engraver.cc index 4ad0e7f48a..6d3387467c 100644 --- a/lily/lyric-engraver.cc +++ b/lily/lyric-engraver.cc @@ -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); diff --git a/lily/lyric-performer.cc b/lily/lyric-performer.cc index 5ae3366e68..e41eb6082e 100644 --- a/lily/lyric-performer.cc +++ b/lily/lyric-performer.cc @@ -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: diff --git a/lily/mark-engraver.cc b/lily/mark-engraver.cc index 6b813bfedd..38cacdff0b 100644 --- a/lily/mark-engraver.cc +++ b/lily/mark-engraver.cc @@ -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_; diff --git a/lily/measure-grouping-engraver.cc b/lily/measure-grouping-engraver.cc index c55bf2fee0..e6f1265b8f 100644 --- a/lily/measure-grouping-engraver.cc +++ b/lily/measure-grouping-engraver.cc @@ -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); }; diff --git a/lily/melisma-translator.cc b/lily/melisma-translator.cc index dccfb23e51..0a1316a7a6 100644 --- a/lily/melisma-translator.cc +++ b/lily/melisma-translator.cc @@ -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_; }; diff --git a/lily/metronome-engraver.cc b/lily/metronome-engraver.cc index 35b8f780be..e2be38e3e8 100644 --- a/lily/metronome-engraver.cc +++ b/lily/metronome-engraver.cc @@ -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 () diff --git a/lily/multi-measure-rest-engraver.cc b/lily/multi-measure-rest-engraver.cc index 05ac7aed32..3f86c6c6ca 100644 --- a/lily/multi-measure-rest-engraver.cc +++ b/lily/multi-measure-rest-engraver.cc @@ -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: diff --git a/lily/new-fingering-engraver.cc b/lily/new-fingering-engraver.cc index c4489acbb5..bdf90db4ce 100644 --- a/lily/new-fingering-engraver.cc +++ b/lily/new-fingering-engraver.cc @@ -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 *); diff --git a/lily/note-head-line-engraver.cc b/lily/note-head-line-engraver.cc index a303d95f8f..51cfd37f17 100644 --- a/lily/note-head-line-engraver.cc +++ b/lily/note-head-line-engraver.cc @@ -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_; diff --git a/lily/note-heads-engraver.cc b/lily/note-heads-engraver.cc index 02dc7d0292..05345c0aaf 100644 --- a/lily/note-heads-engraver.cc +++ b/lily/note-heads-engraver.cc @@ -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 () diff --git a/lily/note-name-engraver.cc b/lily/note-name-engraver.cc index 096c01af46..aeff5aa9b8 100644 --- a/lily/note-name-engraver.cc +++ b/lily/note-name-engraver.cc @@ -17,8 +17,8 @@ public: Link_array events_; Link_array 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 diff --git a/lily/note-performer.cc b/lily/note-performer.cc index 4ac5f0ebb5..f19f8c704d 100644 --- a/lily/note-performer.cc +++ b/lily/note-performer.cc @@ -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: diff --git a/lily/ottava-engraver.cc b/lily/ottava-engraver.cc index 8cf520f924..30fcbb75cb 100644 --- a/lily/ottava-engraver.cc +++ b/lily/ottava-engraver.cc @@ -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_; diff --git a/lily/output-property-engraver.cc b/lily/output-property-engraver.cc index 07ecdd0ea0..b2daf37054 100644 --- a/lily/output-property-engraver.cc +++ b/lily/output-property-engraver.cc @@ -18,7 +18,7 @@ protected: Link_array props_; DECLARE_ACKNOWLEDGER(grob) - PRECOMPUTED_VIRTUAL void stop_translation_timestep (); + void stop_translation_timestep (); virtual bool try_music (Music*); }; diff --git a/lily/part-combine-engraver.cc b/lily/part-combine-engraver.cc index b7de2a308f..3196ffa4d0 100644 --- a/lily/part-combine-engraver.cc +++ b/lily/part-combine-engraver.cc @@ -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_; diff --git a/lily/percent-repeat-engraver.cc b/lily/percent-repeat-engraver.cc index f85b816275..00a90382fa 100644 --- a/lily/percent-repeat-engraver.cc +++ b/lily/percent-repeat-engraver.cc @@ -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 () diff --git a/lily/phrasing-slur-engraver.cc b/lily/phrasing-slur-engraver.cc index cc9c69a906..8357b05655 100644 --- a/lily/phrasing-slur-engraver.cc +++ b/lily/phrasing-slur-engraver.cc @@ -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); diff --git a/lily/piano-pedal-engraver.cc b/lily/piano-pedal-engraver.cc index d1532ee7d4..ec46555247 100644 --- a/lily/piano-pedal-engraver.cc +++ b/lily/piano-pedal-engraver.cc @@ -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: diff --git a/lily/piano-pedal-performer.cc b/lily/piano-pedal-performer.cc index 98ba5adab7..859c4fa3f8 100644 --- a/lily/piano-pedal-performer.cc +++ b/lily/piano-pedal-performer.cc @@ -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 audios_; diff --git a/lily/pitched-trill-engraver.cc b/lily/pitched-trill-engraver.cc index 59753f7c76..27b66f0ce7 100644 --- a/lily/pitched-trill-engraver.cc +++ b/lily/pitched-trill-engraver.cc @@ -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_; diff --git a/lily/repeat-acknowledge-engraver.cc b/lily/repeat-acknowledge-engraver.cc index 355e804599..487ecbe440 100644 --- a/lily/repeat-acknowledge-engraver.cc +++ b/lily/repeat-acknowledge-engraver.cc @@ -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 (); }; diff --git a/lily/rest-collision-engraver.cc b/lily/rest-collision-engraver.cc index 60bb70f6a4..12ee47995d 100644 --- a/lily/rest-collision-engraver.cc +++ b/lily/rest-collision-engraver.cc @@ -18,8 +18,8 @@ class Rest_collision_engraver : public Engraver Link_array 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); }; diff --git a/lily/rest-engraver.cc b/lily/rest-engraver.cc index 84d193dbc8..6d9c20a5be 100644 --- a/lily/rest-engraver.cc +++ b/lily/rest-engraver.cc @@ -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); diff --git a/lily/rhythmic-column-engraver.cc b/lily/rhythmic-column-engraver.cc index 8b1e899854..e0c8e7c09a 100644 --- a/lily/rhythmic-column-engraver.cc +++ b/lily/rhythmic-column-engraver.cc @@ -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 () diff --git a/lily/script-column-engraver.cc b/lily/script-column-engraver.cc index b7937ed8b4..4990068ce7 100644 --- a/lily/script-column-engraver.cc +++ b/lily/script-column-engraver.cc @@ -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 () diff --git a/lily/script-engraver.cc b/lily/script-engraver.cc index e818c9d482..7505792801 100644 --- a/lily/script-engraver.cc +++ b/lily/script-engraver.cc @@ -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); diff --git a/lily/separating-line-group-engraver.cc b/lily/separating-line-group-engraver.cc index 4a97081c69..680aa91262 100644 --- a/lily/separating-line-group-engraver.cc +++ b/lily/separating-line-group-engraver.cc @@ -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); }; diff --git a/lily/slash-repeat-engraver.cc b/lily/slash-repeat-engraver.cc index 8cd9bc76c1..0b242d142d 100644 --- a/lily/slash-repeat-engraver.cc +++ b/lily/slash-repeat-engraver.cc @@ -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 () diff --git a/lily/slur-engraver.cc b/lily/slur-engraver.cc index 2a1c7528f8..7b33cba407 100644 --- a/lily/slur-engraver.cc +++ b/lily/slur-engraver.cc @@ -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); diff --git a/lily/slur-performer.cc b/lily/slur-performer.cc index 5d493a60d9..babb66ec62 100644 --- a/lily/slur-performer.cc +++ b/lily/slur-performer.cc @@ -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_; diff --git a/lily/spacing-engraver.cc b/lily/spacing-engraver.cc index dd74d606d4..b5f25da716 100644 --- a/lily/spacing-engraver.cc +++ b/lily/spacing-engraver.cc @@ -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 (); }; diff --git a/lily/span-arpeggio-engraver.cc b/lily/span-arpeggio-engraver.cc index 38ca9f36b9..21a97ede6b 100644 --- a/lily/span-arpeggio-engraver.cc +++ b/lily/span-arpeggio-engraver.cc @@ -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_; diff --git a/lily/span-bar-engraver.cc b/lily/span-bar-engraver.cc index aa7d078fde..b3517f28ae 100644 --- a/lily/span-bar-engraver.cc +++ b/lily/span-bar-engraver.cc @@ -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 () diff --git a/lily/span-dynamic-performer.cc b/lily/span-dynamic-performer.cc index 557168fee5..c067530439 100644 --- a/lily/span-dynamic-performer.cc +++ b/lily/span-dynamic-performer.cc @@ -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_; diff --git a/lily/staff-performer.cc b/lily/staff-performer.cc index 26174befc3..c9dd4ac445 100644 --- a/lily/staff-performer.cc +++ b/lily/staff-performer.cc @@ -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_; diff --git a/lily/stanza-number-align-engraver.cc b/lily/stanza-number-align-engraver.cc index 0086f2b44c..2433da8092 100644 --- a/lily/stanza-number-align-engraver.cc +++ b/lily/stanza-number-align-engraver.cc @@ -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 () diff --git a/lily/stanza-number-engraver.cc b/lily/stanza-number-engraver.cc index 2618274a05..7a284837ff 100644 --- a/lily/stanza-number-engraver.cc +++ b/lily/stanza-number-engraver.cc @@ -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); }; diff --git a/lily/stem-engraver.cc b/lily/stem-engraver.cc index 549da5f83d..91c1758977 100644 --- a/lily/stem-engraver.cc +++ b/lily/stem-engraver.cc @@ -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 *); }; diff --git a/lily/system-start-delimiter-engraver.cc b/lily/system-start-delimiter-engraver.cc index 102f48b68e..d8feff7ae1 100644 --- a/lily/system-start-delimiter-engraver.cc +++ b/lily/system-start-delimiter-engraver.cc @@ -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 (); }; diff --git a/lily/tab-note-heads-engraver.cc b/lily/tab-note-heads-engraver.cc index b695832362..7d8ad6bd5c 100644 --- a/lily/tab-note-heads-engraver.cc +++ b/lily/tab-note-heads-engraver.cc @@ -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 () diff --git a/lily/tempo-performer.cc b/lily/tempo-performer.cc index 437c271ce0..913fb90adf 100644 --- a/lily/tempo-performer.cc +++ b/lily/tempo-performer.cc @@ -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: diff --git a/lily/text-engraver.cc b/lily/text-engraver.cc index 72a8126452..a5d9adfaf8 100644 --- a/lily/text-engraver.cc +++ b/lily/text-engraver.cc @@ -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); diff --git a/lily/text-spanner-engraver.cc b/lily/text-spanner-engraver.cc index cca154d0dd..e61342031a 100644 --- a/lily/text-spanner-engraver.cc +++ b/lily/text-spanner-engraver.cc @@ -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_; diff --git a/lily/tie-engraver.cc b/lily/tie-engraver.cc index e12b100f1c..505a661c30 100644 --- a/lily/tie-engraver.cc +++ b/lily/tie-engraver.cc @@ -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); diff --git a/lily/tie-performer.cc b/lily/tie-performer.cc index 755b4074aa..bcbac27567 100644 --- a/lily/tie-performer.cc +++ b/lily/tie-performer.cc @@ -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); }; diff --git a/lily/time-signature-engraver.cc b/lily/time-signature-engraver.cc index 90af017890..1815a865e8 100644 --- a/lily/time-signature-engraver.cc +++ b/lily/time-signature-engraver.cc @@ -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); }; diff --git a/lily/time-signature-performer.cc b/lily/time-signature-performer.cc index 63b4bf2418..57275f7299 100644 --- a/lily/time-signature-performer.cc +++ b/lily/time-signature-performer.cc @@ -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_; diff --git a/lily/translator-dispatch-list.cc b/lily/translator-dispatch-list.cc index 21b6514556..7dac8ea091 100644 --- a/lily/translator-dispatch-list.cc +++ b/lily/translator-dispatch-list.cc @@ -17,10 +17,11 @@ 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);