]> git.donarmstrong.com Git - lilypond.git/commit - lily/horizontal-bracket-engraver.cc
* lily/system.cc (do_derived_mark): don't mark from object_alist_
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 16 Jul 2005 12:23:33 +0000 (12:23 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 16 Jul 2005 12:23:33 +0000 (12:23 +0000)
commite6caaa132f59006e5c47d0007b24bfedd07ad145
tree03f0a133060b58c4c8cabbf0eef16e999718d919
parent2ea45e18f92b208067f7a88bdca481e00e93a504
* lily/system.cc (do_derived_mark): don't mark from object_alist_
anymore, but do it centrally.  Speedup: approximately 3-5 %.

* ly/engraver-init.ly (AncientRemoveEmptyStaffContext): remove
hammer hack.

* lily/grob-scheme.cc (LY_DEFINE): new function ly:grob-object

* scm/output-lib.scm: remove hammer-print-function.

* lily/include/pointer-group-interface.hh (extract_grob_set): new
macro. Declare a Link_array<Grob> and fill it from a grob.
(extract_item_set): idem for item.

* lily/break-substitution.cc: add header.
(fast_substitute_grob_array): rewrite for Grob_arrays.
(substitute_grob_array): idem.

* lily/group-interface.cc (add_thing): remove file.

* flower/include/parray.hh (class Link_array): slice() is const.

* lily/include/grob-array.hh: new file.

* lily/grob-array.cc (spanner): new file.

* lily/beam-quanting.cc (fill): read details property from beam.

* lily/beam.cc: support details property.

* lily/include/beam.hh: new struct, softcode beam quanting parameters

* lily/include/grob.hh (class Grob): add interfaces_ member.

* lily/bezier.cc (init_polynomial_cache): new function: cache
binom(3,j) t^j (1-t)^{3-j}
(curve_point): opps, actually use the cache for t^j , (1-t)^j!

* lily/grob-property.cc (internal_get_object): new routine.
(internal_set_object): idem. Store grob refrences in separate
alist. This saves processing time, since properties aren't
break-substituted, and the per grob namespace is smaller, both for
grobs and non-grob properties.

* scm/define-grob-properties.scm (all-internal-grob-properties):
remove center-element.

* lily/grob.cc: remove tweak-count, tweak-rank.
120 files changed:
ChangeLog
flower/include/parray.hh
input/typography-demo.ly
lily/GNUmakefile
lily/accidental-engraver.cc
lily/accidental-placement.cc
lily/accidental.cc
lily/align-interface.cc
lily/ambitus-engraver.cc
lily/ambitus.cc
lily/arpeggio-engraver.cc
lily/arpeggio.cc
lily/axis-group-engraver.cc
lily/axis-group-interface-scheme.cc
lily/axis-group-interface.cc
lily/bar-number-engraver.cc
lily/beam-concave.cc
lily/beam-quanting.cc
lily/beam.cc
lily/bezier.cc
lily/break-algorithm.cc
lily/break-align-engraver.cc
lily/break-align-interface.cc
lily/break-substitution.cc
lily/chord-tremolo-engraver.cc
lily/cluster-engraver.cc
lily/cluster.cc
lily/coherent-ligature-engraver.cc
lily/dot-column-engraver.cc
lily/dot-column.cc
lily/drum-note-engraver.cc
lily/dynamic-engraver.cc
lily/easy-notation.cc
lily/extender-engraver.cc
lily/grid-line-interface.cc
lily/grob-array.cc [new file with mode: 0644]
lily/grob-interface.cc
lily/grob-property.cc
lily/grob-scheme.cc
lily/grob.cc
lily/group-interface.cc [deleted file]
lily/hairpin.cc
lily/hara-kiri-group-spanner.cc
lily/horizontal-bracket-engraver.cc
lily/horizontal-bracket.cc
lily/hyphen-engraver.cc
lily/include/axis-group-interface.hh
lily/include/beam.hh
lily/include/grob-array.hh [new file with mode: 0644]
lily/include/grob.hh
lily/include/group-interface.hh
lily/include/lily-guile-macros.hh
lily/include/lily-proto.hh
lily/include/music.hh
lily/include/separating-group-spanner.hh
lily/include/spanner.hh
lily/include/system.hh
lily/include/translator-group.hh
lily/instrument-name-engraver.cc
lily/item.cc
lily/ledger-line-engraver.cc
lily/ledger-line-spanner.cc
lily/lyric-extender.cc
lily/mark-engraver.cc
lily/metronome-engraver.cc
lily/music.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-spacing.cc
lily/ottava-bracket.cc
lily/paper-column.cc
lily/phrasing-slur-engraver.cc
lily/piano-pedal-bracket.cc
lily/piano-pedal-engraver.cc
lily/pitched-trill-engraver.cc
lily/rest-collision.cc
lily/rest.cc
lily/rhythmic-column-engraver.cc
lily/rhythmic-head.cc
lily/score-engraver.cc
lily/script-column.cc
lily/script-engraver.cc
lily/separating-group-spanner.cc
lily/separating-line-group-engraver.cc
lily/separation-item.cc
lily/side-position-interface.cc
lily/simple-spacer.cc
lily/slur-configuration.cc
lily/slur-engraver.cc
lily/slur-scoring.cc
lily/slur.cc
lily/spaceable-grob.cc
lily/spacing-engraver.cc
lily/spacing-loose-columns.cc
lily/spacing-spanner.cc
lily/span-arpeggio-engraver.cc
lily/span-bar.cc
lily/spanner.cc
lily/staff-spacing.cc
lily/staff-symbol-engraver.cc
lily/staff-symbol-referencer.cc
lily/stanza-number-align-engraver.cc
lily/stem-engraver.cc
lily/stem-tremolo.cc
lily/stem.cc
lily/system-start-delimiter-engraver.cc
lily/system-start-delimiter.cc
lily/system.cc
lily/tie-column.cc
lily/translator-group.cc
lily/tuplet-bracket.cc
lily/vertical-align-engraver.cc
lily/volta-bracket.cc
ly/engraver-init.ly
scm/define-grob-properties.scm
scm/lily-library.scm
scm/output-lib.scm