"m...@mikesolomon.org" <m...@mikesolomon.org> writes: > On 5 nov. 2012, at 09:19, David Kastrup <d...@gnu.org> wrote: > >> "m...@mikesolomon.org" <m...@mikesolomon.org> writes: >> >>> On 5 nov. 2012, at 06:51, m...@mikesolomon.org wrote: >>> >>>> 1) rest->extent (common, Y_AXIS) >>>> 2) Rest::height >>>> 3) Rest::generic_extent_callback >>>> 4) Rest::brew_internal_stencil >>>> 5) Rest::glyph_name >>>> 6) Staff_symbol_referencer::get_position >>>> 7) rest->relative_coordinate (common, Y_AXIS); >>>> 8) Rest_collision::force_shift_callback_rest >>>> 9) Rest_collision::calc_positioning_done >>>> 10) rest->extent (common, Y_AXIS) >>> >>> A better way to describe it just to wrap heads around it, with the >>> circular dependency underlined: >>> >>> Rest extents depend on their stencil. This stencil depends on >>> placement on/off the staff. Placement may depend on the placement of >>> other rests. To calculate the placement of other rests, we need to >>> shift all of them. The amount of space one must shift depends on the >>> extent of the rest. >> >> The co-dependent shifts should likely be done by Note_column. About the >> rest dimensions used for that: I'd likely just pick the on-staff glyph, >> as the off-staff glyphs just differ by ledger lines IIRC. >> >> Keep in mind that this advice is not based on any actual knowledge about >> the backend, so it is entirely possible that it is a bunch of nonsense. >> > > We're on the same wavelength - this is how rest pure height is > calculated. That's what I've done for now in the code I'm working on > to be able to keep working. It's ugly, tho, as it requires an > exception for rests (rest ? use pure height : use height).
Would the problem not be the same with notes? They depend on things like beam scoring, and also have the ledger line situation. -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel