lilypond-user
[Top][All Lists]

Idea for improved automatic beaming

 From: Mats Bengtsson Subject: Idea for improved automatic beaming Date: Thu, 06 Mar 2008 13:29:00 +0100 User-agent: Thunderbird 2.0.0.5 (X11/20070716)

Hi,

Based on the recent discussions on automatic beaming, I got an idea on
a possible improvement/simplification.
Currently, a setting like
#(override-auto-beam-setting '(end 1 16 4 4) 1 4)

means that beams are ended on the first beat if the beamed notes are 16th notes.
What if we changed the implementation so that
#(override-auto-beam-setting '(end 1 16 4 4) 1 4)
meant that beams are ended on the first beat if the beamed notes are
1/16 *or shorter*?

With this modification, the current settings for common meter could be
shortened to:
((end * * 4 4) . ,(ly:make-moment 1 2))
((end 1 12 4 4) . ,(ly:make-moment 1 4))
((end 1 12 4 4) . ,(ly:make-moment 3 4))

((end 1 32 4 4) . ,(ly:make-moment 1 8))
((end 1 32 4 4) . ,(ly:make-moment 3 8))
((end 1 32 4 4) . ,(ly:make-moment 5 8))
((end 1 32 4 4) . ,(ly:make-moment 7 8))

and as an extra benefit, it would also automatically handle 16th triplets,
32th septuples or whatever tuplets you can think of.
Actually, at second thought, the above list should perhaps be replaced by
((end * * 4 4) . ,(ly:make-moment 1 2))
((end 1 9 4 4) . ,(ly:make-moment 1 4))
((end 1 9 4 4) . ,(ly:make-moment 3 4))

((end 1 17 4 4) . ,(ly:make-moment 1 8))
((end 1 17 4 4) . ,(ly:make-moment 3 8))
((end 1 17 4 4) . ,(ly:make-moment 5 8))
((end 1 17 4 4) . ,(ly:make-moment 7 8))

saying that any tuplet with a duration shorter then 1/9, i.e. strictly shorter than 1/8
should be beamed on every beat. For example
c8 c \times 4/5 { c8 c c c c } c8 c
would give
c8[ c] \times 4/5 { c8[ c c c c] } c8[ c]


Can anybody think of a typesetting situation where these kind of rules wouldn't work, i.e. where notes with shorter durations should result in longer beams than
notes with some other longer duration?

/Mats

--
=============================================
Mats Bengtsson
Signal Processing
School of Electrical Engineering
Royal Institute of Technology (KTH)
SE-100 44  STOCKHOLM
Sweden
Phone: (+46) 8 790 8463
Fax:   (+46) 8 790 7260