Mark Polesky <markpole...@gmail.com> writes: > David Kastrup wrote: >> Personally, I am most uncomfortable with the "be relative >> to current settings once" idea: that seems like a total >> nightmare in situations using quotes or similar. The >> question is where we could access a reasonably "default" >> setting that relative references could be based on. > > Okay, then I propose a completely new design, which will be > a near total rewrite of the code, but it looks like it will > be more elegant. Pardon the quasi-code. > > `\magnifyStaff mag' will do these overrides: > for each shrinkable prop S, > S = (* S (/ mag old-mag)) > for each unshrinkable prop U, > U = > (if (< mag 1) > (if (< old-mag 1) > U > (/ U old-mag)) > (if (< old-mag 1) > (* U mag)) > (* U (/ mag old-mag)))
This assumes access to old-mag. It also assumes that floating point arithmetic is perfect and has no accumulative errors. So I don't see that this approach will fly. > It makes sense to me that, at least initially, the > default size should be the size of the staff when > magnifyStaff is first used. I repeat: that seems like a total nightmare in situations using quotes or similar. The question is where we could access a reasonably "default" setting that relative references could be based on. Perhaps the easiest way out would be to have a staff-size relative setting in analogy to the current font-size setting. It would have to be factored in "at the last moment" just like font-size is and should cater for ossia staves and similar reasonably gracefully. Apropos gracefully: maybe it might be worth checking how grace-settings et al work and take a hint from them. -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel