On Tue, 2015-09-01 at 21:04 +0200, David Kastrup wrote: > Richard Shann <[email protected]> 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 _______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
