Dan Eble <[email protected]> writes: > On Nov 7, 2014, at 01:46 , David Kastrup <[email protected]> wrote: >> >> Dan Eble <[email protected]> writes: >> >>> If both \compoundMeter #(2 3 8) and \compoundMeter 4/4 could be made >>> to work, why bother keeping both \compoundMeter and \time? Why not >>> just let \time do all the work? >> >> Because of >> >> \time #'(2 3 2) #'(8 8) >> >> Is it \time (2 + 3)/2 followed by #'(8 8) or is it \time 8/8 with a beat >> structure of 2+3+2 ? > > Shame on me for not reading the code for \time; but if one were > serious about creating a more uniform interface, one could write a > conversion rule rather than sticking with the old syntax exactly, > right?
Right. I don't currently see an approach that would provide a significant amount of increase in usability/convenience making it worth the trouble. If optional arguments and stuff would have been available at the time \compoundMeter was designed, it is quite imaginable that its syntax would have been folded into \time in some manner. \compoundMeter was added in version 2.13.47 as commit a2eb9d0a93abab905d4d88c33921ee1b8b8cb67c Author: Reinhold Kainhofer <[email protected]> Date: Fri Jan 14 21:09:57 2011 +0100 Implement compound time signatures \compoundMeter is a replacement for \time, allowing complex time signatures (like (1+3)/8 or 3/8+(2+5)/16, etc.). The argument to the music function is a list of lists, each describing one fraction in the signature. and optional function arguments came quite later. \time was redefined as a music function in version 2.15.17 commit 5ecf990d2bf528e34d73a9d9fcb2e12c31ca4470 Author: David Kastrup <[email protected]> Date: Sat Oct 29 23:13:31 2011 +0200 parser.yy et al: make \time and \times musicfunctions. but indeed the beat grouping argument was only added in version 2.15.19 commit a512132fed73a94068b91fb0bab473319e477b6e Author: David Kastrup <[email protected]> Date: Wed Nov 9 11:37:39 2011 +0100 Fold set-time-signature into \time So I am responsible for that historic decision that was getting us rid of $(set-time-signature ...). I probably did not even have \compoundMeter on my radar at the time. But at the current point of time, I don't really see a convincing way of unifying both that would provide users with enough net benefit to make it worth the trouble. Maybe an optional context mod? \time \with { beatGrouping = #'(2 3 2) beamExceptions = \beamExceptions { 4[ 4 4] 4[ 4 4 4 4] } } 8/8 Or one scheme function that gets a rhythmic expression along the lines of \beamExceptions but derives _all_ of the Timing context mod from it? > (Hans just said he uses a separate command to set the beat structure > anyway.) That would likely still work as \time \with { \hans-s-personal-command ... } 3/4 then since context mods can contain arbitrary music commands these days. > It doesn’t matter right now, though. I’ll keep \compoundMeter > numeric. Thanks for your help. As long as we have separate commands, that makes the most sense to me. -- David Kastrup _______________________________________________ lilypond-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-devel
