2007/3/30, Arvid Grøtting <[EMAIL PROTECTED]>:
2007/3/22, Han-Wen Nienhuys <[EMAIL PROTECTED]>:
> 2007/3/22, Arvid Grøtting <[EMAIL PROTECTED]>:
> > But I just might come up with a scheme function that takes two (or
> > more) voices and merges (or centers) the rests that are common. Do
> > you think that's feasible?
>
> Good point there: you'll probably be able to write a callback for
> positioning-done which checks whether the rests (ly:grob-object
> 'rests) have equal 'duration-log and 'dot-count properties, and if yes
> force them to overlap, and if no, call the original
> calc-positioning-done function.
Hmm. I've managed to merge some rests that way, but:
- where do I get at the dot-count? I've tried several ways, but so
far with no luck...
take the path
note-head -> dot -> dot-count
- how do I make sure the merged rest stays in the middle? Do I need
to kill both rest grobs and create a new one, or something?
Look at how rests are offset rest.cc, y_offset_callback. You have to
override/revert these settings.
- this callback doesn't seem to be called by multi-measure rests. Any
ideas on how to merge those?
unset staff-position for mm rest.
--
Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen
_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel