Hi Ben On Sun, Mar 18, 2012 at 9:48 PM, Ben Rudiak-Gould <benrud...@googlemail.com> wrote: > > \version "2.15.32" > > I'd like to easily make choral scores with automatic beaming inside > melismas and none outside. Inspired by > https://code.google.com/p/lilypond/issues/detail?id=1308, I wrote a > Lilypond Guile function to do the same thing as the reporter's Perl > script. Unfortunately, I can't get it to work in all cases. > > The first problem is that in situations like "c8[[ d]] e f", which I > convert to "\autoBeamOn c8 \melisma d \melismaEnd \autoBeamOff e f", > all four notes are beamed together. As far as I can tell, the > auto-beaming state is ignored except at the first beamed note: when > looking ahead to find how many notes to beam, the algorithm doesn't > consider whether auto-beaming was turned off in the mean time. (Is > this a bug?) I could fix this by attaching \noBeam to notes that > aren't part of a melisma, but this feels hacky and it's actually > somewhat tricky since it would mean keeping track of the current > melisma state, considering things like nested sequential and parallel > music, etc. Currently I don't have to worry about that. At any rate, > at least I see how I could solve this problem in principle. > > The second problem is that c8[[ d]] e[[ f]] gets beamed as c8[ d e f]. > I can't figure out how to solve this. If there were an object I could > insert in the note sequence that would not be crossed by automatic > beams, but otherwise had no effect, that would solve the problem. But > I can't find one. > > c d s8*0 e f ==> c[ d e f] > > c d s8*0\noBeam e f ==> c[ d] e f > > c d \skip8*0 e f ==> c[ d e f] > > c d \skip8*0\noBeam e f ==> error > > c d \bar "" e f ==> c d e[ f], and it wouldn't work at bar lines > anyway (which I have no way of detecting) > > c d r8*0 e f ==> c[ d] e[ f], but the rest is visible and the stem > of the e is aligned with the rest instead of the note > > How much of the above is intentional behavior and how much is buggy? > Is there any way of doing what I want without requiring manual beaming > fixups from the user (which are a hassle, and would have to be > explained in the documentation of my helper function)?
I 100% support your wish. In fact, i think that the default behavior of \melisma should be to turn automatic beaming on, and that the command itself should be shorter (as it is used very often in vocal music). However, i don't know this part of Lily internals and i cannot help you with solving this problem :( thanks, Janek _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user