Janek Warchoł wrote: > So, we can say that \magnifyStaff sets staff "size" to an > absolute value - defined as the fraction of the default > size - and not "relative" to the previous size.
Not exactly. A magnifyStaff value is only relative to the previous staff size the first time it's used in a given staff. The value of "1" refers to the settings that are in effect when magnifyStaff is first called. After that, then yes, I suppose it's "absolute". But it's not precise to say that it scales the "default" values, since it scales the user's settings. >> Subsequent calls to \magnifyStaff will first revert the >> most recent layer of temporary overrides, but only if >> the magnification value is different from last time. > > - do i understand correctly that this means that > \magnifyStaff is aware of the previous magnification value > used? Yes. I've added a new Staff context property `magnifyStaffValue' to store that. > If so, would it be possible to make a "relative" version > of \magnifyStaff, similarly to how we have relative and > absolute markup commands (\large and \larger)? I think > this could be useful. Hmm, sometimes I wonder if we're not wandering into levels of esoterica here. At a minimum, we should provide the user an easy way to do these two things: 1) ossia staves 2) small staves for non-piano instruments in chamber music scores with piano This is now available; just throw magnifyStaff in a \with block and you're done. Then, to my great surprise, someone requested the ability to change staff size mid-stream in a Staff context: http://lists.gnu.org/archive/html/lilypond-user/2014-06/msg00400.html So I made sure that magnifyStaff could do that: ... \magnifyStaff 0.75 ... \magnifyStaff 1 % revert back to initial size ... Now with requests for absolute and relative versions, as well as this: \temporary \magnifyStaff 1.3 ... \undo \magnifyStaff 1.3 ...I'm starting to wonder how much of this is really necessary. Can anyone provide an actual use case to justify accommodating either of these requests? Also, to be honest, I don't really like the idea of the \larger command, since it feels so arbitrary. I could do: \largerStaff \smallerStaff but I'm not wild about that idea. I suppose I could also figure out a way to do: \magnifyStaffAbsolute \magnifyStaffRelative but that still seems silly to me. One thought I had was putting the burden of reverting on the user, when wanting to change from one non-default size to another, something like this: ... % size 1 \magnifyStaff 0.75 % size 0.75 ... \resetStaffSize % size 1 \magnifyStaff 2 % size 2 ... Then if one really wanted a "relative" magnifyStaff, they could do: ... % size 1 \magnifyStaff 0.75 % size 0.75 ... \magnifyStaff 2 % size 1.5 ... But do you really think this is what users are going to want? To me the extra reset command seems needlessly cumbersome, and the "relative" magnification seems so non-intuitive, I find it hard to believe that anyone needs a relative function here, so I just built the reset into the function itself. And besides, isn't this already so esoteric (multiple mid-stream staff size changes?), what tiny minority are we catering to by even worrying about it? Sorry if I'm ranting; my questions are sincere, and I'm happy to take further discussion on the matter. I think I'm leaning towards: 1) keeping magnifyStaff as it is 2) making magnifyMusic syntax like magnifyStaff 3) changing magnifyMusic to magnifyVoice > In general, your work on setting notation size looks > very nice. I've been missing such functionality for a > long time :) Well, validation is always nice. :) Thanks! Mark _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel