diff options
author | Han-Wen Nienhuys <hanwen@xs4all.nl> | 2005-07-18 23:37:26 +0000 |
---|---|---|
committer | Han-Wen Nienhuys <hanwen@xs4all.nl> | 2005-07-18 23:37:26 +0000 |
commit | a7f82e4dc22fc6219a9fe0f6874f8c91e3f31f24 (patch) | |
tree | e35f69be1ab64d773a2c98f0316fe977e7cb0961 /lily/chord-name-engraver.cc | |
parent | 1b7d282f5e0b97efec51b5e8bc8df64444c02f06 (diff) |
* lily/include/translator.icc: new file.
* lily/paper-column-engraver.cc (process_music): new
file. Separate Paper_column factory from Score_engraver.
* lily/vertically-spaced-context-engraver.cc: administer
spaceable-staves property of System.
* lily/translator-group-ctors.cc: new file.
* lily/context-property.cc (make_grob_from_properties): construct
the right Grob class programmatically, looking at the class entry
for the meta property.
* lily/break-align-engraver.cc (stop_translation_timestep): call
Break_align_interface::add_element() directly.
* lily/context.cc (measure_position): measure_position() is now a
normal function.
* lily/include/translator.hh (class Translator): rename
process_acknowledged_grobs() to process_acknowledged() and move to
Translator.
* scm/define-grobs.scm (all-grob-descriptions): add a 'class meta
field for each grob description.
* lily/include/translator-group.hh (class Translator_group):
change to base class. Separate class from Translator. This gets
rid of virtual inheritance for Engravers/Performers.
* lily/staff-performer.cc (class Staff_performer): derive
Staff_performer from Performer, not Performer_group_performer
* Lily/translator-group.cc (precomputed_recurse_over_translators):
new function.
(precompute_method_bindings): new function. Precompute lists of
Translators, so we only call methods (process_music,
start_translation_timestep, etc.) for Translators needing
it. Also: dispose of pointer-to-member-function calls.
* lily/engraver-group-engraver.cc: remove engraver_each,
recurse_down_engravers ()
* lily/note-head.cc (internal_print): only call
glyph-name-procedure if style != default. 3 % speed increase (wtk2-fugue1).
Diffstat (limited to 'lily/chord-name-engraver.cc')
-rw-r--r-- | lily/chord-name-engraver.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lily/chord-name-engraver.cc b/lily/chord-name-engraver.cc index d3109d4d14..8256b32aa0 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: - virtual void stop_translation_timestep (); - virtual void process_music (); + PRECOMPUTED_VIRTUAL void stop_translation_timestep (); + PRECOMPUTED_VIRTUAL void process_music (); virtual bool try_music (Music *); virtual void finalize (); virtual void derived_mark () const; @@ -150,6 +150,8 @@ Chord_name_engraver::stop_translation_timestep () The READs description is not strictly accurate: which properties are read depend on the chord naming function active. */ +#include "translator.icc" + ADD_TRANSLATOR (Chord_name_engraver, /* descr */ "Catch note-events " "and generate the appropriate chordname.", |