lilypond-user
[Top][All Lists]
Advanced

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

Re: Help for \beamExceptions


From: David Kastrup
Subject: Re: Help for \beamExceptions
Date: Tue, 01 Sep 2015 21:04:45 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Richard Shann <address@hidden> writes:

> I've been trying to use the music function \beamExceptions

"scheme function"

> 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 ].

> 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.


-- 
David Kastrup



reply via email to

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