Re: Different beaming for triplets

2013-12-04 Thread David Kastrup
Richard Shann  writes:

> On Wed, 2013-12-04 at 19:05 +0100, David Kastrup wrote:
>> Richard Shann  writes:
>> 
>> > Thank you David (and to the others that replied), I had a go at
>> > getting my head round this before I asked, I find it a serious
>> > challenge.
>> 
>> Yes.
>> 
>> > It would be nice to have a graphical way of selecting what you want
>> > visually and letting the computer do the hard work...
>> 
>> > Your new 2.19 syntax certainly looks an improvement!
>> 
>> Note:
>> 
>> >> \beamExceptions { 8[ 8 8] | \repeat unfold 3 \tuplet 3/2 { 16[ 16 16] } }
>> rather than
>> >> #'((end . (((1 . 8) . (3)) ((1 . 24) . (3 3 3)
>> 
>> Well, you can also write
>> 
>> \beamExceptions { c8[ c c] | \repeat unfold 3 \tuplet 3/2 { c16[ c c] } }
>> 
>> which will look more familiar.  But I am rather fond of the 2.19 way of
>> being able to enter rhythms without the distraction of pitches.
>
> Ha! I had just been mulling this over when you emailed. It looks like we
> could offer a Denemo command to extract beam exceptions from the current
> selection just by copying its LilyPond representation into a
> \beamExceptions parameter.

If the music has been written for that.  If you just pick some random
example measures, it is likely that the exceptions will end up being
incomplete.

> I was just trying to track down \beamExceptions in the unstable
> documentation but that seems only to go as far as 2.17 and you
> mentioned 2.19. I guess the documentation, such as it is, is still in
> the devel-discussions (naturally).

No, it is checked into master.  But it won't appear on the web site
before 2.19.0 is released.

The info looks something like

Beaming based on ‘beamExceptions’
.

Special autobeaming rules (other than ending a beam on a beat) are
defined in the ‘beamExceptions’ property.

   The value for ‘beamExceptions’, a somewhat complex Scheme data
structure, is easiest generated with the ‘\beamExceptions’ function.
This function is given one or more manually beamed measure-length
rhythmic patterns (measures have to be separated by a bar check ‘|’
since the function has no other way to discern the measure length).
Here is a simple example:

 \time 3/16
 \set Timing.beatStructure = #'(2 1)
 \set Timing.beamExceptions =
   \beamExceptions { 32[ 32] 32[ 32] 32[ 32] }
 c16 c c |
 \repeat unfold 6 { c32 } |

  Note: A ‘beamExceptions’ value must be _complete_ exceptions
  list.  That is, every exception that should be applied must be
  included in the setting.  It is not possible to add, remove,
  or change only one of the exceptions.  While this may seem
  cumbersome, it means that the current beaming settings need
  not be known in order to specify a new beaming pattern.

   When the time signature is changed, default values of
‘Timing.baseMoment’, ‘Timing.beatStructure’, and ‘Timing.beamExceptions’
are set.  Setting the time signature will reset the automatic beaming
settings for the ‘Timing’ context to the default behavior.

 \time 6/8
 \repeat unfold 6 { a8 }
 % group (4 + 2)
 \set Timing.beatStructure = #'(4 2)
 \repeat unfold 6 { a8 }
 % go back to default behavior
 \time 6/8
 \repeat unfold 6 { a8 }

   The default automatic beaming settings for a time signature are
determined in ‘scm/time-signature-settings.scm’.  Changing the default
automatic beaming settings for a time signature is described in *note
Time signature::.


-- 
David Kastrup

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Different beaming for triplets

2013-12-04 Thread Richard Shann
On Wed, 2013-12-04 at 19:05 +0100, David Kastrup wrote:
> Richard Shann  writes:
> 
> > Thank you David (and to the others that replied), I had a go at
> > getting my head round this before I asked, I find it a serious
> > challenge.
> 
> Yes.
> 
> > It would be nice to have a graphical way of selecting what you want
> > visually and letting the computer do the hard work...
> 
> > Your new 2.19 syntax certainly looks an improvement!
> 
> Note:
> 
> >> \beamExceptions { 8[ 8 8] | \repeat unfold 3 \tuplet 3/2 { 16[ 16 16] } }
> rather than
> >> #'((end . (((1 . 8) . (3)) ((1 . 24) . (3 3 3)
> 
> Well, you can also write
> 
> \beamExceptions { c8[ c c] | \repeat unfold 3 \tuplet 3/2 { c16[ c c] } }
> 
> which will look more familiar.  But I am rather fond of the 2.19 way of
> being able to enter rhythms without the distraction of pitches.

Ha! I had just been mulling this over when you emailed. It looks like we
could offer a Denemo command to extract beam exceptions from the current
selection just by copying its LilyPond representation into a
\beamExceptions parameter. I was just trying to track down
\beamExceptions in the unstable documentation but that seems only to go
as far as 2.17 and you mentioned 2.19. I guess the documentation, such
as it is, is still in the devel-discussions (naturally). Well, all in
good time.

Richard




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Different beaming for triplets

2013-12-04 Thread David Kastrup
Richard Shann  writes:

> Thank you David (and to the others that replied), I had a go at
> getting my head round this before I asked, I find it a serious
> challenge.

Yes.

> It would be nice to have a graphical way of selecting what you want
> visually and letting the computer do the hard work...

> Your new 2.19 syntax certainly looks an improvement!

Note:

>> \beamExceptions { 8[ 8 8] | \repeat unfold 3 \tuplet 3/2 { 16[ 16 16] } }
rather than
>> #'((end . (((1 . 8) . (3)) ((1 . 24) . (3 3 3)

Well, you can also write

\beamExceptions { c8[ c c] | \repeat unfold 3 \tuplet 3/2 { c16[ c c] } }

which will look more familiar.  But I am rather fond of the 2.19 way of
being able to enter rhythms without the distraction of pitches.

-- 
David Kastrup

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Different beaming for triplets

2013-12-04 Thread Richard Shann
On Wed, 2013-12-04 at 16:52 +, Phil Holmes wrote:
> - Original Message - 
> From: "Richard Shann" 
> To: "lilypond-user" 
> Sent: Wednesday, December 04, 2013 4:30 PM
> Subject: Different beaming for triplets
> 
> 
> > I've been asked a beaming rule question:
> > 
> > Is it possible to specify a different beaming rule if a beat is divided
> > into a triplet? In this example
...
> 
> Can you use manual beaming?

you can, and if you don't want to look at the LilyPond output you can
even set up a snippet in Denemo with this beaming in it and use that
just as easily as the default triplet. But it would be nice not to
clutter the output, hence the beaming rule question.

Richard



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Different beaming for triplets

2013-12-04 Thread Richard Shann
Thank you David (and to the others that replied), I had a go at getting
my head round this before I asked, I find it a serious challenge. It
would be nice to have a graphical way of selecting what you want
visually and letting the computer do the hard work...
Your new 2.19 syntax certainly looks an improvement!
Richard

On Wed, 2013-12-04 at 18:00 +0100, David Kastrup wrote:
> Richard Shann  writes:
> 
> > I've been asked a beaming rule question:
> >
> > Is it possible to specify a different beaming rule if a beat is divided
> > into a triplet? In this example
> >
> >
> >  \version "2.16.0"
> >  \score {
> >   {\time 3/8   
> >   d''4 \times 2/3 { bes''16 a'' bes'' }
> >   fis''8 g''8 r
> >   ees'' \times 2/3 { d''16 c'' bes' } \times 2/3 { a' g' fis' }
> >   g'16. a'32 bes'8 a'
> >   }
> > }
> >
> > The triplet is beamed together with the 1/8 notes, this override
> >
> > \overrideTimeSignatureSettings 3/8 1/8 #'(1 1 1) #'()
> >
> > breaks up the beaming at each beat so that the 1/8th notes in the second
> > bar are not beamed. Is there a way to frame an override that applies to
> > notes shorter than a certain amount, or some such?
> 
> Yes, that's what the last argument is for (the second to last can just
> be #'() as this will default to beaming on the beat).
> 
> You'd write
> \overrideTimeSignatureSettings 3/8 1/8 #'()
> \beamExceptions { 8[ 8 8] | \repeat unfold 3 \tuplet 3/2 { 16[ 16 16] } }
> 
> Except that you are not using 2.19.0.  In 2.16.0, the beam exceptions
> (calculated above with \beamExceptions) would look like
> 
> #'((end . (((1 . 8) . (3)) ((1 . 24) . (3 3 3)
> 
> This will beam the tuplets or shorter on the beat.
> 



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


RE: Different beaming for triplets

2013-12-04 Thread Mark Stephen Mrotek
Richard,

This may help:
http://www.lilypond.org/doc/v2.16/Documentation/notation/beams#setting-autom
atic-beam-behavior

Mark

-Original Message-
From: lilypond-user-bounces+carsonmark=ca.rr@gnu.org
[mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org] On Behalf Of
Richard Shann
Sent: Wednesday, December 04, 2013 8:30 AM
To: lilypond-user
Subject: Different beaming for triplets

I've been asked a beaming rule question:

Is it possible to specify a different beaming rule if a beat is divided into
a triplet? In this example


 \version "2.16.0"
 \score {
  {\time 3/8   
  d''4 \times 2/3 { bes''16 a'' bes'' }
  fis''8 g''8 r
  ees'' \times 2/3 { d''16 c'' bes' } \times 2/3 { a' g' fis' }
  g'16. a'32 bes'8 a'
  }
}

The triplet is beamed together with the 1/8 notes, this override

\overrideTimeSignatureSettings 3/8 1/8 #'(1 1 1) #'()

breaks up the beaming at each beat so that the 1/8th notes in the second bar
are not beamed. Is there a way to frame an override that applies to notes
shorter than a certain amount, or some such?

Richard



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Different beaming for triplets

2013-12-04 Thread David Kastrup
Richard Shann  writes:

> I've been asked a beaming rule question:
>
> Is it possible to specify a different beaming rule if a beat is divided
> into a triplet? In this example
>
>
>  \version "2.16.0"
>  \score {
>   {\time 3/8   
>   d''4 \times 2/3 { bes''16 a'' bes'' }
>   fis''8 g''8 r
>   ees'' \times 2/3 { d''16 c'' bes' } \times 2/3 { a' g' fis' }
>   g'16. a'32 bes'8 a'
>   }
> }
>
> The triplet is beamed together with the 1/8 notes, this override
>
> \overrideTimeSignatureSettings 3/8 1/8 #'(1 1 1) #'()
>
> breaks up the beaming at each beat so that the 1/8th notes in the second
> bar are not beamed. Is there a way to frame an override that applies to
> notes shorter than a certain amount, or some such?

Yes, that's what the last argument is for (the second to last can just
be #'() as this will default to beaming on the beat).

You'd write
\overrideTimeSignatureSettings 3/8 1/8 #'()
\beamExceptions { 8[ 8 8] | \repeat unfold 3 \tuplet 3/2 { 16[ 16 16] } }

Except that you are not using 2.19.0.  In 2.16.0, the beam exceptions
(calculated above with \beamExceptions) would look like

#'((end . (((1 . 8) . (3)) ((1 . 24) . (3 3 3)

This will beam the tuplets or shorter on the beat.

-- 
David Kastrup

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Different beaming for triplets

2013-12-04 Thread Richard Shann
I've been asked a beaming rule question:

Is it possible to specify a different beaming rule if a beat is divided
into a triplet? In this example


 \version "2.16.0"
 \score {
  {\time 3/8   
  d''4 \times 2/3 { bes''16 a'' bes'' }
  fis''8 g''8 r
  ees'' \times 2/3 { d''16 c'' bes' } \times 2/3 { a' g' fis' }
  g'16. a'32 bes'8 a'
  }
}

The triplet is beamed together with the 1/8 notes, this override

\overrideTimeSignatureSettings 3/8 1/8 #'(1 1 1) #'()

breaks up the beaming at each beat so that the 1/8th notes in the second
bar are not beamed. Is there a way to frame an override that applies to
notes shorter than a certain amount, or some such?

Richard



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user