]> git.donarmstrong.com Git - lilypond.git/commit - lily/score-performer.cc
* lily/include/translator.icc: new file.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 18 Jul 2005 23:37:26 +0000 (23:37 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 18 Jul 2005 23:37:26 +0000 (23:37 +0000)
commita7f82e4dc22fc6219a9fe0f6874f8c91e3f31f24
treee35f69be1ab64d773a2c98f0316fe977e7cb0961
parent1b7d282f5e0b97efec51b5e8bc8df64444c02f06
* 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).
166 files changed:
ChangeLog
Documentation/user/advanced-notation.itely
Documentation/user/basic-notation.itely
Documentation/user/changing-defaults.itely
lily/accidental-engraver.cc
lily/ambitus-engraver.cc
lily/arpeggio-engraver.cc
lily/auto-beam-engraver.cc
lily/axis-group-engraver.cc
lily/axis-group-interface.cc
lily/bar-engraver.cc
lily/bar-number-engraver.cc
lily/beam-engraver.cc
lily/beam-performer.cc
lily/break-align-engraver.cc
lily/break-align-interface.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/coherent-ligature-engraver.cc
lily/collision-engraver.cc
lily/completion-note-heads-engraver.cc
lily/context-def.cc
lily/context-property.cc
lily/context.cc
lily/custos-engraver.cc
lily/dot-column-engraver.cc
lily/dot-column.cc
lily/drum-note-engraver.cc
lily/drum-note-performer.cc
lily/dynamic-engraver.cc
lily/dynamic-performer.cc
lily/engraver-group-engraver.cc
lily/engraver.cc
lily/extender-engraver.cc
lily/figured-bass-engraver.cc
lily/fingering-engraver.cc
lily/font-size-engraver.cc
lily/forbid-break-engraver.cc
lily/glissando-engraver.cc
lily/grace-engraver.cc
lily/gregorian-ligature-engraver.cc
lily/grid-line-span-engraver.cc
lily/grid-point-engraver.cc
lily/grob-pq-engraver.cc
lily/hara-kiri-engraver.cc
lily/hara-kiri-group-spanner.cc
lily/horizontal-bracket-engraver.cc
lily/hyphen-engraver.cc
lily/include/accidental-interface.hh
lily/include/axis-group-engraver.hh
lily/include/axis-group-interface.hh
lily/include/context.hh
lily/include/engraver-group-engraver.hh
lily/include/engraver.hh
lily/include/gregorian-ligature-engraver.hh
lily/include/ligature-engraver.hh
lily/include/paper-column-engraver.hh [new file with mode: 0644]
lily/include/performer-group-performer.hh
lily/include/performer.hh
lily/include/recording-group-engraver.hh [new file with mode: 0644]
lily/include/score-engraver.hh
lily/include/score-performer.hh
lily/include/staff-symbol-engraver.hh
lily/include/timing-translator.hh
lily/include/translator-group.hh
lily/include/translator.hh
lily/include/translator.icc [new file with mode: 0644]
lily/include/type-swallow-translator.hh
lily/instrument-name-engraver.cc
lily/item.cc
lily/key-engraver.cc
lily/key-performer.cc
lily/ledger-line-engraver.cc
lily/ligature-bracket-engraver.cc
lily/ligature-engraver.cc
lily/lyric-engraver.cc
lily/lyric-performer.cc
lily/mark-engraver.cc
lily/measure-grouping-engraver.cc
lily/melisma-translator.cc
lily/mensural-ligature-engraver.cc
lily/metronome-engraver.cc
lily/multi-measure-rest-engraver.cc
lily/new-fingering-engraver.cc
lily/note-collision.cc
lily/note-column.cc
lily/note-head-line-engraver.cc
lily/note-head.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/paper-column-engraver.cc [new file with mode: 0644]
lily/part-combine-engraver.cc
lily/percent-repeat-engraver.cc
lily/performer-group-performer.cc
lily/performer.cc
lily/phrasing-slur-engraver.cc
lily/piano-pedal-engraver.cc
lily/piano-pedal-performer.cc
lily/pitch-squash-engraver.cc
lily/pitched-trill-engraver.cc
lily/recording-group-engraver.cc
lily/repeat-acknowledge-engraver.cc
lily/rest-collision-engraver.cc
lily/rest-engraver.cc
lily/rhythmic-column-engraver.cc
lily/score-context.cc
lily/score-engraver.cc
lily/score-performer.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-bar.cc
lily/span-dynamic-performer.cc
lily/spanner.cc
lily/staff-collecting-engraver.cc
lily/staff-performer.cc
lily/staff-symbol-engraver.cc
lily/stanza-number-align-engraver.cc
lily/stanza-number-engraver.cc
lily/stem-engraver.cc
lily/string-number-engraver.cc
lily/swallow-engraver.cc
lily/swallow-perf.cc
lily/system-start-delimiter-engraver.cc
lily/system-start-delimiter.cc
lily/system.cc
lily/tab-note-heads-engraver.cc
lily/tab-staff-symbol-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/timing-engraver.cc
lily/timing-translator.cc
lily/translator-group-ctors.cc [new file with mode: 0644]
lily/translator-group.cc
lily/translator-scheme.cc
lily/translator.cc
lily/trill-spanner-engraver.cc
lily/tuplet-engraver.cc
lily/type-swallow-translator.cc
lily/vaticana-ligature-engraver.cc
lily/vertical-align-engraver.cc
lily/vertically-spaced-context-engraver.cc [new file with mode: 0644]
lily/volta-engraver.cc
ly/engraver-init.ly
ly/performer-init.ly
scm/define-context-properties.scm
scm/define-grobs.scm
scm/document-translation.scm
scm/framework-scm.scm