lilypond-user
[Top][All Lists]
Advanced

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

Re: Help for \beamExceptions


From: Richard Shann
Subject: Re: Help for \beamExceptions
Date: Wed, 02 Sep 2015 18:57:22 +0100

On Tue, 2015-09-01 at 21:04 +0200, David Kastrup wrote:
> Richard Shann <address@hidden> writes:
> 
> > I've been trying to use the music function \beamExceptions
> 
> "scheme function"

Is that to say that this should be called a scheme function not a music
function? I found it documented at

http://www.lilypond.org/doc/v2.19/Documentation/notation/available-music-functions

as Available music functions ...


> 
> > which is in version 2.19.25, I can't find anything much to document it
> > though.  For example, trying this
> >
> > \version "2.19.25"
> >
> > MvmntIVoiceI = {
> >          e'8[ f'8 g'] a'8\noBeam b'8 a'[ g'8 f'] |
> >          e'8 f' g' a' b' a' g' f' 
> > }
> >
> > \score { 
> >         \new Staff {\time 4/4 \MvmntIVoiceI } 
> >         \layout {
> >             \set beamExceptions = \beamExceptions { \time 4/4  e' 8[ f' 8
> > g' ] a' 8\noBeam b' 8 a' [ g' 8 f' ] }
> >         }
> >       }
> >
> > the second bar is not beamed like the first, despite the music argument
> > to \beamExceptions being a copy of the first bar.
> 
> \beamExceptions only takes explicit beams.  \noBeam is useless here.
> 
> > Is the next stop some source file for finding out what can be done, or
> > am I missing some documentation?
> 
> It's just notes and [ and ].

hmm, well I have tried \tuplet (I think it was, or the older \times
perhaps) and it seemed to understand that - I haven't yet tried \grace,
it would be nice if that could be autobeamed, though perhaps that is not
possible. And there is a comment somewhere about using | to separate
something, I guess bars with the same \time signature (or, indeed
different ones).
I did have it barfing on empty measures (s1*4/4 perhaps) where the
underlying scheme errored without any pleasant LilyPond error message
resulting, I'm not sure if this is something that should be pursued...

> 
> > Another topic that came up while I was doing this:
> > I have used \set beamExceptions here, but I couldn't figure out what is
> > allowed for setting the context - Voice and Staff worked but \set
> > Score.beamExceptions was ignored, and I couldn't find out what \set
> > Timing.beamExceptions was doing - Timing doesn't appear in the hierarchy
> > of contexts...
> 
> Timing is a context alias established by the Timing_translator.  There
> is a hardwired alias Timing for the Score context in case you use Timing
> before anything has been called.  The location in ly/engraver-init.ly
> where this alias of Timing to Score (which is only relevant if you are
> at outer Score level or there is no intervening Timing alias) states:
> 
>   \alias "Timing"
> 
>   %% An alias for Timing is established by the Timing_translator in
>   %% whatever context it is initialized, and the timing variables are
>   %% then copied from wherever Timing had been previously established.
>   %% The alias at Score level provides a target for initializing
>   %% Timing variables in layout definitions before any
>   %% Timing_translator has been run.
> 

Thanks very much for this insight into what is going on with Timing -
I'll be going on (hopefully) to make setting beaming patterns at Voice
and at top level available to Denemo users, so this will hopefully help.

Richard







reply via email to

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