summaryrefslogtreecommitdiff
path: root/lily/chord-name-engraver.cc
diff options
context:
space:
mode:
authorHan-Wen Nienhuys <hanwen@xs4all.nl>2005-07-18 23:37:26 +0000
committerHan-Wen Nienhuys <hanwen@xs4all.nl>2005-07-18 23:37:26 +0000
commita7f82e4dc22fc6219a9fe0f6874f8c91e3f31f24 (patch)
treee35f69be1ab64d773a2c98f0316fe977e7cb0961 /lily/chord-name-engraver.cc
parent1b7d282f5e0b97efec51b5e8bc8df64444c02f06 (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.cc6
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.",