lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Compound time signature style


From: Hans Aberg
Subject: Re: Compound time signature style
Date: Fri, 7 Nov 2014 15:04:46 +0100

> On 7 Nov 2014, at 14:39, David Kastrup <address@hidden> wrote:
> 
> Dan Eble <address@hidden> writes:
> 
>> On Nov 7, 2014, at 01:46 , David Kastrup <address@hidden> wrote:
>>> 
>>> Dan Eble <address@hidden> 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 <address@hidden>
> 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 <address@hidden>
> 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 <address@hidden>
> 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.

I just write
  \time 11/16
  \set beatStructure = #'(4 3 4)

Here, the 4s have 2+2 subaccents, which might be reflected in the subbeaming. 
In pseudocode, this might be
  \compoundMeter #’(((2 2) 3 (2 2) 16))

When writing a time signature, one combines som subparts. Denote that with 
brackets "[...]". Then what I write is 
  \compoundMeter #’(([(2 2) 3 (2 2)] 16))

Sometimes one see the use of a "+". For example,
  \compoundMeter #’(([(3 2 3)] [(2 3)] 16))
which would be displayed as 8/16+5/16, contrasting against
  \compoundMeter #’(([(3 (2 2) 2 3)] 16))
which is 13/16.

It is possible to combine these, like the Sedi Donka
  \compoundMeter #’([(3 2 2)] [(3 2 2)] [((2 2) 3 (2 2)] 16))
which is a 7/16+7/16+11/16, though it may also be written
    \compoundMeter #’([(3 2 2) (3 2 2) ((2 2) 3 (2 2)] 16))
a 25/16.

Here, one may differ on the the display of these groups of 7 and 11: they are 
more like a sequence of different measures, so different styles might be \bar 
";", bar "!", or \bar "|".





reply via email to

[Prev in Thread] Current Thread [Next in Thread]